%!PS-Adobe-3.0 EPSF-3.0 http://130.149.60.45/~farbmetrik/DG41/DG41L00XX.PS 20180701 %%BoundingBox: 14 08 828 584 /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: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018070112000) /ModDate (D:20180701112000) /DOCINFO pdfmark [ /View [ /Fit ] /DOCVIEW pdfmark /sfgray {setgray} bind def %Early Frame File (f) definition /sfrgbcolor {setrgbcolor} bind def /sfcmykcolor {setcmykcolor} bind def %line 20****************************************************** %BEG DG41/OUTLIN10.PS Output Linearization (OL) olv*->olv'* 20110301 %Early Binding: needed for colour separation %/sgcmykcolor {setcmykcolor} bind def %/sggray {setgray} bind def %/sgrgbcolor {setrgbcolor} bind def %FILE PREPARED FOR MIXED MODE, e. g. input ORS18 and output TLS00 /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 %/ISIN*ioG 0 def %default input for Offset Reflective System (ORS18/FRS09) %/ISOU*ioG 0 def %default output dto. /ISIN*ioG 1 def %input for Television Luminous System (TLS00) /ISOU*ioG 1 def %output dto. %/ISIN*ioG 2 def %input for Device Reflective measurement system (FRS09) %/ISOU*ioG 2 def %output dto. %/ISIN*ioG 3 def %input for Television Luminous Reflection System (TLS18) %/ISOU*ioG 3 def %output dto. %/ISIN*ioG 4 def %input for Natural Luminous System (NLS00) %/ISOU*ioG 4 def %output dto. %/ISIN*ioG 5 def %input for Natural Reflective System (NRS11) %/ISOU*ioG 5 def %output dto. %/ISIN*ioG 6 def %input for Standard Reflective System (CIE18) %/ISOU*ioG 6 def %output dto. %/ISIN*ioG 7 def %input for Standard Reflective System (TLS70) %/ISOU*ioG 7 def %output dto. /iLAB 0 def %/colormg 0 def %END DG41/OUTLIN10.PS Output Linearization (OL) olv*->olv'* 20110301 %BEG DG41/OUTLIN1X.PS 20110801 %EMPTY %END DG41/OUTLIN1X.PS 20110801 %BEG DG41/OUTLIN1Y2.PS Emty 20101101 %END DG41/OUTLIN1Y2.PS Emty 20101101 /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 % End for EPS file 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 /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 %%EndProlog %*********************************************************** %%BeginPageSetup /#copies 1 def %A4querF 1.0 1.0 scale /pgsave save def %%EndPageSetup /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$ [(A.TXT /.PS) (B.BMP /.PS) (G.GIF /.PS) (H.HTM /.PS) (I.HTM /.PS) (J.JPE /.PS) (P.PDF /.PS) (T.TIF /.PS)] def /EY$ [(A.DAT) (B.DAT) (G.DAT) (H.DAT) (I.DAT) (J.DAT) (P.DAT) (T.DAT)] def %******************************************************************* /lanind1f 00 def /lanind2f 00 def /laninddf 00 def /colorm1f 00 def /colorm2f 00 def /colormdf 01 def /deintp1f 00 def /deintp2f 00 def /deintpdf 01 def /xcolor1f 00 def /xcolor2f 00 def /xcolordf 01 def %2 and 10 degree /xchart1f 00 def /xchart2f 00 def /xchartdf 01 def /xchart3f 01 def /xchart4f 00 def /xchart5f 00 def /pchart1f 03 def /pchart2f 03 def /pchartdf 01 def %=3 for sRGB, Lr=0 /colsep1f 00 def /colsep2f 00 def /colsepdf 01 def /pmetam1f 00 def /pmetam2f 00 def /pmetamdf 01 def %/lanindf lanind1f def % /lanindf lanind1f def %lanind1f laninddf lanind2f {/lanindf exch def %/colormf colorm1f def % /colormf colorm1f def %colorm1f colormdf colorm2f {/colormf exch def %/deintpf deintp1f def % /deintpf deintp1f def %deintp1f deintpdf deintp2f {/deintpf exch def %/xcolorf xcolor1f def % xcolor1f xcolordf xcolor2f {/xcolorf exch def %/xchartf xchart1f def % /xchartf xchart1f def %xchart1f xchartdf xchart2f {/xchartf exch def %/pchartf pchart1f def % /pchartf pchart1f def %/pchartf pchart1f def %pchart1f pchartdf pchart2f {/pchartf exch def %/colsepf colsep1f def % /colsepf colsep1f def %colsep1f colsepdf colsep2f {/colsepf exch def /lanind lanindf def /colorm colormf def /deintp deintpf def /xcolor xcolorf def /xchart xchartf def /xchartm xchart2f xchart1f sub 1 add def /xchart3 xchart3f def /xchart4 xchart4f def /pchart pchartf def /colsep colsepf def %/pmetamf pmetam1f def % /pmetamf pmetam1f def %pmetam1f pmetamdf pmetam2f {/pmetamf exch def /pmetam pmetamf def %************************************************************* /setgray {sfgray} bind def /setrgbcolor {sfrgbcolor} bind def /setcmykcolor {sfcmykcolor} bind def %72 90 translate %0.01 MM dup scale %0 0 moveto 24600 0 rlineto 0 17220 rlineto % -24600 0 rlineto closepath stroke %000 -240 moveto %240 /Times-ISOL1 FS %lanindf cvishow (-) show %colormf cvishow %deintpf cvishow %xcolorf cvishow %xchartf cvishow %pchartf cvishow %colsepf cvishow (-F) show pmetamf cvishow %grestore gsave /GSS$ SS$ lanind get def /GSC$ SC$ colorm get def /GSX$ SX$ xcolor xcolor 16 idiv 16 mul sub get def /GSY$ SY$ xchart xchart 16 idiv 16 mul sub get def /GEX$ EX$ 6 get def /GEY$ EY$ 6 get def %01 %02 %03 %04 %05 %06 %07 %08 %09 %10 %11 %12 %13 %14 %15 %16 %17 %18 %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 DG410-1N %%BoundingBox: 70 83 226 206 %START PDFDE011.EPS /pdfmark01 where {pop} {userdict /pdfmark01 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark01 [ /View [ /Fit ] /DOCVIEW pdfmark01 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {320 /Times-ISOL1 FS} bind def /TM {270 /Times-ISOL1 FS} bind def /TK {200 /Times-ISOL1 FS} bind def /TS {170 /Times-ISOL1 FS} bind def /TL {130 /Times-ISOL1 FS} bind def /TLL {100 /Times-ISOL1 FS} bind def /TIG {320 /TimesI-ISOL1 FS} bind def /TIM {270 /TimesI-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIS {170 /TimesI-ISOL1 FS} bind def /TIL {130 /TimesI-ISOL1 FS} bind def /TBG {320 /TimesB-ISOL1 FS} bind def /TBM {270 /TimesB-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBS {170 /TimesB-ISOL1 FS} bind def /TBL {130 /TimesB-ISOL1 FS} bind def /TBIG {320 /TimesBI-ISOL1 FS} bind def /TBIM {270 /TimesBI-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIS {170 /TimesBI-ISOL1 FS} bind def /TBIL {130 /TimesBI-ISOL1 FS} bind def /SG {320 /Symbol FS} bind def /SM {270 /Symbol FS} bind def /SK {200 /Symbol FS} bind def /SS {170 /Symbol FS} bind def /SL {130 /Symbol FS} bind def /CBG {320 /CourierB-ISOL1 FS} bind def /CBM {270 /CourierB-ISOL1 FS} bind def /CBK {200 /CourierB-ISOL1 FS} bind def /CBS {170 /CourierB-ISOL1 FS} bind def /CBL {130 /CourierB-ISOL1 FS} bind def %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintP2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 1 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colseP2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /xchart8 1 def % %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def %allways 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %calculation of transformation data /FARBE 33 array def /FARBE [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 470_570) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 570_470) %05 (G) (o) ( 520_570) %06 (R) (o) ( 570_780) %07 (N) (0) ( 380_770) %08 (W) (0) ( 380_770) %09 (W) (1) ( 380_770) %10 ] def %/FARBE [(R) (m) ( 565_770) %00 % (Y) (m) ( 495_770) %01 % (G) (m) ( 475_575) %02 % (C) (m) ( 380_565) %03 % (B) (m) ( 380_495) %04 % (M) (m) ( 575_475) %05 % (N) (0) ( 380_770) %06 % (W) (0) ( 380_770) %07 % (W) (1) ( 380_770) %08 % ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 800 array def %10x80 /RX0 [ %(%Ro 00 570_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Ym 01 520_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Gm 02 470_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Cm 03 380_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Bm 04 380_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Mm 05 570_470) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Go 06 520_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%N0(r=0,001) 07 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %(%W1(r=1,000) 08 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%W1(r=1,000) 09 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 ] def %************************************************** /proc_ALLi_def {%BEG proc_ALLi_def ij=ix-2 0 1 ij {/i exch def %i=0,ij kx 1 eq {Xxi i X1i i get put Yxi i Y1i i get put Zxi i Z1i i get put Axi i A1i i get put Bxi i B1i i get put L*xi i L*1i i get put a*xi i a*1i i get put b*xi i b*1i i get put AANxi i AAN1i i get put BANxi i BAN1i i get put CANxi i CAN1i i get put idxi i id1i i get put wdxi i wd1i i get put hABxi i hAB1i i get put h*abxi i h*ab1i i get put } if kx 2 eq {Xxi i X2i i get put Yxi i Y2i i get put Zxi i Z2i i get put Axi i A2i i get put Bxi i B2i i get put L*xi i L*2i i get put a*xi i a*2i i get put b*xi i b*2i i get put AANxi i AAN2i i get put BANxi i BAN2i i get put CANxi i CAN2i i get put idxi i id2i i get put wdxi i wd2i i get put hABxi i hAB2i i get put h*abxi i h*ab2i i get put } if kx 3 eq {Xxi i X3i i get put Yxi i Y3i i get put Zxi i Z3i i get put Axi i A3i i get put Bxi i B3i i get put L*xi i L*3i i get put a*xi i a*3i i get put b*xi i b*3i i get put AANxi i AAN3i i get put BANxi i BAN3i i get put CANxi i CAN3i i get put idxi i id3i i get put wdxi i wd3i i get put hABxi i hAB3i i get put h*abxi i h*ab3i i get put } if kx 4 eq {Xxi i X4i i get put Yxi i Y4i i get put Zxi i Z4i i get put Axi i A4i i get put Bxi i B4i i get put L*xi i L*4i i get put a*xi i a*4i i get put b*xi i b*4i i get put AANxi i AAN4i i get put BANxi i BAN4i i get put CANxi i CAN4i i get put idxi i id4i i get put wdxi i wd4i i get put hABxi i hAB4i i get put h*abxi i h*ab4i i get put } if } for %i=1,ij } bind def %END proc_ALLi_def %*********************************************************** /proc_ALLi_ALLin {%BEG proc_ALLi_ALLin %new order from front, new data amount ix=ij+2 hABxin 0 hABxi imin get 360 xpn 0 eq {add}{sub} ifelse put %351-360=-9 h*abxin 0 h*abxi imin get 360 xpn 0 eq {add}{sub} ifelse put wdxin 0 wdxi imin get xpn 0 eq {400 sub 769 add}{769 sub 400 add} ifelse put %769=700+564-495 Xxin 0 Xxi imin get put Yxin 0 Yxi imin get put Zxin 0 Zxi imin get put Axin 0 Axi imin get put Bxin 0 Bxi imin get put L*xin 0 L*xi imin get put a*xin 0 a*xi imin get put b*xin 0 b*xi imin get put AANxin 0 AANxi imin get put BANxin 0 BANxi imin get put CANxin 0 CANxi imin get put idxin 0 idxi imin get put imin1 1 ij {/i exch def %32_57 old, imin=31(h=38) imin1=32 /in i imin1 sub 1 add def %i=32_57-32+1=01_26 new hABxin in hABxi i get put %in=1,26=26 values h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for 0 1 imin {/i exch def %0-31 old /in ij imin sub i add 1 add def %in=57-31+i+1=26+i+1=26+31+1 hABxin in hABxi i get put h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for hABxin ix hABxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put %2.4+360 h*abxin ix h*abxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put wdxin ix wdxi imin1 get xpn 0 eq {769 sub 400 add}{400 sub 769 add} ifelse put %769=700+564-495 Xxin ix Xxi imin1 get put Yxin ix Yxi imin1 get put Zxin ix Zxi imin1 get put Axin ix Axi imin1 get put Bxin ix Bxi imin1 get put L*xin ix L*xi imin1 get put a*xin ix a*xi imin1 get put b*xin ix b*xi imin1 get put AANxin ix AANxi imin1 get put BANxin ix BANxi imin1 get put CANxin ix CANxi imin1 get put idxin ix idxi imin1 get put } bind def %END proc_ALLi_ALLin %******************************************************** /proc_hAB_min {%BEG proc_hAB_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 hABxi i get hABxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 hABxi i get hABxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (hABxi=) show hABxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (hABxi1=) show hABxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_hAB_min %******************************************************** /proc_h*ab_min {%BEG proc_h*ab_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 h*abxi i get h*abxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 h*abxi i get h*abxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (h*abxi=) show h*abxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (h*abxi1=) show h*abxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_h*ab_min %******************************************************** /proc_iwd_min {%BEG proc_iwd_min 1 1 ij {/i exch def %i=1,ij idxi i get -1 eq {wdxi i wdxi i get 495 sub 700 add put} if } for %i=1,ij 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 idxi i get 0 gt idxi i 1 add get -1 eq and {/imin i def exit} if }%xpn=0 {%xpn=1 idxi i get -1 eq idxi i 1 add get 0 gt and {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (iwdxi=) show idxi imin get cvishow (, ) show wdxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (iwdxi1=) show idxi imin1 get cvishow (, ) show wdxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_iwd_min %******************************************************** /proc_hAB_tab {%BEG proc_hAB_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxin i get cvsshow1 } for %i=1,ix newpath 180 faktx mul 00 fakty mul 40 0 360 arc fill 180 faktx mul 20 fakty mul 40 0 360 arc fill 180 faktx mul 40 fakty mul 40 0 360 arc fill 0 faktx mul -20 fakty mul 40 0 360 arc fill 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_hAB_tab %******************************************************** /proc_h*ab_tab {%BEG proc_h*ab_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxin i get cvsshow1 } for %i=1,ix %newpath %180 faktx mul 00 fakty mul 40 0 360 arc fill %180 faktx mul 20 fakty mul 40 0 360 arc fill %180 faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_h*ab_tab %******************************************************** /proc_iwd_tab {%BEG proc_iwd_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxi i get cvishow (, ) show wdxi i get cvishow } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxin i get cvishow (, ) show wdxin i get cvishow } for %i=1,ix %newpath %700 400 sub faktx mul 00 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 20 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_iwd_tab %********************************************************** /proc_hABw_XYZ_cur2 {%BEG proc_hABw_XYZ_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %X 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Xxin i get} {100 Xxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %Z 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Zxin i get} {100 Zxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_XYZ_cur2 %******************************************************** /proc_hABw_ABCY_cur2 {%BEG proc_hABw_ABCY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %A 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %B 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Bxin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %CAB 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get dup mul Bxin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_ABCY_cur2 %******************************************************** /proc_hABw_LabC*_cur2 {%BEG proc_hABw_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_LabC*_cur2 %******************************************************** /proc_h*ab_LabC*_cur2 {%BEG proc_h*ab_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_h*ab_LabC*_cur2 %******************************************************** /proc_wd_abcY_cur2 {%BEG proc_wd_abcY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul BANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get dup mul BANxin i get dup mul add 0.0001 add sqrt faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_wd_abcY_cur2 %************************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************** /tab_Ocolors2 64 array def %8*8 /tab_Ocolors2 %BEG tab_Ocolors2 [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 14 0.0 1.0 0.0 0100 -0050 (G) (O) 17 0.8 1.0 0.0 -0100 0100 (Y) (x) 23 1.0 1.0 0.0 -0100 0100 (Y) (O) 00 1.0 0.0 0.0 -0100 0100 (R) (O) 14 1.0 0.0 1.0 -0350 -0100 (M) (O) 17 0.2 0.0 1.0 -0100 -0250 (V) (n) 23 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors2 %********************************************************** /proc_tab_Ocolors2 {%BEG proc_tab_Ocolors2 %tab_Ocolors2 64 array def %8*8 defined before 0 1 7 {/iO exch def %iO=0,7 /i0 iO 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors2 i0 get def tab_Ocolors2 i1 get tab_Ocolors2 i2 get tab_Ocolors2 i3 get setrgbcolor /AnY0 xhh*w 0 eq {iO 3 le {hAB1i k get} {hAB2i k get} ifelse} if xhh*w 1 eq {iO 3 le {h*ab1i k get} {h*ab2i k get} ifelse} if xhh*w 2 eq {iO 3 le {wd1i k get iO 1 eq {/AnY01 wd1i k get def} if} {wd2i k get iO 5 eq {205 add} if} ifelse} if def /AnY AnY0 xhh*w 2 eq {400 sub} if faktx mul def /BnY0 yYLC 0 eq {iO 3 le {Y1i} {Y2i} ifelse k get} if yYLC 1 eq {iO 3 le {L*1i} {L*2i} ifelse k get} if %3 mul with AB and ab* yYLC 2 eq {iO 3 le {A1i k get dup mul B1i k get dup mul add} {A2i k get dup mul B2i k get dup mul add} ifelse 0.0001 add sqrt } if yYLC 3 eq {iO 3 le {a*1i k get dup mul b*1i k get dup mul add} {a*2i k get dup mul b*2i k get dup mul add} ifelse 0.0001 add sqrt } if def /BnY BnY0 yYLC 1 eq {3 mul} if fakty mul yshift add def AnY BnY 90 0 360 arc fill 0 0 0 setrgbcolor iO 3 gt {[100] 100 setdash} {[ ] 0 setdash} ifelse AnY BnY 90 0 360 arc stroke [ ] 0 setdash newpath AnY 80 add BnY 50 add moveto TBIL AnY0 cvishow (, ) show BnY0 cvishow xhh*w 2 eq iO 5 eq and {AnY 80 add BnY 150 sub moveto AnY01 cvishow (c) show } if newpath } for %iO=0,7 } bind def %END proc_tab_Ocolors2 %**************************************************** /xcolorl xcolor def %0 1 0 {/xcolorl exch def %xcolorl=0,0 %gsave xcolorl 1 eq {0 1 79 {/i exch def %i=0,79 F2 i F10 i get put } for %i=0,79 } if /KN 0 def %for KN=normalization 1 %/KN 1 def %for KN=normalization 0,886 /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /FAD 63 array def /FBD 63 array def /FCD 63 array def /xdel 1005 def %/ydel 393 def %/ydel 275 def /ydel 175 def /x0 050 def /x1 -150 def /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin. /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /X1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1i 99 array def /Z1i 99 array def /hxy1i 99 array def /XAN1i 99 array def /YAN1i 99 array def /ZAN1i 99 array def /A1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1i 99 array def /CAB1i 99 array def /hAB1i 99 array def /AAN1i 99 array def /BAN1i 99 array def /CAN1i 99 array def /L*1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1i 99 array def /b*1i 99 array def /C*ab1i 99 array def /h*ab1i 99 array def /a'1i 99 array def /b'1i 99 array def /c'1i 99 array def /i11i 99 array def /i21i 99 array def /id1i 99 array def /ic1i 99 array def /w11i 99 array def /w21i 99 array def /w1c1i 99 array def /w2c1i 99 array def /wd1i 99 array def /wc1i 99 array def /wdc1i 99 array def /wcc1i 99 array def /X1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1in 99 array def /Z1in 99 array def /hxy1in 99 array def /XAN1in 99 array def /YAN1in 99 array def /ZAN1in 99 array def /A1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1in 99 array def /CAB1in 99 array def /hAB1in 99 array def /AAN1in 99 array def /BAN1in 99 array def /CAN1in 99 array def /L*1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1in 99 array def /b*1in 99 array def /C*ab1in 99 array def /h*ab1in 99 array def /a'1in 99 array def /b'1in 99 array def /c'1in 99 array def /i11in 99 array def /i21in 99 array def /id1in 99 array def /ic1in 99 array def /w11in 99 array def /w21in 99 array def /w1c1in 99 array def /w2c1in 99 array def /wd1in 99 array def /wc1in 99 array def /wdc1in 99 array def /wcc1in 99 array def /X2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2i 99 array def /Z2i 99 array def /hxy2i 99 array def /XAN2i 99 array def /YAN2i 99 array def /ZAN2i 99 array def /A2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2i 99 array def /CAB2i 99 array def /hAB2i 99 array def /AAN2i 99 array def /BAN2i 99 array def /CAN2i 99 array def /L*2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2i 99 array def /b*2i 99 array def /C*ab2i 99 array def /h*ab2i 99 array def /a'2i 99 array def /b'2i 99 array def /c'2i 99 array def /i12i 99 array def /i22i 99 array def /id2i 99 array def /ic2i 99 array def /w12i 99 array def /w22i 99 array def /w1c2i 99 array def /w2c2i 99 array def /wd2i 99 array def /wc2i 99 array def /wdc2i 99 array def /wcc2i 99 array def /X2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2in 99 array def /Z2in 99 array def /hxy2in 99 array def /XAN2in 99 array def /YAN2in 99 array def /ZAN2in 99 array def /A2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2in 99 array def /CAB2in 99 array def /hAB2in 99 array def /AAN2in 99 array def /BAN2in 99 array def /CAN2in 99 array def /L*2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2in 99 array def /b*2in 99 array def /C*ab2in 99 array def /h*ab2in 99 array def /a'2in 99 array def /b'2in 99 array def /c'2in 99 array def /i12in 99 array def /i22in 99 array def /id2in 99 array def /ic2in 99 array def /w12in 99 array def /w22in 99 array def /w1c2in 99 array def /w2c2in 99 array def /wd2in 99 array def /wc2in 99 array def /wdc2in 99 array def /wcc2in 99 array def /X3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y3i 99 array def /Z3i 99 array def /hxy3i 99 array def /XAN3i 99 array def /YAN3i 99 array def /ZAN3i 99 array def /A3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B3i 99 array def /CAB3i 99 array def /hAB3i 99 array def /AAN3i 99 array def /BAN3i 99 array def /CAN3i 99 array def /L*3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*3i 99 array def /b*3i 99 array def /C*ab3i 99 array def /h*ab3i 99 array def /a'3i 99 array def /b'3i 99 array def /c'3i 99 array def /i13i 99 array def /i23i 99 array def /id3i 99 array def /ic3i 99 array def /w13i 99 array def /w23i 99 array def /w1c3i 99 array def /w2c3i 99 array def /wd3i 99 array def /wc3i 99 array def /wdc3i 99 array def /wcc3i 99 array def /X3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y3in 99 array def /Z3in 99 array def /hxy3in 99 array def /XAN3in 99 array def /YAN3in 99 array def /ZAN3in 99 array def /A3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B3in 99 array def /CAB3in 99 array def /hAB3in 99 array def /AAN3in 99 array def /BAN3in 99 array def /CAN3in 99 array def /L*3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*3in 99 array def /b*3in 99 array def /C*ab3in 99 array def /h*ab3in 99 array def /a'3in 99 array def /b'3in 99 array def /c'3in 99 array def /i13in 99 array def /i23in 99 array def /id3in 99 array def /ic3in 99 array def /w13in 99 array def /w23in 99 array def /w1c3in 99 array def /w2c3in 99 array def /wd3in 99 array def /wc3in 99 array def /wdc3in 99 array def /wcc3in 99 array def /X4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y4i 99 array def /Z4i 99 array def /hxy4i 99 array def /XAN4i 99 array def /YAN4i 99 array def /ZAN4i 99 array def /A4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B4i 99 array def /CAB4i 99 array def /hAB4i 99 array def /AAN4i 99 array def /BAN4i 99 array def /CAN4i 99 array def /L*4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*4i 99 array def /b*4i 99 array def /C*ab4i 99 array def /h*ab4i 99 array def /a'4i 99 array def /b'4i 99 array def /c'4i 99 array def /i14i 99 array def /i24i 99 array def /id4i 99 array def /ic4i 99 array def /w14i 99 array def /w24i 99 array def /w1c4i 99 array def /w2c4i 99 array def /wd4i 99 array def /wc4i 99 array def /wdc4i 99 array def /wcc4i 99 array def /X4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y4in 99 array def /Z4in 99 array def /hxy4in 99 array def /XAN4in 99 array def /YAN4in 99 array def /ZAN4in 99 array def /A4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B4in 99 array def /CAB4in 99 array def /hAB4in 99 array def /AAN4in 99 array def /BAN4in 99 array def /CAN4in 99 array def /L*4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*4in 99 array def /b*4in 99 array def /C*ab4in 99 array def /h*ab4in 99 array def /a'4in 99 array def /b'4in 99 array def /c'4in 99 array def /i14in 99 array def /i24in 99 array def /id4in 99 array def /ic4in 99 array def /w14in 99 array def /w24in 99 array def /w1c4in 99 array def /w2c4in 99 array def /wd4in 99 array def /wc4in 99 array def /wdc4in 99 array def /wcc4in 99 array def %actual possible data (x=1,2,3,4) /Xxi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxi 99 array def /Zxi 99 array def /hxyxi 99 array def /XANxi 99 array def /YANxi 99 array def /ZANxi 99 array def /Axi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxi 99 array def /CABxi 99 array def /hABxi 99 array def /AANxi 99 array def /BANxi 99 array def /CANxi 99 array def /L*xi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xi 99 array def /b*xi 99 array def /C*abxi 99 array def /h*abxi 99 array def /a'xi 99 array def /b'xi 99 array def /c'xi 99 array def /i1xi 99 array def /i2xi 99 array def /idxi 99 array def /icxi 99 array def /w1xi 99 array def /w2xi 99 array def /w1cxi 99 array def /w2cxi 99 array def /wdxi 99 array def /wcxi 99 array def /wdcxi 99 array def /wccxi 99 array def /Xxin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxin 99 array def /Zxin 99 array def /hxyxin 99 array def /XANxin 99 array def /YANxin 99 array def /ZANxin 99 array def /Axin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxin 99 array def /CABxin 99 array def /hABxin 99 array def /AANxin 99 array def /BANxin 99 array def /CANxin 99 array def /L*xin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xin 99 array def /b*xin 99 array def /C*abxin 99 array def /h*abxin 99 array def /a'xin 99 array def /b'xin 99 array def /c'xin 99 array def /i1xin 99 array def /i2xin 99 array def /idxin 99 array def /icxin 99 array def /w1xin 99 array def /w2xin 99 array def /w1cxin 99 array def /w2cxin 99 array def /wdxin 99 array def /wcxin 99 array def /wdcxin 99 array def /wccxin 99 array def 0 1 98 {/i exch def wd3i i 0 put id3i i 0 put } for /FARBEda 79 array def /FARBEca 79 array def /FARBEd 79 array def /FARBEc 79 array def FARBEda 00 (Cm=380_561) put FARBEca 00 (Rm=561_770) put FARBEd 00 (C) put FARBEc 00 (R) put FARBEda 13 (Gm=470_570) put FARBEca 13 (Mm=570_470) put FARBEd 13 (G) put FARBEc 13 (M) put FARBEda 23 (Ym=520_770) put FARBEca 23 (Bm=380_520) put FARBEd 23 (Y) put FARBEc 23 (B) put FARBEda 18 (Ym=495_770) put FARBEca 18 (Bm=380_495) put FARBEd 18 (Y) put FARBEc 18 (B) put /xchart4 1 def %xchart4=0 to 7 for 8 pictures %0 1 7 {/xchart4 exch def %xchart4=0,7 %gsave /xchart14 1 def %for a=x/y (0) and a=(x-0.171)/y (1) /xchartl xchart def 0 1 0 {/xchartl exch def %xchartl=0,7 gsave /iacol 23 def 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def 75 85 moveto lanind cvishow (-) show colorm cvishow deintp cvishow xcolorl cvishow xchart cvishow pchart cvishow colsep cvishow (-L) show pmetam cvishow 5 /Times-ISOL1 FS 185 85 moveto (DG410-1N) show %xchart 0 ge {(A) show} if %(_) show xchart4 1 add cvishow %(_) show xchartl 1 add cvishow 72 90 translate 0.010 MM dup scale 20 setlinewidth 0 0 1 0 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath fill 0 0 0 1 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath stroke %calculation of XW,YW,ZW for illuminant %D65, D50, P40, A00, E00, C00, P00, Q00 %P60, P55, P50, P45, P40, P35, P30, P25 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartl 0 eq {SX00 i SP60 i get put} if xchartl 1 eq {SX01 i SP55 i get put} if xchartl 2 eq {SX02 i SP50 i get put} if xchartl 3 eq {SX03 i SP45 i get put} if xchartl 4 eq {SX04 i SP40 i get put} if xchartl 5 eq {SX05 i SP35 i get put} if xchartl 6 eq {SX06 i SP30 i get put} if xchartl 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartl 0 eq {SX00 i SD65 i get put} if xchartl 1 eq {SX01 i SD50 i get put} if xchartl 2 eq {SX02 i SP40 i get put} if xchartl 3 eq {SX03 i SA00 i get put} if xchartl 4 eq {SX04 i SE00 i get put} if xchartl 5 eq {SX05 i SC00 i get put} if xchartl 6 eq {SX06 i SP00 i get put} if xchartl 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 %calculation of XW,YW,ZW for illuminant Pxx, Dxx 0 1 79 {/i exch def %i=0,79 SDAK i xchartl 0 eq {SX00 i get} if xchartl 1 eq {SX01 i get} if xchartl 2 eq {SX02 i get} if xchartl 3 eq {SX03 i get} if xchartl 4 eq {SX04 i get} if xchartl 5 eq {SX05 i get} if xchartl 6 eq {SX06 i get} if xchartl 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 0 1 1 {/Icom exch def %Icom=0,1 only for part 1 Icom 0 eq {/xpos 100 def /xpos1 12100 def} {%/xpos 12100 def /xpos 100 def /xpos1 100 def} ifelse %/ymax 3700 def /ymax 3820 def TBS xpos 50 sub ymax ydel 0 mul sub moveto (CIE\255) show TELi xchartl get show (\255Daten von ) showde ( data of ) showea TBIS (\255Ostwald) showde ( Ostwald) showea TBS (\255Farben von maximalem Buntwert) showde ( colours of maximum chromatic value) showea TBIS ( C) show TBL 0 -60 rmoveto (AB) show 0 60 rmoveto xpos 50 sub ymax ydel 1 mul sub moveto TBIS (Y) show TBL 0 -60 rmoveto (w) show xcolorl 1 eq {(,10) show} if 0 60 rmoveto TBS KN 0 eq {(=100) show}{(=88,6) show} ifelse TBS (, ) show FARBEda iacol get show TBS (, ) show FARBEca iacol get show /icurm 1 def %0:dominant, 1:and complimentary colours %icurm=1: 1\255minus data (icurm=1) /iout0x 1 def %coordinate system /iout1x 1 def %iout1x=1:Ostwald colours 1 with procedures _cur2 %dominant (icurm=0) and complementary (icurm=1) /iout2x 0 def %iout2x=1:Ostwald colours 2 with procedures _cur2 /iout3x 0 def %sRGB colours, iout3x=1:sRGB data icurm 1 eq {%icurm=1 TBS (, and ) showea ( und ) showde (1\255minus data ( - -)) showea (1\255Minus\255Daten ( - -)) showde } if %icurm=1 iout2x 1 eq {%iout2x=1 TBS (, 2 calculation methods) showea (, 2 Berechnungsmethoden) showde } if %iout2x=1 iout3x 1 eq {%iout3x=1 TBS (, and ) showea ( und ) showde TBIS (sRGB) show TBS ( data ( - -)) showea (\255Daten ( - -)) showde } if %iout3x=1 %********************************************************* /WEL1 120 array def %irregular or regular definition /WEL2 120 array def %irregular or regular definition %0 1 2 3 4 5 6 7 8 9 /WEL1 [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def /WEL1 [405 410 415 420 425 430 435 440 445 450 455 460 465 470 475 480 485 490 495 500 505 510 515 520 525 530 535 540 545 550 555 560 565 570 575 580 585 590 595 600 605 610 615 620 625 630 635 640 645 650 655 660 665 670 675 680 685 690 695 700 ] def 0 1 57 {/k exch def %k=0,57 %wavelength 405..700nm /j WEL1 k get 400 sub 5 idiv def /FF1 FXD j get def %start at 405..700nm /FF2 FYD j get def /FF3 FZD j get def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0 i11i k INP put i21i k IPN put } { i12i k IPN put i22i k INP put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* Icom 0 eq {%Icom=0 INP 0 ge {%INP>=0 % xpos xdel 0 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow %includes rounding failure w11i k DOWXIE1 0.03 add cvi put w1c1i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow w21i k DOWXIE2 0.03 add cvi put w2c1i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show w21i k DOWXIE1 0.03 add cvi put w2c1i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 }%Icom=0 {%Icom=1 INP 0 ge {%INP>=0 % xpos xdel 1 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 0.03 add cvishow w22i k DOWXIE1 0.03 add cvi put w2c2i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE2 0.03 add cvishow w12i k DOWXIE2 0.03 add cvi put w1c2i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 cvishow (c) show w12i k DOWXIE1 0.03 add cvi put w1c2i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 } ifelse %Icom=0,1 0 0 0 1 setcmyk_olvcolor %********************************************************* 0 1 79 {/i exch def %i=0,79 RA i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RA i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RA i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RA i1 0.5 put RA i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /X 0 def /Y 0 def /Z 0 def 0 1 079 {/i exch def %i=0,79 /X X F2N 00 i add get RA i get mul add def /Y Y F2N 80 i add get RA i get mul add def /Z Z F2N 160 i add get RA i get mul add def } for %i=0,79 KN 1 eq {%KN=1 /faktn 0.8859 def /X X faktn mul def /Y Y faktn mul def /Z Z faktn mul def % /faktw 0.025 faktn div def %approximately 2,8% % /Xc XW X sub def %c=antichromatic % /Yc YW Y sub def % /Zc ZW Z sub def % /X X Xc faktw mul add faktn mul def % /Y Y Yc faktw mul add faktn mul def % /Z Z Zc faktw mul add faktn mul def } if %KN=1 /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def %************************************************* Icom 1 eq {%Icom=1 /X XW X sub def /Y YW Y sub def /Z ZW Z sub def /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def } if %Icom=1 /hxy YAN YANW sub XAN XANW sub 0.0001 add atan def Icom 0 eq {%Icom=0,1 X1i k X put Y1i k Y put Z1i k Z put %hxy1i k hxy put XAN1i k XAN put YAN1i k YAN put ZAN1i k ZAN put }%Icom=0 {%Icom=1 X2i k X put Y2i k Y put Z2i k Z put %hxy2i k hxy put XAN2i k XAN put YAN2i k YAN put ZAN2i k ZAN put } ifelse %Icom=0,1 xchart14 0 eq {%xchart14=0 /AAN X Y 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AAN XAN 0.171 sub YAN 0.0001 add div def } if %xchart14=1 /BAN Z Y 0.0001 add div 0.4 mul neg def /CAN AAN AANW sub dup mul BAN BANW sub dup mul add 0.0001 add sqrt def /A AAN AANW sub Y mul def /B BAN BANW sub Y mul def /CAB A dup mul B dup mul add 0.0001 add sqrt def /hAB B A 0.0001 add atan def Icom 0 eq {%Icom=0,1 Y1i k Y put A1i k A put B1i k B put CAB1i k CAB put hAB1i k hAB put AAN1i k AAN put BAN1i k BAN put CAN1i k CAN put }%Icom=0 {%Icom=1 Y2i k Y put A2i k A put B2i k B put CAB2i k CAB put hAB2i k hAB put AAN2i k AAN put BAN2i k BAN put CAN2i k CAN put } ifelse %Icom=0,1 /D13 1 3 div def /D841_108 841 108 div def /D16_116 16 116 div def /D24_116 24 116 div 3 exp def X XW div D24_116 gt {/FXXN X XW div 0.0001 add D13 exp def} {/FXXN D841_108 X XW div mul D16_116 add def} ifelse Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def} {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse Z ZW div D24_116 gt {/FZZN Z ZW div 0.0001 add D13 exp def} {/FZZN D841_108 Z YW div mul D16_116 add def} ifelse /L* 116. FYYN mul 16. sub def /a* 500. FXXN FYYN sub mul def /b* 200. FYYN FZZN sub mul def /C*ab a* dup mul b* dup mul add 0.5 exp def /h*ab b* a* 0.000001 add atan def /a' X Y 0.0001 add div D13 exp 0.2191 mul def /b' Z Y 0.0001 add div D13 exp -0.08376 mul def /c' a' dup mul b' dup mul add 0.0001 add sqrt def Icom 0 eq {%Icom=0,1 L*1i k L* put a*1i k a* put b*1i k b* put C*ab1i k C*ab put h*ab1i k h*ab put a'1i k a' put b'1i k b' put c'1i k c' put }%Icom=0 {%Icom=1 L*2i k L* put a*2i k a* put b*2i k b* put C*ab2i k C*ab put h*ab2i k h*ab put a'2i k a' put b'2i k b' put c'2i k c' put } ifelse %Icom=0,1 %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 X def /FF2 Y def /FF3 Z def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0,1 id1i k INP put ic1i k IPN put }%Icom=0 {%Icom=1 id2i k INP put ic2i k IPN put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def } if %kNP>=0 %********************************************************* %0 1 1 0 setcmyk_olvcolor INP 0 ge {%INP>=0,-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow Icom 0 eq {%Icom=0,1 wd1i k DOWXIE1 0.03 add cvi put wdc1i k () put }%Icom=0 {%Icom=1 wd2i k DOWXIE1 0.03 add cvi put wdc2i k () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wd1i k DOWXIE2 0.03 add cvi put wdc1i k (c) put }%Icom=0 {%Icom=1 wd2i k DOWXIE2 0.03 add cvi put wdc2i k (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 %1 0 1 0 setcmyk_olvcolor IPN 0 ge {%IPN>=0,-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow Icom 0 eq {%Icom=0,1 wc1i k DOWXIE2 0.03 add cvi put wcc1i k () put }%Icom=0 {%Icom=1 wc2i k DOWXIE2 0.03 add cvi put wcc2i k () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wc1i k DOWXIE1 0.03 add cvi put wcc1i k (c) put }%Icom=0 {%Icom=1 wc2i k DOWXIE1 0.03 add cvi put wcc2i k (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 0 0 0 1 setcmyk_olvcolor } for %k=0,57 } for %Icom=0,1 only for part 1 %************************************************************* /RGB*16 16 array def /RGB*16 [(1.00 0.00 0.00) (1.00 0.25 0.00) (1.00 0.50 0.00) (1.00 0.75 0.00) (1.00 1.00 0.00) (0.75 1.00 0.00) (0.50 1.00 0.00) (0.25 1.00 0.00) (0.00 1.00 0.00) (0.00 1.00 0.50) (0.00 1.00 1.00) (0.00 0.50 1.00) (0.00 0.00 1.00) (0.50 0.00 1.00) (1.00 0.00 1.00) (1.00 0.00 0.50) ] def /RGBNM*16 16 array def /RGBNW*16 [(1.00 0.00 0.00) (0.50 0.00 0.00) (1.00 0.50 0.50) () (1.00 1.00 0.00) (0.50 0.50 0.00) (1.00 1.00 0.50) () (0.00 1.00 0.00) (0.00 0.50 0.00) (0.50 1.00 0.50) () (0.00 0.00 1.00) (0.00 0.00 0.50) (0.50 0.50 1.00) ()] def /RGB*005 05 array def /RGB*005 [(0.00 0.00 0.00) (0.25 0.25 0.25) (0.50 0.50 0.50) (0.75 0.75 0.75) (1.00 1.00 1.00)] def /RGB*009 09 array def /RGB*009 [ (0.000 0.000 0.000) (0.125 0.125 0.125) (0.250 0.250 0.250) (0.375 0.375 0.375) (0.500 0.500 0.500) (0.625 0.625 0.625) (0.750 0.750 0.750) (0.875 0.875 0.875) (1.000 1.000 1.000)] def /RGBOLV*73tx 73 array def /RGBOLV*73tx [ (1.000 0.000 0.000) (1.000 0.125 0.000) (1.000 0.250 0.000) (1.000 0.375 0.000) %O-Y (1.000 0.500 0.000) (1.000 0.625 0.000) (1.000 0.750 0.000) (1.000 0.875 0.000) (1.000 1.000 0.000) (0.875 1.000 0.000) (0.750 1.000 0.000) (0.625 1.000 0.000) %Y-L (0.500 1.000 0.000) (0.375 1.000 0.000) (0.250 1.000 0.000) (0.125 1.000 0.000) (0.000 1.000 0.000) (0.000 1.000 0.125) (0.000 1.000 0.250) (0.000 1.000 0.375) %L-C (0.000 1.000 0.500) (0.000 1.000 0.625) (0.000 1.000 0.750) (0.000 1.000 0.875) (0.000 1.000 1.000) (0.000 0.875 1.000) (0.000 0.750 1.000) (0.000 0.625 1.000) %C-V (0.000 0.500 1.000) (0.000 0.375 1.000) (0.000 0.250 1.000) (0.000 0.125 1.000) (0.000 0.000 1.000) (0.125 0.000 1.000) (0.250 0.000 1.000) (0.375 0.000 1.000) %V-M (0.500 0.000 1.000) (0.625 0.000 1.000) (0.750 0.000 1.000) (0.875 0.000 1.000) (1.000 0.000 1.000) (1.000 0.000 0.875) (1.000 0.000 0.750) (1.000 0.000 0.625) %M-O (1.000 0.000 0.500) (1.000 0.000 0.375) (1.000 0.000 0.250) (1.000 0.000 0.125) %repeat for range >360 degree (1.000 0.000 0.000) (1.000 0.125 0.000) (1.000 0.250 0.000) (1.000 0.375 0.000) %O-Y (1.000 0.500 0.000) (1.000 0.625 0.000) (1.000 0.750 0.000) (1.000 0.875 0.000) (1.000 1.000 0.000) (0.875 1.000 0.000) (0.750 1.000 0.000) (0.625 1.000 0.000) %Y-L (0.500 1.000 0.000) (0.375 1.000 0.000) (0.250 1.000 0.000) (0.125 1.000 0.000) %N-W (0.000 0.000 0.000) (0.125 0.125 0.125) (0.250 0.250 0.250) (0.375 0.375 0.375) (0.500 0.500 0.500) (0.625 0.625 0.625) (0.750 0.750 0.750) (0.875 0.875 0.875) (1.000 1.000 1.000) ] def /RGBOLV*219 219 array def /RGBOLV*219 [1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 %O-Y 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 0.000 %Y-L 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 0.000 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 %L-C 0.000 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 %C-V 0.000 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 1.000 %V-M 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 %M-O 1.000 0.000 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 %repeat for range >360 degree 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 %O-Y 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 0.000 %Y-L 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 %N-W 0.000 0.000 0.000 0.125 0.125 0.125 0.250 0.250 0.250 0.375 0.375 0.375 0.500 0.500 0.500 0.625 0.625 0.625 0.750 0.750 0.750 0.875 0.875 0.875 1.000 1.000 1.000 ] def %************************************************************************** /RGB0i_XYZi { %BEG procedure RGB0i_XYZj %transfers standard sRGB data (IEC 61966-2-1) to XYZ data %for 9x9x9=729 colours or 64+9=73 colours=48+16+9 colours %normalized XYZ data with Y=88.59 for display white, compare ISO 9241-306:2008. /IM0 73 def /IM1 IM0 1 sub def /iN 64 def /iW 72 def /Xi089 729 array def /Yi089 729 array def /Zi089 729 array def /Xi100 729 array def /Yi100 729 array def /Zi100 729 array def /R0i 729 array def /G0i 729 array def /B0i 729 array def %row no.1 and 2: 9xrgb %/imax 08 def %/jmax 08 def %/kmax 08 def %0 1 kmax {/k exch def %beg k=0,08 %0 1 jmax {/j exch def %beg j=0,jmax %0 1 imax {/i exch def %beg i=0,imax % /n i j 9 mul add k 81 mul add def % R0i n k kmax div 1000 mul put % G0i n j jmax div 1000 mul put % B0i n i imax div 1000 mul put % } for %end i=0,jmax % } for %end j=0,jmax % } for %end k=0,kmax 0 1 IM1 {/i exch def %i=0,IM1 /i3 i 3 mul def R0i i RGBOLV*219 i3 0 add get 1000 mul put G0i i RGBOLV*219 i3 1 add get 1000 mul put B0i i RGBOLV*219 i3 2 add get 1000 mul put } for %i=0,IM1 0 1 IM1 {/i exch def %i=0,IM1 R0i i get 0.04045 le %equations of IEC 61966-2-1:2003 {/RsRGB R0i i get 12.92 div def} {/RsRGB R0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse G0i i get 0.04045 le {/GsRGB G0i i get 12.92 div def} {/GsRGB G0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse B0i i get 0.04045 le {/BsRGB B0i i get 12.92 div def} {/BsRGB B0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse Xi100 i 0.4124 RsRGB mul 0.3576 GsRGB mul add 0.1805 BsRGB mul add 100 mul put Yi100 i 0.2126 RsRGB mul 0.7152 GsRGB mul add 0.0722 BsRGB mul add 100 mul put Zi100 i 0.0193 RsRGB mul 0.1192 GsRGB mul add 0.9505 BsRGB mul add 100 mul put } for %i=0,IM1 0 1 IM1 {/i exch def %i=0,IM1 Xi089 i Xi100 i get 0.8859 mul put Yi089 i Yi100 i get 0.8859 mul put Zi089 i Zi100 i get 0.8859 mul put } for %i=0,IM1 /XLN100 Xi100 iN get def /YLN100 Yi100 iN get def /ZLN100 Zi100 iN get def /XLW100 Xi100 iW get def /YLW100 Yi100 iW get def /ZLW100 Zi100 iW get def /XLN089 Xi089 iN get def /YLN089 Yi089 iN get def /ZLN089 Zi089 iN get def /XLW089 Xi089 iW get def /YLW089 Yi089 iW get def /ZLW089 Zi089 iW get def % achromatic (D65) colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLWD65089 95.04 0.8859 mul def /YLWD65089 100.00 0.8859 mul def /ZLWD65089 108.88 0.8859 mul def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def } bind def %END procedure RGB0i_XYZi for 729 colours %********************************************************************** /XYZi_Lab*i { %BEG Procedure XYZi_Lab*i %transfer from XYZi data to Lab*i CIELAB data for 9x9x9=729 colours %requires IM0, IM1, IN, IW %requires /Xi089,Yi089,Zi089 729 array def %max 729 %requires /Xi100,Yi100,Zi100 729 array def %max 729 %requires (XYZ)LWD65100, (XYZ)LWD65089 %new /L*i089,a*i089,b*i089 729 array def %max 729 %new /L*i100,a*i100,b*i100 729 array def %max 729 /L*i100 729 array def /a*i100 729 array def /b*i100 729 array def /L*i089 729 array def /a*i089 729 array def /b*i089 729 array def 0 1 IM1 {/i exch def %i=0,IM1 /XQ Xi089 i get XLWD65100 div def /YQ Yi089 i get YLWD65100 div def /ZQ Zi089 i get ZLWD65100 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if L*i089 i YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put a*i089 i XQ 0.008856 lt {7.787 XQ mul 16 116 div add} {XQ 0.33333333 exp} ifelse YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse sub 500 mul put b*i089 i YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add} {ZQ 0.33333333 exp} ifelse sub 200 mul put /XQ Xi100 i get XLWD65100 div def /YQ Yi100 i get YLWD65100 div def /ZQ Zi100 i get ZLWD65100 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if L*i100 i YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put a*i100 i XQ 0.008856 lt {7.787 XQ mul 16 116 div add} {XQ 0.33333333 exp} ifelse YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse sub 500 mul put b*i100 i YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add} {ZQ 0.33333333 exp} ifelse sub 200 mul put } for %i=0,IM1 /L*N100 L*i100 iN get def /a*N100 a*i100 iN get def /b*N100 b*i100 iN get def /L*W100 L*i100 iW get def /a*W100 a*i100 iW get def /b*W100 b*i100 iW get def /L*N089 L*i089 iN get def /a*N089 a*i089 iN get def /b*N089 b*i089 iN get def /L*W089 L*i089 iW get def /a*W089 a*i089 iW get def /b*W089 b*i089 iW get def } bind def %END XYZi_Lab*i %********************************************************************** /XYZi_ABi { %BEG Procedure XYZj_ABi %transfer from XYZj data to ABi YAB data for 9x9x9=729 colours %requires IM0, IM1, IN, IW %requires /Xi089,Yi089,Zi089 729 array def %max 729 %requires /Xi100,Yi100,Zi100 729 array def %max 729 %requires (XYZ)LWD65100, (XYZ)LWD65089 %new /Ai089,Bi089 729 array def %max 729 %new /Ai100,Bi100 729 array def %max 729 /Ai100 729 array def /Bi100 729 array def /Ai089 729 array def /Bi089 729 array def /XW100 XLWD65100 def /YW100 YLWD65100 def /ZW100 ZLWD65100 def 0 1 IM1 {/i exch def %i=0,IM1 Ai100 i Xi100 i get Yi100 i get 0.0001 add div XLWD65100 YLWD65100 0.0001 add div sub Yi100 i get mul put Bi100 i Zi100 i get Yi100 i get 0.0001 add div ZLWD65100 YLWD65100 0.0001 add div sub Yi100 i get mul 0.4 mul neg put Ai089 i Ai100 i get 0.8859 mul put Bi089 i Bi100 i get 0.8859 mul put } for %i=0,IM1 /AN100 Ai100 iN get def /BN100 Bi100 iN get def /AW100 Ai100 iW get def /BW100 Bi100 iW get def /AN089 Ai089 iN get def /BN089 Bi089 iN get def /AW089 Ai089 iW get def /BW089 Bi089 iW get def } bind def %END XYZi_ABi %********************************************************************** /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvishowb {cvi 6 string cvs show ( ) show} def /cvsshow1b {10 mul cvi 0.1 mul 7 string cvs show ( ) show} def /cvsshow2b {100 mul cvi 0.01 mul 7 string cvs show ( ) show} def /cvsshow3b {1000 mul cvi 0.001 mul 7 string cvs show ( ) show} def /cvishowr {0.5 add cvi 6 string cvs show} def /cvsshow1r {0.05 add 10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2r {0.005 add 100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3r {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show} def /cvi100 {100 mul cvi /xi exch def xi 0 lt {/vorz -1 def} {/vorz 1 def} ifelse /xia xi abs def vorz -1 eq {(\255) show} {(0) show} ifelse xia 0 ge xia 9 le {(0000) show} if xia 10 ge xia 99 le and {(000) show} if xia 100 ge xia 999 le and {(00) show} if xia 1000 ge xia 9999 le and {(0) show} if xia cvishow } bind def /cvi1000 {1000 mul cvi /xi exch def xi 0 ge xi 9 le {(000) show} if xi 10 ge xi 99 le and {(00) show} if xi 100 ge xi 999 le and {(0) show} if xi cvishow } bind def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def %72 90 translate %0.01 MM dup scale %TK %100 -180 moveto %(DG410-2N, ) show %(NCS colours) showea %(NCS\255Farben) showde %TK %(, normalized:) showea %(, normiert:) showde %TIK %( Yn = Yw) show %TK %( = 100) show %STOP1 RGB0i_XYZi %STOP2 XYZi_Lab*i %STOP3 XYZi_ABi %STOP /ymax 16600 def /idy 206 def /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /FAD 63 array def /FBD 63 array def /FCD 63 array def /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 /ix0 100 def /ix1 ix0 1400 add def /ixd 600 def /iymax 16550 def /idy 206 def /xtext 0 def xtext 1 eq {%itext=1 TBIK ix0 iymax idy add 50 add moveto (rgb) show TBS 0 -90 rmoveto (i) show 0 90 rmoveto TBK ix1 ixd 0 mul add 150 add iymax idy add 50 add moveto TBK (i) show ix1 ixd 1 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 1 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z, x, y) show TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 6 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 6 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBIK (, a', b', c') show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 14 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 14 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBIK (, a, b, c) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 22 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 22 mul add iymax idy add 50 add moveto TBK ([) show TBIK (i) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TBIK (i) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 26 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 26 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z) show TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 29 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 29 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 34 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 34 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK } if %itext=1 /D13 1 3 div def /a2D65 1 XLWD65100 0.0001 add div D13 exp def /b2D65 1 ZLWD65100 0.0001 add div D13 exp neg def TK %20000 15000 moveto a2D65 cvsshow3r (,) b2D65 cvsshow3r /aWD65100 XLWD65100 YLWD65100 0.0001 add div def /bWD65100 ZLWD65100 YLWD65100 0.0001 add div 0.4 mul neg def /aWD65089 XLWD65100 YLWD65100 0.0001 add div def /bWD65089 ZLWD65100 YLWD65100 0.0001 add div 0.4 mul neg def %20000 14000 moveto aWD65100 cvsshow3r (,) bWD65100 cvsshow3r /a'WD65100 XLWD65100 YLWD65100 0.0001 add div D13 exp a2D65 mul def /b'WD65100 ZLWD65100 YLWD65100 0.0001 add div D13 exp b2D65 mul def /a'WD65089 XLWD65100 YLWD65100 0.0001 add div D13 exp a2D65 mul def /b'WD65089 ZLWD65100 YLWD65100 0.0001 add div D13 exp b2D65 mul def %20000 13000 moveto a'WD65100 cvsshow3r (,) b'WD65100 cvsshow3r /itx -0.8 def 0 1 IM1 {/i exch def %i=0,IM1 % i IM1 ne {%i#IM1 % i i 8 idiv 8 mul eq {/itx itx 0.8 add def} if % } if %i#IM1 % /iy i itx add def %ix0 ixd 0 mul add iymax iy idy mul sub moveto %RGBOLV*73tx i get show %ix1 ixd 0 mul add 150 add iymax iy idy mul sub moveto %i 9 le {(0) show} if i cvishow /XD65100 Xi100 i get def /YD65100 Yi100 i get def /ZD65100 Zi100 i get def /SUM XD65100 YD65100 add ZD65100 add def /xD65100 XD65100 SUM 0.0001 add div def /yD65100 YD65100 SUM 0.0001 add div def %ix1 ixd 1 mul add iymax iy idy mul sub moveto XD65100 cvsshow1r %ix1 ixd 2 mul add iymax iy idy mul sub moveto YD65100 cvsshow1r %ix1 ixd 3 mul add iymax iy idy mul sub moveto ZD65100 cvsshow1r %ix1 ixd 4 mul add iymax iy idy mul sub moveto xD65100 cvsshow3r %ix1 ixd 5 mul add iymax iy idy mul sub moveto yD65100 cvsshow3r X3i i XD65100 put Y3i i YD65100 put Z3i i ZD65100 put %XAN3i i xD65100 put %YAN3i i yD65100 put /a'D65100 XD65100 YD65100 0.0001 add div D13 exp a2D65 mul def /b'D65100 ZD65100 YD65100 0.0001 add div D13 exp b2D65 mul def /c'D65100 a'D65100 a'WD65100 sub dup mul b'D65100 b'WD65100 sub dup mul add 0.0001 add sqrt def /L*D65100 L*i100 i get def /a*D65100 a*i100 i get def /b*D65100 b*i100 i get def /C*D65100 a*D65100 dup mul b*D65100 dup mul add 0.0001 add sqrt def /h*D65100 b*D65100 a*D65100 0.0001 add atan def %ix1 ixd 06 mul add iymax iy idy mul sub moveto L*D65100 cvsshow1r %ix1 ixd 07 mul add iymax iy idy mul sub moveto a*D65100 cvsshow1r %ix1 ixd 08 mul add iymax iy idy mul sub moveto b*D65100 cvsshow1r %ix1 ixd 09 mul add iymax iy idy mul sub moveto C*D65100 cvsshow1r %ix1 ixd 10 mul add iymax iy idy mul sub moveto h*D65100 cvsshow1r %ix1 ixd 11 mul add iymax iy idy mul sub moveto a'D65100 cvsshow3r %ix1 ixd 12 mul add iymax iy idy mul sub moveto b'D65100 cvsshow3r %ix1 ixd 13 mul add iymax iy idy mul sub moveto c'D65100 cvsshow3r L*3i i L*D65100 put a*3i i a*D65100 put b*3i i b*D65100 put C*ab3i i C*D65100 put h*ab3i i h*D65100 put %a'3i i a'D65100 put %b'3i i b'D65100 put %c'3i i c'D65100 put /aD65100 XD65100 YD65100 0.0001 add div def /bD65100 ZD65100 YD65100 0.0001 add div 0.4 mul neg def /cD65100 aD65100 aWD65100 sub dup mul bD65100 bWD65100 sub dup mul add 0.0001 add sqrt def /AD65100 XD65100 YD65100 0.0001 add div XLWD65100 YLWD65100 0.0001 add div sub YD65100 mul def /BD65100 ZD65100 YD65100 0.0001 add div ZLWD65100 YLWD65100 0.0001 add div sub YD65100 mul 0.4 mul neg def /CD65100 AD65100 dup mul BD65100 dup mul add 0.0001 add sqrt def /hD65100 BD65100 AD65100 0.0001 add atan def %ix1 ixd 14 mul add iymax iy idy mul sub moveto YD65100 cvsshow1r %ix1 ixd 15 mul add iymax iy idy mul sub moveto AD65100 cvsshow1r %ix1 ixd 16 mul add iymax iy idy mul sub moveto BD65100 cvsshow1r %ix1 ixd 17 mul add iymax iy idy mul sub moveto CD65100 cvsshow1r %ix1 ixd 18 mul add iymax iy idy mul sub moveto hD65100 cvsshow1r %ix1 ixd 19 mul add iymax iy idy mul sub moveto aD65100 cvsshow3r %ix1 ixd 20 mul add iymax iy idy mul sub moveto bD65100 cvsshow3r %ix1 ixd 21 mul add iymax iy idy mul sub moveto cD65100 cvsshow3r A3i i AD65100 put B3i i BD65100 put CAB3i i CD65100 put hAB3i i hD65100 put AAN3i i aD65100 put BAN3i i bD65100 put CAN3i i cD65100 put %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 XD65100 def /FF2 YD65100 def /FF3 ZD65100 def /U1 XLWD65100 def /U2 YLWD65100 def /U3 ZLWD65100 def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/j exch def %j=1,60 /TN FAD j get FXU1 mul FBD j get FXU2 mul add FCD j get FXU3 mul add def /TP FAD j 1 add get FXU1 mul FBD j 1 add get FXU2 mul add FCD j 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP j def exit} if } for %j=1,60 0 1 60 {/j exch def %j=1,60 /TN FAD j get FXU1 mul FBD j get FXU2 mul add FCD j get FXU3 mul add neg def /TP FAD j 1 add get FXU1 mul FBD j 1 add get FXU2 mul add FCD j 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN j def exit} if } for %j=1,60 /Icom 0 def %Icom=0 only for part 2 TM Icom 0 eq {%Icom=0,1 id3i i INP put ic3i i IPN put }%Icom=0 {%Icom=1 id4i i INP put ic4i i IPN put } ifelse %Icom=0,1 TLL %ix1 ixd 22 mul add iymax iy idy mul sub moveto INP cvishow %ix1 ixd 23 mul add iymax iy idy mul sub moveto IPN cvishow %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def } if %kNP>=0 %********************************************************* %0 1 1 0 setcmyk_olvcolor INP 0 ge {%INP>=0,-1 % ix1 ixd 24 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 cvishow Icom 0 eq {%Icom=0,1 wd3i i DOWXIE1 0.03 add cvi put wdc3i i () put }%Icom=0 {%Icom=1 wd4i i DOWXIE1 0.03 add cvi put wdc4i i () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % ix1 ixd 24 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 cvishow (c) show Icom 0 eq {%Icom=0,1 wd3i i DOWXIE2 0.03 add cvi put wdc3i i (c) put }%Icom=0 {%Icom=1 wd4i i DOWXIE2 0.03 add cvi put wdc4i i (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 %1 0 1 0 setcmyk_olvcolor IPN 0 ge {%IPN>=0,-1 % ix1 ixd 25 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 cvishow Icom 0 eq {%Icom=0,1 wc3i i DOWXIE2 0.03 add cvi put wcc3i i () put }%Icom=0 {%Icom=1 wc4i i DOWXIE2 0.03 add cvi put wcc4i i () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % ix1 ixd 25 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 cvishow (c) show Icom 0 eq {%Icom=0,1 wc3i i DOWXIE1 0.03 add cvi put wcc3i i (c) put }%Icom=0 {%Icom=1 wc4i i DOWXIE1 0.03 add cvi put wcc4i i (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 %********************************************************************** /XD65089 Xi089 i get def /YD65089 Yi089 i get def /ZD65089 Zi089 i get def %ix1 ixd 26 mul add iymax iy idy mul sub moveto XD65089 cvsshow1r %ix1 ixd 27 mul add iymax iy idy mul sub moveto YD65089 cvsshow1r %ix1 ixd 28 mul add iymax iy idy mul sub moveto ZD65089 cvsshow1r X4i i XD65089 put Y4i i YD65089 put Z4i i ZD65089 put %XAN4i i xD65089 put %YAN4i i yD65089 put /a'D65089 XD65089 YD65089 0.0001 add div D13 exp a2D65 mul def /b'D65089 ZD65089 YD65089 0.0001 add div D13 exp b2D65 mul def /c'D65089 a'D65089 a'WD65089 sub dup mul b'D65089 b'WD65089 sub dup mul add 0.0001 add sqrt def /L*D65089 L*i089 i get def /a*D65089 a*i089 i get def /b*D65089 b*i089 i get def /C*D65089 a*D65089 dup mul b*D65089 dup mul add 0.0001 add sqrt def /h*D65089 b*D65089 a*D65089 0.0001 add atan def %ix1 ixd 29 mul add iymax iy idy mul sub moveto L*D65089 cvsshow1r %ix1 ixd 30 mul add iymax iy idy mul sub moveto a*D65089 cvsshow1r %ix1 ixd 31 mul add iymax iy idy mul sub moveto b*D65089 cvsshow1r %ix1 ixd 32 mul add iymax iy idy mul sub moveto C*D65089 cvsshow1r %ix1 ixd 33 mul add iymax iy idy mul sub moveto h*D65089 cvsshow1r %ix1 ixd 11 mul add iymax iy idy mul sub moveto a'D65089 cvsshow3r %ix1 ixd 12 mul add iymax iy idy mul sub moveto b'D65089 cvsshow3r %ix1 ixd 13 mul add iymax iy idy mul sub moveto c'D65089 cvsshow3r L*4i i L*D65089 put a*4i i a*D65089 put b*4i i b*D65089 put C*ab4i i C*D65089 put h*ab4i i h*D65089 put %a'4i i a'D65089 put %b'4i i b'D65089 put %c'4i i c'D65089 put /aD65089 XD65089 YD65089 0.0001 add div def /bD65089 ZD65089 YD65089 0.0001 add div 0.4 mul neg def /cD65089 aD65089 aWD65089 sub dup mul bD65089 bWD65089 sub dup mul add 0.0001 add sqrt def /AD65089 XD65089 YD65089 0.0001 add div XLWD65089 YLWD65089 0.0001 add div sub YD65089 mul def /BD65089 ZD65089 YD65089 0.0001 add div ZLWD65089 YLWD65089 0.0001 add div sub YD65089 mul 0.4 mul neg def /CD65089 AD65089 dup mul BD65089 dup mul add 0.0001 add sqrt def /hD65089 BD65089 AD65089 0.0001 add atan def %ix1 ixd 34 mul add iymax iy idy mul sub moveto YD65089 cvsshow1r %ix1 ixd 35 mul add iymax iy idy mul sub moveto AD65089 cvsshow1r %ix1 ixd 36 mul add iymax iy idy mul sub moveto BD65089 cvsshow1r %ix1 ixd 37 mul add iymax iy idy mul sub moveto CD65089 cvsshow1r %ix1 ixd 38 mul add iymax iy idy mul sub moveto hD65089 cvsshow1r %ix1 ixd 19 mul add iymax iy idy mul sub moveto aD65089 cvsshow3r %ix1 ixd 20 mul add iymax iy idy mul sub moveto bD65089 cvsshow3r %ix1 ixd 21 mul add iymax iy idy mul sub moveto cD65089 cvsshow3r A4i i AD65089 put B4i i BD65089 put CAB4i i CD65089 put hAB4i i hD65089 put %a4i i aD65089 put %b4i i bD65089 put %c4i i cD65089 put } for %i=0,IM1 %STOP %************************************************************* /imshow {0 -50 rmoveto TBL (m) show 0 50 rmoveto TBIS} def /ioshow {0 -50 rmoveto TBL (o) show 0 50 rmoveto TBIS} def /idshow {0 -50 rmoveto TBL (d) show 0 50 rmoveto TBIS} def /ieshow {0 -50 rmoveto TBL (e) show 0 50 rmoveto TBIS} def %************************************************************* %xchart4=0-0 %STOP0-0 %BEG X,Y,Z = f(hAB) xchart4 0 eq {%xchart4=0 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [( 0) ( 20) ( 40) ( 60) ( 80) (100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1800 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwerte) showde (CIE tristimulus values) showea TBIS 1 0 0 setrgbcolor ( X) show 0 setgray (,) show 0 1 0 setrgbcolor ( Y) show 0 setgray (,) show 0 0 1 setrgbcolor ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP0-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP0-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift -1200 def proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 } if %iout2x=1 %************************************************************ %STOP0-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift 0000 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_XYZ_cur2 [] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout3x=1 } if %xchart4=0 %END X,Y,Z = f(hAB) %STOP0-4 %************************************************************* %xchart4=1-0 %STOP1-0 %BEG A,B,CAB = f(hAB) xchart4 1 eq {%xchart4=1 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show TBS ( und) showde (, and) showea TBS ( Buntwerte) showde ( chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (, ) show TBIS (C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP1-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP1-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 0 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP1-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_ABCY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=1 %END A,B,CAB = f(hAB) %STOP1-4 %************************************************************* %xchart4=2-0 %STOP2-0 %BEG L*,a*,b*,C*ab = f(hAB) xchart4 2 eq {%xchart4=2 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP2-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP2-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 0 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP2-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=2 %END L*,a*,b*,C*ab = f(hAB) %STOP2-4 %************************************************************* %xchart4=3-0 %STOP3-0 %BEG L*,a*,b*,C*ab = f(h*ab) xchart4 3 eq {%xchart4=3 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 200 sub iytt moveto TBIS (h*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP3-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_h*ab_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 1 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP3-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_h*ab_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 1 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP3-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=3 %END L*,a*,b*,C*ab = f(h*ab) %STOP3-4 %************************************************************* %xchart4=4-0 %STOP4-0 %BEG X,Y,Z = f(wd) xchart4 4 eq {%xchart4=4 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyY i get show -75 iyl moveto 150 0 rlineto stroke } for %no axis right /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (Normfarbwerte) showde (CIE tristimulus values) showea 1 0 0 setrgbcolor TBIS ( X) show TBS 0 setgray (,) show 0 1 0 setrgbcolor TBIS ( Y) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %***************************************************** %STOP4-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP4-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift -1200 def proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samRMB proc_tab_Ocolors2 } if %stext=1 } if %iout2x=1 %************************************************************ %STOP4-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift 0000 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_XYZ_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout3x=1 } if %xchart4=4 %END X,Y,Z = f(wd) %STOP4-4 %************************************************************* %xchart4=5-0 %STOP5-0 %BEG A,B,CAB = f(wd) xchart4 5 eq {%xchart4=5 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyA [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyA i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -320 3000 120 add moveto (A) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (B) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-60 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 300 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Buntwerte) showde (, and chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %************************************************* %STOP5-1 380 280 1200 add translate %shift of cero point by 1200 iout1x 1 eq {%iout1x=1 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP5-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP5-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_ABCY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=5 %END A,B,CAB = f(wd) %STOP5-4 %************************************************************* %xchart4=6-0 %STOP6-0 %BEG L*,a*,b*,C*ab = f(wd) xchart4 6 eq {%xchart4=6 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tya* [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tya* i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a*) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b*) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 250 sub 3000 250 add moveto (L*) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (CIELAB\255Helligkeiten) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b*) show TBS 0 setgray (,) show TBIS ( C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %****************************************************** %STOP6-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP6-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP6-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=6 %END L*,a*,b*,C*ab = f(wd) %STOP6-4 %************************************************************* %xchart4=7-0 %STOP7-0 %BEG Y/100, a, b, cab = f(wd) xchart4 7 eq {%xchart4=7 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a) show 20 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 250 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill 0 setgray /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwert) showde (tristimulus value) showea 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Farbarten) showde (, and chromaticities) showea 1 0 0 setrgbcolor TBIS ( a) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( c) show 0 -30 rmoveto TBL xchart14 0 eq {(ab0)}{(ab1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%K=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %K=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************** %STOP7-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_wd_abcY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP7-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %%used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift -0000 def proc_wd_abcY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP7-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %%used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_wd_abcY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=7 %END a,b,c,Y = f(fw) %STOP7-4 %*************************************************************** showpage grestore } for %xchartl=0,7 %showpage %grestore %} for %xchart4=0,7 %showpage %grestore %} for %xcolorl=0,0 %%Trailer %%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 http://farbe.li.tu-berlin.de/DG41/DG411-2A 20180501 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark02 where {pop} {userdict /pdfmark02 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark02 [ /View [ /Fit ] /DOCVIEW pdfmark02 %END PDFDE011 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth r g b {setrgbcolor rec fill} bind def /colrecst %x y width heigth r g b {setrgbcolor rec stroke} bind def /TG {320 /Times-ISOL1 FS} bind def /TM {270 /Times-ISOL1 FS} bind def /TK {200 /Times-ISOL1 FS} bind def /TS {170 /Times-ISOL1 FS} bind def /TL {130 /Times-ISOL1 FS} bind def /TLL {100 /Times-ISOL1 FS} bind def /TIG {320 /TimesI-ISOL1 FS} bind def /TIM {270 /TimesI-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIS {170 /TimesI-ISOL1 FS} bind def /TIL {130 /TimesI-ISOL1 FS} bind def /TBG {320 /TimesB-ISOL1 FS} bind def /TBM {270 /TimesB-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBS {170 /TimesB-ISOL1 FS} bind def /TBL {130 /TimesB-ISOL1 FS} bind def /TBIG {320 /TimesBI-ISOL1 FS} bind def /TBIM {270 /TimesBI-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIS {170 /TimesBI-ISOL1 FS} bind def /TBIL {130 /TimesBI-ISOL1 FS} bind def /SG {320 /Symbol FS} bind def /SM {270 /Symbol FS} bind def /SK {200 /Symbol FS} bind def /SS {170 /Symbol FS} bind def /SL {130 /Symbol FS} bind def /CBG {320 /CourierB-ISOL1 FS} bind def /CBM {270 /CourierB-ISOL1 FS} bind def /CBK {200 /CourierB-ISOL1 FS} bind def /CBS {170 /CourierB-ISOL1 FS} bind def /CBL {130 /CourierB-ISOL1 FS} bind def %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def /FXD 63 array def /FYD 63 array def /FZD 63 array def /FAD 63 array def /FBD 63 array def /FCD 63 array def %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def %allways 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /xchart8 1 def % /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %calculation of transformation data /FARBE 33 array def /FARBE [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 470_570) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 570_470) %05 (G) (o) ( 520_570) %06 (R) (o) ( 570_780) %07 (N) (0) ( 380_770) %08 (W) (0) ( 380_770) %09 (W) (1) ( 380_770) %10 ] def %/FARBE [(R) (m) ( 565_770) %00 % (Y) (m) ( 495_770) %01 % (G) (m) ( 475_575) %02 % (C) (m) ( 380_565) %03 % (B) (m) ( 380_495) %04 % (M) (m) ( 575_475) %05 % (N) (0) ( 380_770) %06 % (W) (0) ( 380_770) %07 % (W) (1) ( 380_770) %08 % ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 800 array def %10x80 /RX0 [ %(%Ro 00 570_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Ym 01 520_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Gm 02 470_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Cm 03 380_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Bm 04 380_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Mm 05 570_470) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Go 06 520_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%N0(r=0,001) 07 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %(%W1(r=1,000) 08 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%W1(r=1,000) 09 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 ] def %************************************************** /proc_ALLi_def {%BEG proc_ALLi_def ij=ix-2 0 1 ij {/i exch def %i=0,ij kx 1 eq {Xxi i X1i i get put Yxi i Y1i i get put Zxi i Z1i i get put Axi i A1i i get put Bxi i B1i i get put L*xi i L*1i i get put a*xi i a*1i i get put b*xi i b*1i i get put AANxi i AAN1i i get put BANxi i BAN1i i get put CANxi i CAN1i i get put idxi i id1i i get put wdxi i wd1i i get put hABxi i hAB1i i get put h*abxi i h*ab1i i get put } if kx 2 eq {Xxi i X2i i get put Yxi i Y2i i get put Zxi i Z2i i get put Axi i A2i i get put Bxi i B2i i get put L*xi i L*2i i get put a*xi i a*2i i get put b*xi i b*2i i get put AANxi i AAN2i i get put BANxi i BAN2i i get put CANxi i CAN2i i get put idxi i id2i i get put wdxi i wd2i i get put hABxi i hAB2i i get put h*abxi i h*ab2i i get put } if } for %i=1,ij } bind def %END proc_ALLi_def %*********************************************************** /proc_ALLi_ALLin {%BEG proc_ALLi_ALLin %new order from front, new data amount ix=ij+2 hABxin 0 hABxi imin get 360 xpn 0 eq {add}{sub} ifelse put %351-360=-9 h*abxin 0 h*abxi imin get 360 xpn 0 eq {add}{sub} ifelse put wdxin 0 wdxi imin get xpn 0 eq {400 sub 769 add}{769 sub 400 add} ifelse put %769=700+564-495 Xxin 0 Xxi imin get put Yxin 0 Yxi imin get put Zxin 0 Zxi imin get put Axin 0 Axi imin get put Bxin 0 Bxi imin get put L*xin 0 L*xi imin get put a*xin 0 a*xi imin get put b*xin 0 b*xi imin get put AANxin 0 AANxi imin get put BANxin 0 BANxi imin get put CANxin 0 CANxi imin get put idxin 0 idxi imin get put imin1 1 ij {/i exch def %32_57 old, imin=31(h=38) imin1=32 /in i imin1 sub 1 add def %i=32_57-32+1=01_26 new hABxin in hABxi i get put %in=1,26=26 values h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for 0 1 imin {/i exch def %0-31 old /in ij imin sub i add 1 add def %in=57-31+i+1=26+i+1=26+31+1 hABxin in hABxi i get put h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for hABxin ix hABxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put %2.4+360 h*abxin ix h*abxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put wdxin ix wdxi imin1 get xpn 0 eq {769 sub 400 add}{400 sub 769 add} ifelse put %769=700+564-495 Xxin ix Xxi imin1 get put Yxin ix Yxi imin1 get put Zxin ix Zxi imin1 get put Axin ix Axi imin1 get put Bxin ix Bxi imin1 get put L*xin ix L*xi imin1 get put a*xin ix a*xi imin1 get put b*xin ix b*xi imin1 get put AANxin ix AANxi imin1 get put BANxin ix BANxi imin1 get put CANxin ix CANxi imin1 get put idxin ix idxi imin1 get put } bind def %END proc_ALLi_ALLin %******************************************************** /proc_hAB_min {%BEG proc_hAB_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 hABxi i get hABxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 hABxi i get hABxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (hABxi=) show hABxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (hABxi1=) show hABxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_hAB_min %******************************************************** /proc_h*ab_min {%BEG proc_h*ab_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 h*abxi i get h*abxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 h*abxi i get h*abxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (h*abxi=) show h*abxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (h*abxi1=) show h*abxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_h*ab_min %******************************************************** /proc_iwd_min {%BEG proc_iwd_min 1 1 ij {/i exch def %i=1,ij idxi i get -1 eq {wdxi i wdxi i get 495 sub 700 add put} if } for %i=1,ij 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 idxi i get 0 gt idxi i 1 add get -1 eq and {/imin i def exit} if }%xpn=0 {%xpn=1 idxi i get -1 eq idxi i 1 add get 0 gt and {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (iwdxi=) show idxi imin get cvishow (, ) show wdxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (iwdxi1=) show idxi imin1 get cvishow (, ) show wdxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_iwd_min %******************************************************** /proc_hAB_tab {%BEG proc_hAB_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxin i get cvsshow1 } for %i=1,ix newpath 180 faktx mul 00 fakty mul 40 0 360 arc fill 180 faktx mul 20 fakty mul 40 0 360 arc fill 180 faktx mul 40 fakty mul 40 0 360 arc fill 0 faktx mul -20 fakty mul 40 0 360 arc fill 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_hAB_tab %******************************************************** /proc_h*ab_tab {%BEG proc_h*ab_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxin i get cvsshow1 } for %i=1,ix %newpath %180 faktx mul 00 fakty mul 40 0 360 arc fill %180 faktx mul 20 fakty mul 40 0 360 arc fill %180 faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_h*ab_tab %******************************************************** /proc_iwd_tab {%BEG proc_iwd_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxi i get cvishow (, ) show wdxi i get cvishow } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxin i get cvishow (, ) show wdxin i get cvishow } for %i=1,ix %newpath %700 400 sub faktx mul 00 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 20 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_iwd_tab %********************************************************** /proc_hABw_XYZ_cur2 {%BEG proc_hABw_XYZ_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %X 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Xxin i get} {100 Xxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %Z 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Zxin i get} {100 Zxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_XYZ_cur2 %******************************************************** /proc_hABw_ABCY_cur2 {%BEG proc_hABw_ABCY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %A 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %B 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Bxin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %CAB 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get dup mul Bxin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icurm=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_ABCY_cur2 %******************************************************** /proc_hABw_LabC*_cur2 {%BEG proc_hABw_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icurm=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_LabC*_cur2 %******************************************************** /proc_h*ab_LabC*_cur2 {%BEG proc_h*ab_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_h*ab_LabC*_cur2 %******************************************************** /proc_wd_abcY_cur2 {%BEG proc_wd_abcY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul BANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get dup mul BANxin i get dup mul add 0.0001 add sqrt faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icurm=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_wd_abcY_cur2 %************************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************** /tab_Ocolors2 64 array def %8*8 /tab_Ocolors2 %BEG tab_Ocolors2 [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 14 0.0 1.0 0.0 0100 -0050 (G) (O) 17 0.8 1.0 0.0 -0100 0100 (Y) (x) 23 1.0 1.0 0.0 -0100 0100 (Y) (O) 00 1.0 0.0 0.0 -0100 0100 (R) (O) 14 1.0 0.0 1.0 -0350 -0100 (M) (O) 17 0.2 0.0 1.0 -0100 -0250 (V) (n) 23 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors2 %********************************************************** /proc_tab_Ocolors2 {%BEG proc_tab_Ocolors2 %tab_Ocolors2 64 array def %8*8 defined before 0 1 7 {/iO exch def %iO=0,7 /i0 iO 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors2 i0 get def tab_Ocolors2 i1 get tab_Ocolors2 i2 get tab_Ocolors2 i3 get setrgbcolor /AnY0 xhh*w 0 eq {iO 3 le {hAB1i k get} {hAB2i k get} ifelse} if xhh*w 1 eq {iO 3 le {h*ab1i k get} {h*ab2i k get} ifelse} if xhh*w 2 eq {iO 3 le {wd1i k get iO 1 eq {/AnY01 wd1i k get def} if} {wd2i k get iO 5 eq {205 add} if} ifelse} if def /AnY AnY0 xhh*w 2 eq {400 sub} if faktx mul def /BnY0 yYLC 0 eq {iO 3 le {Y1i} {Y2i} ifelse k get} if yYLC 1 eq {iO 3 le {L*1i} {L*2i} ifelse k get} if %3 mul with AB and ab* yYLC 2 eq {iO 3 le {A1i k get dup mul B1i k get dup mul add} {A2i k get dup mul B2i k get dup mul add} ifelse 0.0001 add sqrt } if yYLC 3 eq {iO 3 le {a*1i k get dup mul b*1i k get dup mul add} {a*2i k get dup mul b*2i k get dup mul add} ifelse 0.0001 add sqrt } if def /BnY BnY0 yYLC 1 eq {3 mul} if fakty mul yshift add def AnY BnY 90 0 360 arc fill 0 0 0 setrgbcolor iO 3 gt {[100] 100 setdash} {[ ] 0 setdash} ifelse AnY BnY 90 0 360 arc stroke [ ] 0 setdash newpath AnY 80 add BnY 50 add moveto TBIL AnY0 cvishow (, ) show BnY0 cvishow xhh*w 2 eq iO 5 eq and {AnY 80 add BnY 150 sub moveto AnY01 cvishow (c) show } if newpath } for %iO=0,7 } bind def %END proc_tab_Ocolors2 /X1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1i 99 array def /Z1i 99 array def /hxy1i 99 array def /XAN1i 99 array def /YAN1i 99 array def /ZAN1i 99 array def /A1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1i 99 array def /CAB1i 99 array def /hAB1i 99 array def /AAN1i 99 array def /BAN1i 99 array def /CAN1i 99 array def /L*1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1i 99 array def /b*1i 99 array def /C*ab1i 99 array def /h*ab1i 99 array def /a'1i 99 array def /b'1i 99 array def /c'1i 99 array def /i11i 99 array def /i21i 99 array def /id1i 99 array def /ic1i 99 array def /w11i 99 array def /w21i 99 array def /w1c1i 99 array def /w2c1i 99 array def /wd1i 99 array def /wc1i 99 array def /wdc1i 99 array def /wcc1i 99 array def /X1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1in 99 array def /Z1in 99 array def /hxy1in 99 array def /XAN1in 99 array def /YAN1in 99 array def /ZAN1in 99 array def /A1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1in 99 array def /CAB1in 99 array def /hAB1in 99 array def /AAN1in 99 array def /BAN1in 99 array def /CAN1in 99 array def /L*1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1in 99 array def /b*1in 99 array def /C*ab1in 99 array def /h*ab1in 99 array def /a'1in 99 array def /b'1in 99 array def /c'1in 99 array def /i11in 99 array def /i21in 99 array def /id1in 99 array def /ic1in 99 array def /w11in 99 array def /w21in 99 array def /w1c1in 99 array def /w2c1in 99 array def /wd1in 99 array def /wc1in 99 array def /wdc1in 99 array def /wcc1in 99 array def /X2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2i 99 array def /Z2i 99 array def /hxy2i 99 array def /XAN2i 99 array def /YAN2i 99 array def /ZAN2i 99 array def /A2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2i 99 array def /CAB2i 99 array def /hAB2i 99 array def /AAN2i 99 array def /BAN2i 99 array def /CAN2i 99 array def /L*2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2i 99 array def /b*2i 99 array def /C*ab2i 99 array def /h*ab2i 99 array def /a'2i 99 array def /b'2i 99 array def /c'2i 99 array def /i12i 99 array def /i22i 99 array def /id2i 99 array def /ic2i 99 array def /w12i 99 array def /w22i 99 array def /w1c2i 99 array def /w2c2i 99 array def /wd2i 99 array def /wc2i 99 array def /wdc2i 99 array def /wcc2i 99 array def /X2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2in 99 array def /Z2in 99 array def /hxy2in 99 array def /XAN2in 99 array def /YAN2in 99 array def /ZAN2in 99 array def /A2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2in 99 array def /CAB2in 99 array def /hAB2in 99 array def /AAN2in 99 array def /BAN2in 99 array def /CAN2in 99 array def /L*2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2in 99 array def /b*2in 99 array def /C*ab2in 99 array def /h*ab2in 99 array def /a'2in 99 array def /b'2in 99 array def /c'2in 99 array def /i12in 99 array def /i22in 99 array def /id2in 99 array def /ic2in 99 array def /w12in 99 array def /w22in 99 array def /w1c2in 99 array def /w2c2in 99 array def /wd2in 99 array def /wc2in 99 array def /wdc2in 99 array def /wcc2in 99 array def %actual possible data (x=1,2,3,4) /Xxi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxi 99 array def /Zxi 99 array def /hxyxi 99 array def /XANxi 99 array def /YANxi 99 array def /ZANxi 99 array def /Axi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxi 99 array def /CABxi 99 array def /hABxi 99 array def /AANxi 99 array def /BANxi 99 array def /CANxi 99 array def /L*xi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xi 99 array def /b*xi 99 array def /C*abxi 99 array def /h*abxi 99 array def /a'xi 99 array def /b'xi 99 array def /c'xi 99 array def /i1xi 99 array def /i2xi 99 array def /idxi 99 array def /icxi 99 array def /w1xi 99 array def /w2xi 99 array def /w1cxi 99 array def /w2cxi 99 array def /wdxi 99 array def /wcxi 99 array def /wdcxi 99 array def /wccxi 99 array def /Xxin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxin 99 array def /Zxin 99 array def /hxyxin 99 array def /XANxin 99 array def /YANxin 99 array def /ZANxin 99 array def /Axin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxin 99 array def /CABxin 99 array def /hABxin 99 array def /AANxin 99 array def /BANxin 99 array def /CANxin 99 array def /L*xin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xin 99 array def /b*xin 99 array def /C*abxin 99 array def /h*abxin 99 array def /a'xin 99 array def /b'xin 99 array def /c'xin 99 array def /i1xin 99 array def /i2xin 99 array def /idxin 99 array def /icxin 99 array def /w1xin 99 array def /w2xin 99 array def /w1cxin 99 array def /w2cxin 99 array def /wdxin 99 array def /wcxin 99 array def /wdcxin 99 array def /wccxin 99 array def /FARBEda 79 array def /FARBEca 79 array def /FARBEd 79 array def /FARBEc 79 array def %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintP2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colseP2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %**************************************************** %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /xcolorl xcolor def %0 1 0 {/xcolorl exch def %xcolorl=0,0 %gsave xcolorl 1 eq {0 1 79 {/i exch def %i=0,79 F2 i F10 i get put } for %i=0,79 } if /NK 0 def %normalization NK=0 (Y=100), NK=1 (Y=88,6) /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /xdel 1005 def %/ydel 393 def %/ydel 275 def /ydel 175 def /x0 050 def /x1 -150 def /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin. /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 FARBEda 00 (Cm=380_561) put FARBEca 00 (Rm=561_770) put FARBEd 00 (C) put FARBEc 00 (R) put FARBEda 13 (Gm=470_570) put FARBEca 13 (Mm=570_470) put FARBEd 13 (G) put FARBEc 13 (M) put FARBEda 23 (Ym=520_770) put FARBEca 23 (Bm=380_520) put FARBEd 23 (Y) put FARBEc 23 (B) put FARBEda 18 (Ym=495_770) put FARBEca 18 (Bm=380_495) put FARBEd 18 (Y) put FARBEc 18 (B) put /iacol 23 def /xchart14 1 def %for a=x/y (0) and a=(x-0.171)/y (1) 0 setgray 5 /Times-ISOL1 FS 175 85 moveto (DG411-2A) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale gsave /xchartx xchart def 0 1 0 {/xchartx exch def %xchartx=0,7 gsave /xchartl 0 def %xchartl=0 to 7 for 8 pictures 1 1 01 {/xchartl exch def %xchartl=0,07 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto NK 0 eq {(DG410-) show} {(DG411-) show} ifelse xchartl 1 add cvishow (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 1 1 0 setrgbcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 colrecst %frame black %calculation of XW,YW,ZW for illuminant %D65, D50, P40, A00, E00, C00, P00, Q00 %P60, P55, P50, P45, P40, P35, P30, P25 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 %calculation of XW,YW,ZW for illuminant Pxx, Dxx 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 0 1 1 {/Icom exch def %Icom=0,1 only for part 1 Icom 0 eq {/xpos 100 def /xpos1 12100 def} {%/xpos 12100 def /xpos 100 def /xpos1 100 def} ifelse %/ymax 3700 def /ymax 3820 def TBS xpos 50 sub ymax ydel 0 mul sub moveto (CIE\255) show TELi xchartx get show (\255Daten von ) showde ( data of ) showea TBIS (\255Ostwald) showde ( Ostwald) showea TBS (\255Farben von maximalem Buntwert) showde ( colours of maximum chromatic value) showea TBIS ( C) show TBL 0 -60 rmoveto (AB) show 0 60 rmoveto xpos 50 sub ymax ydel 1 mul sub moveto TBIS (Y) show TBL 0 -60 rmoveto (w) show xcolorl 1 eq {(,10) show} if 0 60 rmoveto TBS NK 0 eq {(=100) show}{(=88,6) show} ifelse TBS (, ) show FARBEda iacol get show TBS (, ) show FARBEca iacol get show /icurm 1 def %0:dominant, 1:and complimentary colours %icurm=1: 1\255minus data (icurm=1) /iout0x 1 def %coordinate system /iout1x 1 def %iout1x=1:Ostwald colours 1 with procedures _cur2 %dominant (icurm=0) and complementary (icurm=1) /iout2x 0 def %iout2x=1:Ostwald colours 2 with procedures _cur2 /iout3x 0 def %sRGB colours, iout3x=1:sRGB data icurm 1 eq {%icurm=1 TBS (, and ) showea ( und ) showde (1\255minus data ( - -)) showea (1\255Minus\255Daten ( - -)) showde } if %icurm=1 iout2x 1 eq {%iout2x=1 TBS (, 2 calculation methods) showea (, 2 Berechnungsmethoden) showde } if %iout2x=1 iout3x 1 eq {%iout3x=1 TBS (, and ) showea ( und ) showde TBIS (sRGB) show TBS ( data ( - -)) showea (\255Daten ( - -)) showde } if %iout3x=1 %********************************************************* /WEL1 120 array def %irregular or regular definition /WEL2 120 array def %irregular or regular definition %0 1 2 3 4 5 6 7 8 9 /WEL1 [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def /WEL1 [405 410 415 420 425 430 435 440 445 450 455 460 465 470 475 480 485 490 495 500 505 510 515 520 525 530 535 540 545 550 555 560 565 570 575 580 585 590 595 600 605 610 615 620 625 630 635 640 645 650 655 660 665 670 675 680 685 690 695 700 ] def 0 1 57 {/k exch def %k=0,57 %wavelength 405..700nm /j WEL1 k get 400 sub 5 idiv def /FF1 FXD j get def %start at 405..700nm /FF2 FYD j get def /FF3 FZD j get def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0 i11i k INP put i21i k IPN put } { i12i k IPN put i22i k INP put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* Icom 0 eq {%Icom=0 INP 0 ge {%INP>=0 % xpos xdel 0 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow %includes rounding failure w11i k DOWXIE1 0.03 add cvi put w1c1i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow w21i k DOWXIE2 0.03 add cvi put w2c1i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show w21i k DOWXIE1 0.03 add cvi put w2c1i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 }%Icom=0 {%Icom=1 INP 0 ge {%INP>=0 % xpos xdel 1 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 0.03 add cvishow w22i k DOWXIE1 0.03 add cvi put w2c2i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE2 0.03 add cvishow w12i k DOWXIE2 0.03 add cvi put w1c2i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 cvishow (c) show w12i k DOWXIE1 0.03 add cvi put w1c2i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 } ifelse %Icom=0,1 0 0 0 setrgbcolor %********************************************************* 0 1 79 {/i exch def %i=0,79 RA i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RA i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RA i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RA i1 0.5 put RA i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /X 0 def /Y 0 def /Z 0 def 0 1 079 {/i exch def %i=0,79 /X X F2N 00 i add get RA i get mul add def /Y Y F2N 80 i add get RA i get mul add def /Z Z F2N 160 i add get RA i get mul add def } for %i=0,79 NK 1 eq {%NK=1 /faktn 0.8859 def /X X faktn mul def /Y Y faktn mul def /Z Z faktn mul def % /faktw 0.025 faktn div def %approximately 2,8% % /Xc XW X sub def %c=antichromatic % /Yc YW Y sub def % /Zc ZW Z sub def % /X X Xc faktw mul add faktn mul def % /Y Y Yc faktw mul add faktn mul def % /Z Z Zc faktw mul add faktn mul def } if %NK=1 /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def %************************************************* Icom 1 eq {%Icom=1 /X XW X sub def /Y YW Y sub def /Z ZW Z sub def /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def } if %Icom=1 /hxy YAN YANW sub XAN XANW sub 0.0001 add atan def Icom 0 eq {%Icom=0,1 X1i k X put Y1i k Y put Z1i k Z put %hxy1i k hxy put XAN1i k XAN put YAN1i k YAN put ZAN1i k ZAN put }%Icom=0 {%Icom=1 X2i k X put Y2i k Y put Z2i k Z put %hxy2i k hxy put XAN2i k XAN put YAN2i k YAN put ZAN2i k ZAN put } ifelse %Icom=0,1 xchart14 0 eq {%xchart14=0 /AAN X Y 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AAN XAN 0.171 sub YAN 0.0001 add div def } if %xchart14=1 /BAN Z Y 0.0001 add div 0.4 mul neg def /CAN AAN AANW sub dup mul BAN BANW sub dup mul add 0.0001 add sqrt def /A AAN AANW sub Y mul def /B BAN BANW sub Y mul def /CAB A dup mul B dup mul add 0.0001 add sqrt def /hAB B A 0.0001 add atan def Icom 0 eq {%Icom=0,1 Y1i k Y put A1i k A put B1i k B put CAB1i k CAB put hAB1i k hAB put AAN1i k AAN put BAN1i k BAN put CAN1i k CAN put }%Icom=0 {%Icom=1 Y2i k Y put A2i k A put B2i k B put CAB2i k CAB put hAB2i k hAB put AAN2i k AAN put BAN2i k BAN put CAN2i k CAN put } ifelse %Icom=0,1 /D13 1 3 div def /D841_108 841 108 div def /D16_116 16 116 div def /D24_116 24 116 div 3 exp def X XW div D24_116 gt {/FXXN X XW div 0.0001 add D13 exp def} {/FXXN D841_108 X XW div mul D16_116 add def} ifelse Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def} {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse Z ZW div D24_116 gt {/FZZN Z ZW div 0.0001 add D13 exp def} {/FZZN D841_108 Z YW div mul D16_116 add def} ifelse /L* 116. FYYN mul 16. sub def /a* 500. FXXN FYYN sub mul def /b* 200. FYYN FZZN sub mul def /C*ab a* dup mul b* dup mul add 0.5 exp def /h*ab b* a* 0.000001 add atan def /a' X Y 0.0001 add div D13 exp 0.2191 mul def /b' Z Y 0.0001 add div D13 exp -0.08376 mul def /c' a' dup mul b' dup mul add 0.0001 add sqrt def Icom 0 eq {%Icom=0,1 L*1i k L* put a*1i k a* put b*1i k b* put C*ab1i k C*ab put h*ab1i k h*ab put a'1i k a' put b'1i k b' put c'1i k c' put }%Icom=0 {%Icom=1 L*2i k L* put a*2i k a* put b*2i k b* put C*ab2i k C*ab put h*ab2i k h*ab put a'2i k a' put b'2i k b' put c'2i k c' put } ifelse %Icom=0,1 %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 X def /FF2 Y def /FF3 Z def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0,1 id1i k INP put ic1i k IPN put }%Icom=0 {%Icom=1 id2i k INP put ic2i k IPN put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def } if %kNP>=0 %********************************************************* INP 0 ge {%INP>=0,-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow Icom 0 eq {%Icom=0,1 wd1i k DOWXIE1 0.03 add cvi put wdc1i k () put }%Icom=0 {%Icom=1 wd2i k DOWXIE1 0.03 add cvi put wdc2i k () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wd1i k DOWXIE2 0.03 add cvi put wdc1i k (c) put }%Icom=0 {%Icom=1 wd2i k DOWXIE2 0.03 add cvi put wdc2i k (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 IPN 0 ge {%IPN>=0,-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow Icom 0 eq {%Icom=0,1 wc1i k DOWXIE2 0.03 add cvi put wcc1i k () put }%Icom=0 {%Icom=1 wc2i k DOWXIE2 0.03 add cvi put wcc2i k () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wc1i k DOWXIE1 0.03 add cvi put wcc1i k (c) put }%Icom=0 {%Icom=1 wc2i k DOWXIE1 0.03 add cvi put wcc2i k (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 0 0 0 setrgbcolor } for %k=0,57 } for %Icom=0,1 only for part 1 %************************************************************* /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvishowb {cvi 6 string cvs show ( ) show} def /cvsshow1b {10 mul cvi 0.1 mul 7 string cvs show ( ) show} def /cvsshow2b {100 mul cvi 0.01 mul 7 string cvs show ( ) show} def /cvsshow3b {1000 mul cvi 0.001 mul 7 string cvs show ( ) show} def /cvishowr {0.5 add cvi 6 string cvs show} def /cvsshow1r {0.05 add 10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2r {0.005 add 100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3r {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show} def /cvi100 {100 mul cvi /xi exch def xi 0 lt {/vorz -1 def} {/vorz 1 def} ifelse /xia xi abs def vorz -1 eq {(\255) show} {(0) show} ifelse xia 0 ge xia 9 le {(0000) show} if xia 10 ge xia 99 le and {(000) show} if xia 100 ge xia 999 le and {(00) show} if xia 1000 ge xia 9999 le and {(0) show} if xia cvishow } bind def /cvi1000 {1000 mul cvi /xi exch def xi 0 ge xi 9 le {(000) show} if xi 10 ge xi 99 le and {(00) show} if xi 100 ge xi 999 le and {(0) show} if xi cvishow } bind def /ymax 16600 def /idy 206 def /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 /ix0 100 def /ix1 ix0 1400 add def /ixd 600 def /iymax 16550 def /idy 206 def /xtext 0 def xtext 1 eq {%itext=1 TBIK ix0 iymax idy add 50 add moveto (rgb) show TBS 0 -90 rmoveto (i) show 0 90 rmoveto TBK ix1 ixd 0 mul add 150 add iymax idy add 50 add moveto TBK (i) show ix1 ixd 1 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 1 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z, x, y) show TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 6 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 6 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBIK (, a', b', c') show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 14 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 14 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBIK (, a, b, c) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 22 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 22 mul add iymax idy add 50 add moveto TBK ([) show TBIK (i) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TBIK (i) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 26 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 26 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z) show TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 29 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 29 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 34 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 34 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK } if %itext=1 %STOP %************************************************************* /imshow {0 -50 rmoveto TBL (m) show 0 50 rmoveto TBIS} def /ioshow {0 -50 rmoveto TBL (o) show 0 50 rmoveto TBIS} def /idshow {0 -50 rmoveto TBL (d) show 0 50 rmoveto TBIS} def /ieshow {0 -50 rmoveto TBL (e) show 0 50 rmoveto TBIS} def %************************************************************* %xchartl=0-0 %STOP0-0 %BEG X,Y,Z = f(hAB) xchartl 0 eq {%xchartl=0 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [( 0) ( 20) ( 40) ( 60) ( 80) (100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1800 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwerte) showde (CIE tristimulus values) showea TBIS 1 0 0 setrgbcolor ( X) show 0 setgray (,) show 0 1 0 setrgbcolor ( Y) show 0 setgray (,) show 0 0 1 setrgbcolor ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP0-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout1x=1 } if %xchartl=0 %END X,Y,Z = f(hAB) %STOP0-4 %************************************************************* %xchartl=1-0 %STOP1-0 %BEG A,B,CAB = f(hAB) xchartl 1 eq {%xchartl=1 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show TBS ( und) showde (, and) showea TBS ( Buntwerte) showde ( chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (, ) show TBIS (C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP1-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=1 %END A,B,CAB = f(hAB) %STOP1-4 %************************************************************* %xchartl=2-0 %STOP2-0 %BEG L*,a*,b*,C*ab = f(hAB) xchartl 2 eq {%xchartl=2 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP2-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=2 %END L*,a*,b*,C*ab = f(hAB) %STOP2-4 %************************************************************* %xchartl=3-0 %STOP3-0 %BEG L*,a*,b*,C*ab = f(h*ab) xchartl 3 eq {%xchartl=3 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 200 sub iytt moveto TBIS (h*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP3-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_h*ab_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 1 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=3 %END L*,a*,b*,C*ab = f(h*ab) %STOP3-4 %************************************************************* %xchartl=4-0 %STOP4-0 %BEG X,Y,Z = f(wd) xchartl 4 eq {%xchartl=4 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyY i get show -75 iyl moveto 150 0 rlineto stroke } for %no axis right /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (Normfarbwerte) showde (CIE tristimulus values) showea 1 0 0 setrgbcolor TBIS ( X) show TBS 0 setgray (,) show 0 1 0 setrgbcolor TBIS ( Y) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %***************************************************** %STOP4-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=4 %END X,Y,Z = f(wd) %STOP4-4 %************************************************************* %xchartl=5-0 %STOP5-0 %BEG A,B,CAB = f(wd) xchartl 5 eq {%xchartl=5 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyA [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyA i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -320 3000 120 add moveto (A) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (B) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-60 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 300 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Buntwerte) showde (, and chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %************************************************* %STOP5-1 380 280 1200 add translate %shift of cero point by 1200 iout1x 1 eq {%iout1x=1 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=5 %END A,B,CAB = f(wd) %STOP5-4 %************************************************************* %xchartl=6-0 %STOP6-0 %BEG L*,a*,b*,C*ab = f(wd) xchartl 6 eq {%xchartl=6 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tya* [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tya* i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a*) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b*) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 250 sub 3000 250 add moveto (L*) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (CIELAB\255Helligkeiten) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b*) show TBS 0 setgray (,) show TBIS ( C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %****************************************************** %STOP6-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=6 %END L*,a*,b*,C*ab = f(wd) %STOP6-4 %************************************************************* %xchartl=7-0 %STOP7-0 %BEG Y/100, a, b, cab = f(wd) xchartl 7 eq {%xchartl=7 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a) show 20 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 250 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill 0 setgray /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwert) showde (tristimulus value) showea 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Farbarten) showde (, and chromaticities) showea 1 0 0 setrgbcolor TBIS ( a) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( c) show 0 -30 rmoveto TBL xchart14 0 eq {(ab0)}{(ab1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%K=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %K=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************** %STOP7-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_wd_abcY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=7 %END a,b,c,Y = f(fw) %STOP7-4 %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer %%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 DG410-3N %%BoundingBox: 70 83 226 206 %START PDFDE011.EPS /pdfmark03 where {pop} {userdict /pdfmark03 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark03 [ /View [ /Fit ] /DOCVIEW pdfmark03 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {320 /Times-ISOL1 FS} bind def /TM {270 /Times-ISOL1 FS} bind def /TK {200 /Times-ISOL1 FS} bind def /TS {170 /Times-ISOL1 FS} bind def /TL {130 /Times-ISOL1 FS} bind def /TLL {100 /Times-ISOL1 FS} bind def /TIG {320 /TimesI-ISOL1 FS} bind def /TIM {270 /TimesI-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIS {170 /TimesI-ISOL1 FS} bind def /TIL {130 /TimesI-ISOL1 FS} bind def /TBG {320 /TimesB-ISOL1 FS} bind def /TBM {270 /TimesB-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBS {170 /TimesB-ISOL1 FS} bind def /TBL {130 /TimesB-ISOL1 FS} bind def /TBIG {320 /TimesBI-ISOL1 FS} bind def /TBIM {270 /TimesBI-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIS {170 /TimesBI-ISOL1 FS} bind def /TBIL {130 /TimesBI-ISOL1 FS} bind def /SG {320 /Symbol FS} bind def /SM {270 /Symbol FS} bind def /SK {200 /Symbol FS} bind def /SS {170 /Symbol FS} bind def /SL {130 /Symbol FS} bind def /CBG {320 /CourierB-ISOL1 FS} bind def /CBM {270 /CourierB-ISOL1 FS} bind def /CBK {200 /CourierB-ISOL1 FS} bind def /CBS {170 /CourierB-ISOL1 FS} bind def /CBL {130 /CourierB-ISOL1 FS} bind def %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintP2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 1 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colseP2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /xchart8 1 def % %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def %allways 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %calculation of transformation data /FARBE 33 array def /FARBE [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 470_570) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 570_470) %05 (G) (o) ( 520_570) %06 (R) (o) ( 570_780) %07 (N) (0) ( 380_770) %08 (W) (0) ( 380_770) %09 (W) (1) ( 380_770) %10 ] def %/FARBE [(R) (m) ( 565_770) %00 % (Y) (m) ( 495_770) %01 % (G) (m) ( 475_575) %02 % (C) (m) ( 380_565) %03 % (B) (m) ( 380_495) %04 % (M) (m) ( 575_475) %05 % (N) (0) ( 380_770) %06 % (W) (0) ( 380_770) %07 % (W) (1) ( 380_770) %08 % ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 800 array def %10x80 /RX0 [ %(%Ro 00 570_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Ym 01 520_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Gm 02 470_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Cm 03 380_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Bm 04 380_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Mm 05 570_470) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Go 06 520_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%N0(r=0,001) 07 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %(%W1(r=1,000) 08 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%W1(r=1,000) 09 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 ] def %************************************************** /proc_ALLi_def {%BEG proc_ALLi_def ij=ix-2 0 1 ij {/i exch def %i=0,ij kx 1 eq {Xxi i X1i i get put Yxi i Y1i i get put Zxi i Z1i i get put Axi i A1i i get put Bxi i B1i i get put L*xi i L*1i i get put a*xi i a*1i i get put b*xi i b*1i i get put AANxi i AAN1i i get put BANxi i BAN1i i get put CANxi i CAN1i i get put idxi i id1i i get put wdxi i wd1i i get put hABxi i hAB1i i get put h*abxi i h*ab1i i get put } if kx 2 eq {Xxi i X2i i get put Yxi i Y2i i get put Zxi i Z2i i get put Axi i A2i i get put Bxi i B2i i get put L*xi i L*2i i get put a*xi i a*2i i get put b*xi i b*2i i get put AANxi i AAN2i i get put BANxi i BAN2i i get put CANxi i CAN2i i get put idxi i id2i i get put wdxi i wd2i i get put hABxi i hAB2i i get put h*abxi i h*ab2i i get put } if kx 3 eq {Xxi i X3i i get put Yxi i Y3i i get put Zxi i Z3i i get put Axi i A3i i get put Bxi i B3i i get put L*xi i L*3i i get put a*xi i a*3i i get put b*xi i b*3i i get put AANxi i AAN3i i get put BANxi i BAN3i i get put CANxi i CAN3i i get put idxi i id3i i get put wdxi i wd3i i get put hABxi i hAB3i i get put h*abxi i h*ab3i i get put } if kx 4 eq {Xxi i X4i i get put Yxi i Y4i i get put Zxi i Z4i i get put Axi i A4i i get put Bxi i B4i i get put L*xi i L*4i i get put a*xi i a*4i i get put b*xi i b*4i i get put AANxi i AAN4i i get put BANxi i BAN4i i get put CANxi i CAN4i i get put idxi i id4i i get put wdxi i wd4i i get put hABxi i hAB4i i get put h*abxi i h*ab4i i get put } if } for %i=1,ij } bind def %END proc_ALLi_def %*********************************************************** /proc_ALLi_ALLin {%BEG proc_ALLi_ALLin %new order from front, new data amount ix=ij+2 hABxin 0 hABxi imin get 360 xpn 0 eq {add}{sub} ifelse put %351-360=-9 h*abxin 0 h*abxi imin get 360 xpn 0 eq {add}{sub} ifelse put wdxin 0 wdxi imin get xpn 0 eq {400 sub 769 add}{769 sub 400 add} ifelse put %769=700+564-495 Xxin 0 Xxi imin get put Yxin 0 Yxi imin get put Zxin 0 Zxi imin get put Axin 0 Axi imin get put Bxin 0 Bxi imin get put L*xin 0 L*xi imin get put a*xin 0 a*xi imin get put b*xin 0 b*xi imin get put AANxin 0 AANxi imin get put BANxin 0 BANxi imin get put CANxin 0 CANxi imin get put idxin 0 idxi imin get put imin1 1 ij {/i exch def %32_57 old, imin=31(h=38) imin1=32 /in i imin1 sub 1 add def %i=32_57-32+1=01_26 new hABxin in hABxi i get put %in=1,26=26 values h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for 0 1 imin {/i exch def %0-31 old /in ij imin sub i add 1 add def %in=57-31+i+1=26+i+1=26+31+1 hABxin in hABxi i get put h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for hABxin ix hABxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put %2.4+360 h*abxin ix h*abxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put wdxin ix wdxi imin1 get xpn 0 eq {769 sub 400 add}{400 sub 769 add} ifelse put %769=700+564-495 Xxin ix Xxi imin1 get put Yxin ix Yxi imin1 get put Zxin ix Zxi imin1 get put Axin ix Axi imin1 get put Bxin ix Bxi imin1 get put L*xin ix L*xi imin1 get put a*xin ix a*xi imin1 get put b*xin ix b*xi imin1 get put AANxin ix AANxi imin1 get put BANxin ix BANxi imin1 get put CANxin ix CANxi imin1 get put idxin ix idxi imin1 get put } bind def %END proc_ALLi_ALLin %******************************************************** /proc_hAB_min {%BEG proc_hAB_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 hABxi i get hABxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 hABxi i get hABxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (hABxi=) show hABxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (hABxi1=) show hABxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_hAB_min %******************************************************** /proc_h*ab_min {%BEG proc_h*ab_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 h*abxi i get h*abxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 h*abxi i get h*abxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (h*abxi=) show h*abxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (h*abxi1=) show h*abxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_h*ab_min %******************************************************** /proc_iwd_min {%BEG proc_iwd_min 1 1 ij {/i exch def %i=1,ij idxi i get -1 eq {wdxi i wdxi i get 495 sub 700 add put} if } for %i=1,ij 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 idxi i get 0 gt idxi i 1 add get -1 eq and {/imin i def exit} if }%xpn=0 {%xpn=1 idxi i get -1 eq idxi i 1 add get 0 gt and {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (iwdxi=) show idxi imin get cvishow (, ) show wdxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (iwdxi1=) show idxi imin1 get cvishow (, ) show wdxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_iwd_min %******************************************************** /proc_hAB_tab {%BEG proc_hAB_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxin i get cvsshow1 } for %i=1,ix newpath 180 faktx mul 00 fakty mul 40 0 360 arc fill 180 faktx mul 20 fakty mul 40 0 360 arc fill 180 faktx mul 40 fakty mul 40 0 360 arc fill 0 faktx mul -20 fakty mul 40 0 360 arc fill 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_hAB_tab %******************************************************** /proc_h*ab_tab {%BEG proc_h*ab_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxin i get cvsshow1 } for %i=1,ix %newpath %180 faktx mul 00 fakty mul 40 0 360 arc fill %180 faktx mul 20 fakty mul 40 0 360 arc fill %180 faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_h*ab_tab %******************************************************** /proc_iwd_tab {%BEG proc_iwd_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxi i get cvishow (, ) show wdxi i get cvishow } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxin i get cvishow (, ) show wdxin i get cvishow } for %i=1,ix %newpath %700 400 sub faktx mul 00 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 20 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_iwd_tab %********************************************************** /proc_hABw_XYZ_cur2 {%BEG proc_hABw_XYZ_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %X 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Xxin i get} {100 Xxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %Z 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Zxin i get} {100 Zxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_XYZ_cur2 %******************************************************** /proc_hABw_ABCY_cur2 {%BEG proc_hABw_ABCY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %A 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %B 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Bxin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %CAB 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get dup mul Bxin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_ABCY_cur2 %******************************************************** /proc_hABw_LabC*_cur2 {%BEG proc_hABw_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_LabC*_cur2 %******************************************************** /proc_h*ab_LabC*_cur2 {%BEG proc_h*ab_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_h*ab_LabC*_cur2 %******************************************************** /proc_wd_abcY_cur2 {%BEG proc_wd_abcY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul BANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get dup mul BANxin i get dup mul add 0.0001 add sqrt faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_wd_abcY_cur2 %************************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************** /tab_Ocolors2 64 array def %8*8 /tab_Ocolors2 %BEG tab_Ocolors2 [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 14 0.0 1.0 0.0 0100 -0050 (G) (O) 17 0.8 1.0 0.0 -0100 0100 (Y) (x) 23 1.0 1.0 0.0 -0100 0100 (Y) (O) 00 1.0 0.0 0.0 -0100 0100 (R) (O) 14 1.0 0.0 1.0 -0350 -0100 (M) (O) 17 0.2 0.0 1.0 -0100 -0250 (V) (n) 23 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors2 %********************************************************** /proc_tab_Ocolors2 {%BEG proc_tab_Ocolors2 %tab_Ocolors2 64 array def %8*8 defined before 0 1 7 {/iO exch def %iO=0,7 /i0 iO 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors2 i0 get def tab_Ocolors2 i1 get tab_Ocolors2 i2 get tab_Ocolors2 i3 get setrgbcolor /AnY0 xhh*w 0 eq {iO 3 le {hAB1i k get} {hAB2i k get} ifelse} if xhh*w 1 eq {iO 3 le {h*ab1i k get} {h*ab2i k get} ifelse} if xhh*w 2 eq {iO 3 le {wd1i k get iO 1 eq {/AnY01 wd1i k get def} if} {wd2i k get iO 5 eq {205 add} if} ifelse} if def /AnY AnY0 xhh*w 2 eq {400 sub} if faktx mul def /BnY0 yYLC 0 eq {iO 3 le {Y1i} {Y2i} ifelse k get} if yYLC 1 eq {iO 3 le {L*1i} {L*2i} ifelse k get} if %3 mul with AB and ab* yYLC 2 eq {iO 3 le {A1i k get dup mul B1i k get dup mul add} {A2i k get dup mul B2i k get dup mul add} ifelse 0.0001 add sqrt } if yYLC 3 eq {iO 3 le {a*1i k get dup mul b*1i k get dup mul add} {a*2i k get dup mul b*2i k get dup mul add} ifelse 0.0001 add sqrt } if def /BnY BnY0 yYLC 1 eq {3 mul} if fakty mul yshift add def AnY BnY 90 0 360 arc fill 0 0 0 setrgbcolor iO 3 gt {[100] 100 setdash} {[ ] 0 setdash} ifelse AnY BnY 90 0 360 arc stroke [ ] 0 setdash newpath AnY 80 add BnY 50 add moveto TBIL AnY0 cvishow (, ) show BnY0 cvishow xhh*w 2 eq iO 5 eq and {AnY 80 add BnY 150 sub moveto AnY01 cvishow (c) show } if newpath } for %iO=0,7 } bind def %END proc_tab_Ocolors2 %**************************************************** /xcolorl xcolor def %0 1 0 {/xcolorl exch def %xcolorl=0,0 %gsave xcolorl 1 eq {0 1 79 {/i exch def %i=0,79 F2 i F10 i get put } for %i=0,79 } if /KN 0 def %for KN=normalization 1 %/KN 1 def %for KN=normalization 0,886 /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /FAD 63 array def /FBD 63 array def /FCD 63 array def /xdel 1005 def %/ydel 393 def %/ydel 275 def /ydel 175 def /x0 050 def /x1 -150 def /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin. /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /X1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1i 99 array def /Z1i 99 array def /hxy1i 99 array def /XAN1i 99 array def /YAN1i 99 array def /ZAN1i 99 array def /A1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1i 99 array def /CAB1i 99 array def /hAB1i 99 array def /AAN1i 99 array def /BAN1i 99 array def /CAN1i 99 array def /L*1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1i 99 array def /b*1i 99 array def /C*ab1i 99 array def /h*ab1i 99 array def /a'1i 99 array def /b'1i 99 array def /c'1i 99 array def /i11i 99 array def /i21i 99 array def /id1i 99 array def /ic1i 99 array def /w11i 99 array def /w21i 99 array def /w1c1i 99 array def /w2c1i 99 array def /wd1i 99 array def /wc1i 99 array def /wdc1i 99 array def /wcc1i 99 array def /X1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1in 99 array def /Z1in 99 array def /hxy1in 99 array def /XAN1in 99 array def /YAN1in 99 array def /ZAN1in 99 array def /A1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1in 99 array def /CAB1in 99 array def /hAB1in 99 array def /AAN1in 99 array def /BAN1in 99 array def /CAN1in 99 array def /L*1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1in 99 array def /b*1in 99 array def /C*ab1in 99 array def /h*ab1in 99 array def /a'1in 99 array def /b'1in 99 array def /c'1in 99 array def /i11in 99 array def /i21in 99 array def /id1in 99 array def /ic1in 99 array def /w11in 99 array def /w21in 99 array def /w1c1in 99 array def /w2c1in 99 array def /wd1in 99 array def /wc1in 99 array def /wdc1in 99 array def /wcc1in 99 array def /X2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2i 99 array def /Z2i 99 array def /hxy2i 99 array def /XAN2i 99 array def /YAN2i 99 array def /ZAN2i 99 array def /A2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2i 99 array def /CAB2i 99 array def /hAB2i 99 array def /AAN2i 99 array def /BAN2i 99 array def /CAN2i 99 array def /L*2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2i 99 array def /b*2i 99 array def /C*ab2i 99 array def /h*ab2i 99 array def /a'2i 99 array def /b'2i 99 array def /c'2i 99 array def /i12i 99 array def /i22i 99 array def /id2i 99 array def /ic2i 99 array def /w12i 99 array def /w22i 99 array def /w1c2i 99 array def /w2c2i 99 array def /wd2i 99 array def /wc2i 99 array def /wdc2i 99 array def /wcc2i 99 array def /X2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2in 99 array def /Z2in 99 array def /hxy2in 99 array def /XAN2in 99 array def /YAN2in 99 array def /ZAN2in 99 array def /A2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2in 99 array def /CAB2in 99 array def /hAB2in 99 array def /AAN2in 99 array def /BAN2in 99 array def /CAN2in 99 array def /L*2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2in 99 array def /b*2in 99 array def /C*ab2in 99 array def /h*ab2in 99 array def /a'2in 99 array def /b'2in 99 array def /c'2in 99 array def /i12in 99 array def /i22in 99 array def /id2in 99 array def /ic2in 99 array def /w12in 99 array def /w22in 99 array def /w1c2in 99 array def /w2c2in 99 array def /wd2in 99 array def /wc2in 99 array def /wdc2in 99 array def /wcc2in 99 array def /X3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y3i 99 array def /Z3i 99 array def /hxy3i 99 array def /XAN3i 99 array def /YAN3i 99 array def /ZAN3i 99 array def /A3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B3i 99 array def /CAB3i 99 array def /hAB3i 99 array def /AAN3i 99 array def /BAN3i 99 array def /CAN3i 99 array def /L*3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*3i 99 array def /b*3i 99 array def /C*ab3i 99 array def /h*ab3i 99 array def /a'3i 99 array def /b'3i 99 array def /c'3i 99 array def /i13i 99 array def /i23i 99 array def /id3i 99 array def /ic3i 99 array def /w13i 99 array def /w23i 99 array def /w1c3i 99 array def /w2c3i 99 array def /wd3i 99 array def /wc3i 99 array def /wdc3i 99 array def /wcc3i 99 array def /X3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y3in 99 array def /Z3in 99 array def /hxy3in 99 array def /XAN3in 99 array def /YAN3in 99 array def /ZAN3in 99 array def /A3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B3in 99 array def /CAB3in 99 array def /hAB3in 99 array def /AAN3in 99 array def /BAN3in 99 array def /CAN3in 99 array def /L*3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*3in 99 array def /b*3in 99 array def /C*ab3in 99 array def /h*ab3in 99 array def /a'3in 99 array def /b'3in 99 array def /c'3in 99 array def /i13in 99 array def /i23in 99 array def /id3in 99 array def /ic3in 99 array def /w13in 99 array def /w23in 99 array def /w1c3in 99 array def /w2c3in 99 array def /wd3in 99 array def /wc3in 99 array def /wdc3in 99 array def /wcc3in 99 array def /X4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y4i 99 array def /Z4i 99 array def /hxy4i 99 array def /XAN4i 99 array def /YAN4i 99 array def /ZAN4i 99 array def /A4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B4i 99 array def /CAB4i 99 array def /hAB4i 99 array def /AAN4i 99 array def /BAN4i 99 array def /CAN4i 99 array def /L*4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*4i 99 array def /b*4i 99 array def /C*ab4i 99 array def /h*ab4i 99 array def /a'4i 99 array def /b'4i 99 array def /c'4i 99 array def /i14i 99 array def /i24i 99 array def /id4i 99 array def /ic4i 99 array def /w14i 99 array def /w24i 99 array def /w1c4i 99 array def /w2c4i 99 array def /wd4i 99 array def /wc4i 99 array def /wdc4i 99 array def /wcc4i 99 array def /X4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y4in 99 array def /Z4in 99 array def /hxy4in 99 array def /XAN4in 99 array def /YAN4in 99 array def /ZAN4in 99 array def /A4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B4in 99 array def /CAB4in 99 array def /hAB4in 99 array def /AAN4in 99 array def /BAN4in 99 array def /CAN4in 99 array def /L*4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*4in 99 array def /b*4in 99 array def /C*ab4in 99 array def /h*ab4in 99 array def /a'4in 99 array def /b'4in 99 array def /c'4in 99 array def /i14in 99 array def /i24in 99 array def /id4in 99 array def /ic4in 99 array def /w14in 99 array def /w24in 99 array def /w1c4in 99 array def /w2c4in 99 array def /wd4in 99 array def /wc4in 99 array def /wdc4in 99 array def /wcc4in 99 array def %actual possible data (x=1,2,3,4) /Xxi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxi 99 array def /Zxi 99 array def /hxyxi 99 array def /XANxi 99 array def /YANxi 99 array def /ZANxi 99 array def /Axi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxi 99 array def /CABxi 99 array def /hABxi 99 array def /AANxi 99 array def /BANxi 99 array def /CANxi 99 array def /L*xi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xi 99 array def /b*xi 99 array def /C*abxi 99 array def /h*abxi 99 array def /a'xi 99 array def /b'xi 99 array def /c'xi 99 array def /i1xi 99 array def /i2xi 99 array def /idxi 99 array def /icxi 99 array def /w1xi 99 array def /w2xi 99 array def /w1cxi 99 array def /w2cxi 99 array def /wdxi 99 array def /wcxi 99 array def /wdcxi 99 array def /wccxi 99 array def /Xxin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxin 99 array def /Zxin 99 array def /hxyxin 99 array def /XANxin 99 array def /YANxin 99 array def /ZANxin 99 array def /Axin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxin 99 array def /CABxin 99 array def /hABxin 99 array def /AANxin 99 array def /BANxin 99 array def /CANxin 99 array def /L*xin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xin 99 array def /b*xin 99 array def /C*abxin 99 array def /h*abxin 99 array def /a'xin 99 array def /b'xin 99 array def /c'xin 99 array def /i1xin 99 array def /i2xin 99 array def /idxin 99 array def /icxin 99 array def /w1xin 99 array def /w2xin 99 array def /w1cxin 99 array def /w2cxin 99 array def /wdxin 99 array def /wcxin 99 array def /wdcxin 99 array def /wccxin 99 array def 0 1 98 {/i exch def wd3i i 0 put id3i i 0 put } for /FARBEda 79 array def /FARBEca 79 array def /FARBEd 79 array def /FARBEc 79 array def FARBEda 00 (Cm=380_561) put FARBEca 00 (Rm=561_770) put FARBEd 00 (C) put FARBEc 00 (R) put FARBEda 13 (Gm=470_570) put FARBEca 13 (Mm=570_470) put FARBEd 13 (G) put FARBEc 13 (M) put FARBEda 23 (Ym=520_770) put FARBEca 23 (Bm=380_520) put FARBEd 23 (Y) put FARBEc 23 (B) put FARBEda 18 (Ym=495_770) put FARBEca 18 (Bm=380_495) put FARBEd 18 (Y) put FARBEc 18 (B) put /xchart4 1 def %xchart4=0 to 7 for 8 pictures %0 1 7 {/xchart4 exch def %xchart4=0,7 %gsave /xchart14 1 def %for a=x/y (0) and a=(x-0.171)/y (1) /xchartl xchart def 1 1 1 {/xchartl exch def %xchartl=0,7 gsave /iacol 23 def 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def 75 85 moveto lanind cvishow (-) show colorm cvishow deintp cvishow xcolorl cvishow xchart cvishow pchart cvishow colsep cvishow (-L) show pmetam cvishow 5 /Times-ISOL1 FS 185 85 moveto (DG410-3N) show %xchart 0 ge {(A) show} if %(_) show xchart4 1 add cvishow %(_) show xchartl 1 add cvishow 72 90 translate 0.010 MM dup scale 20 setlinewidth 0 0 1 0 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath fill 0 0 0 1 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath stroke %calculation of XW,YW,ZW for illuminant %D65, D50, P40, A00, E00, C00, P00, Q00 %P60, P55, P50, P45, P40, P35, P30, P25 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartl 0 eq {SX00 i SP60 i get put} if xchartl 1 eq {SX01 i SP55 i get put} if xchartl 2 eq {SX02 i SP50 i get put} if xchartl 3 eq {SX03 i SP45 i get put} if xchartl 4 eq {SX04 i SP40 i get put} if xchartl 5 eq {SX05 i SP35 i get put} if xchartl 6 eq {SX06 i SP30 i get put} if xchartl 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartl 0 eq {SX00 i SD65 i get put} if xchartl 1 eq {SX01 i SD50 i get put} if xchartl 2 eq {SX02 i SP40 i get put} if xchartl 3 eq {SX03 i SA00 i get put} if xchartl 4 eq {SX04 i SE00 i get put} if xchartl 5 eq {SX05 i SC00 i get put} if xchartl 6 eq {SX06 i SP00 i get put} if xchartl 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 %calculation of XW,YW,ZW for illuminant Pxx, Dxx 0 1 79 {/i exch def %i=0,79 SDAK i xchartl 0 eq {SX00 i get} if xchartl 1 eq {SX01 i get} if xchartl 2 eq {SX02 i get} if xchartl 3 eq {SX03 i get} if xchartl 4 eq {SX04 i get} if xchartl 5 eq {SX05 i get} if xchartl 6 eq {SX06 i get} if xchartl 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 0 1 1 {/Icom exch def %Icom=0,1 only for part 1 Icom 0 eq {/xpos 100 def /xpos1 12100 def} {%/xpos 12100 def /xpos 100 def /xpos1 100 def} ifelse %/ymax 3700 def /ymax 3820 def TBS xpos 50 sub ymax ydel 0 mul sub moveto (CIE\255) show TELi xchartl get show (\255Daten von ) showde ( data of ) showea TBIS (\255Ostwald) showde ( Ostwald) showea TBS (\255Farben von maximalem Buntwert) showde ( colours of maximum chromatic value) showea TBIS ( C) show TBL 0 -60 rmoveto (AB) show 0 60 rmoveto xpos 50 sub ymax ydel 1 mul sub moveto TBIS (Y) show TBL 0 -60 rmoveto (w) show xcolorl 1 eq {(,10) show} if 0 60 rmoveto TBS KN 0 eq {(=100) show}{(=88,6) show} ifelse TBS (, ) show FARBEda iacol get show TBS (, ) show FARBEca iacol get show /icurm 1 def %0:dominant, 1:and complimentary colours %icurm=1: 1\255minus data (icurm=1) /iout0x 1 def %coordinate system /iout1x 1 def %iout1x=1:Ostwald colours 1 with procedures _cur2 %dominant (icurm=0) and complementary (icurm=1) /iout2x 0 def %iout2x=1:Ostwald colours 2 with procedures _cur2 /iout3x 0 def %sRGB colours, iout3x=1:sRGB data icurm 1 eq {%icurm=1 TBS (, and ) showea ( und ) showde (1\255minus data ( - -)) showea (1\255Minus\255Daten ( - -)) showde } if %icurm=1 iout2x 1 eq {%iout2x=1 TBS (, 2 calculation methods) showea (, 2 Berechnungsmethoden) showde } if %iout2x=1 iout3x 1 eq {%iout3x=1 TBS (, and ) showea ( und ) showde TBIS (sRGB) show TBS ( data ( - -)) showea (\255Daten ( - -)) showde } if %iout3x=1 %********************************************************* /WEL1 120 array def %irregular or regular definition /WEL2 120 array def %irregular or regular definition %0 1 2 3 4 5 6 7 8 9 /WEL1 [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def /WEL1 [405 410 415 420 425 430 435 440 445 450 455 460 465 470 475 480 485 490 495 500 505 510 515 520 525 530 535 540 545 550 555 560 565 570 575 580 585 590 595 600 605 610 615 620 625 630 635 640 645 650 655 660 665 670 675 680 685 690 695 700 ] def 0 1 57 {/k exch def %k=0,57 %wavelength 405..700nm /j WEL1 k get 400 sub 5 idiv def /FF1 FXD j get def %start at 405..700nm /FF2 FYD j get def /FF3 FZD j get def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0 i11i k INP put i21i k IPN put } { i12i k IPN put i22i k INP put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* Icom 0 eq {%Icom=0 INP 0 ge {%INP>=0 % xpos xdel 0 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow %includes rounding failure w11i k DOWXIE1 0.03 add cvi put w1c1i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow w21i k DOWXIE2 0.03 add cvi put w2c1i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show w21i k DOWXIE1 0.03 add cvi put w2c1i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 }%Icom=0 {%Icom=1 INP 0 ge {%INP>=0 % xpos xdel 1 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 0.03 add cvishow w22i k DOWXIE1 0.03 add cvi put w2c2i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE2 0.03 add cvishow w12i k DOWXIE2 0.03 add cvi put w1c2i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 cvishow (c) show w12i k DOWXIE1 0.03 add cvi put w1c2i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 } ifelse %Icom=0,1 0 0 0 1 setcmyk_olvcolor %********************************************************* 0 1 79 {/i exch def %i=0,79 RA i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RA i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RA i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RA i1 0.5 put RA i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /X 0 def /Y 0 def /Z 0 def 0 1 079 {/i exch def %i=0,79 /X X F2N 00 i add get RA i get mul add def /Y Y F2N 80 i add get RA i get mul add def /Z Z F2N 160 i add get RA i get mul add def } for %i=0,79 KN 1 eq {%KN=1 /faktn 0.8859 def /X X faktn mul def /Y Y faktn mul def /Z Z faktn mul def % /faktw 0.025 faktn div def %approximately 2,8% % /Xc XW X sub def %c=antichromatic % /Yc YW Y sub def % /Zc ZW Z sub def % /X X Xc faktw mul add faktn mul def % /Y Y Yc faktw mul add faktn mul def % /Z Z Zc faktw mul add faktn mul def } if %KN=1 /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def %************************************************* Icom 1 eq {%Icom=1 /X XW X sub def /Y YW Y sub def /Z ZW Z sub def /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def } if %Icom=1 /hxy YAN YANW sub XAN XANW sub 0.0001 add atan def Icom 0 eq {%Icom=0,1 X1i k X put Y1i k Y put Z1i k Z put %hxy1i k hxy put XAN1i k XAN put YAN1i k YAN put ZAN1i k ZAN put }%Icom=0 {%Icom=1 X2i k X put Y2i k Y put Z2i k Z put %hxy2i k hxy put XAN2i k XAN put YAN2i k YAN put ZAN2i k ZAN put } ifelse %Icom=0,1 xchart14 0 eq {%xchart14=0 /AAN X Y 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AAN XAN 0.171 sub YAN 0.0001 add div def } if %xchart14=1 /BAN Z Y 0.0001 add div 0.4 mul neg def /CAN AAN AANW sub dup mul BAN BANW sub dup mul add 0.0001 add sqrt def /A AAN AANW sub Y mul def /B BAN BANW sub Y mul def /CAB A dup mul B dup mul add 0.0001 add sqrt def /hAB B A 0.0001 add atan def Icom 0 eq {%Icom=0,1 Y1i k Y put A1i k A put B1i k B put CAB1i k CAB put hAB1i k hAB put AAN1i k AAN put BAN1i k BAN put CAN1i k CAN put }%Icom=0 {%Icom=1 Y2i k Y put A2i k A put B2i k B put CAB2i k CAB put hAB2i k hAB put AAN2i k AAN put BAN2i k BAN put CAN2i k CAN put } ifelse %Icom=0,1 /D13 1 3 div def /D841_108 841 108 div def /D16_116 16 116 div def /D24_116 24 116 div 3 exp def X XW div D24_116 gt {/FXXN X XW div 0.0001 add D13 exp def} {/FXXN D841_108 X XW div mul D16_116 add def} ifelse Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def} {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse Z ZW div D24_116 gt {/FZZN Z ZW div 0.0001 add D13 exp def} {/FZZN D841_108 Z YW div mul D16_116 add def} ifelse /L* 116. FYYN mul 16. sub def /a* 500. FXXN FYYN sub mul def /b* 200. FYYN FZZN sub mul def /C*ab a* dup mul b* dup mul add 0.5 exp def /h*ab b* a* 0.000001 add atan def /a' X Y 0.0001 add div D13 exp 0.2191 mul def /b' Z Y 0.0001 add div D13 exp -0.08376 mul def /c' a' dup mul b' dup mul add 0.0001 add sqrt def Icom 0 eq {%Icom=0,1 L*1i k L* put a*1i k a* put b*1i k b* put C*ab1i k C*ab put h*ab1i k h*ab put a'1i k a' put b'1i k b' put c'1i k c' put }%Icom=0 {%Icom=1 L*2i k L* put a*2i k a* put b*2i k b* put C*ab2i k C*ab put h*ab2i k h*ab put a'2i k a' put b'2i k b' put c'2i k c' put } ifelse %Icom=0,1 %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 X def /FF2 Y def /FF3 Z def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0,1 id1i k INP put ic1i k IPN put }%Icom=0 {%Icom=1 id2i k INP put ic2i k IPN put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def } if %kNP>=0 %********************************************************* %0 1 1 0 setcmyk_olvcolor INP 0 ge {%INP>=0,-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow Icom 0 eq {%Icom=0,1 wd1i k DOWXIE1 0.03 add cvi put wdc1i k () put }%Icom=0 {%Icom=1 wd2i k DOWXIE1 0.03 add cvi put wdc2i k () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wd1i k DOWXIE2 0.03 add cvi put wdc1i k (c) put }%Icom=0 {%Icom=1 wd2i k DOWXIE2 0.03 add cvi put wdc2i k (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 %1 0 1 0 setcmyk_olvcolor IPN 0 ge {%IPN>=0,-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow Icom 0 eq {%Icom=0,1 wc1i k DOWXIE2 0.03 add cvi put wcc1i k () put }%Icom=0 {%Icom=1 wc2i k DOWXIE2 0.03 add cvi put wcc2i k () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wc1i k DOWXIE1 0.03 add cvi put wcc1i k (c) put }%Icom=0 {%Icom=1 wc2i k DOWXIE1 0.03 add cvi put wcc2i k (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 0 0 0 1 setcmyk_olvcolor } for %k=0,57 } for %Icom=0,1 only for part 1 %************************************************************* /RGB*16 16 array def /RGB*16 [(1.00 0.00 0.00) (1.00 0.25 0.00) (1.00 0.50 0.00) (1.00 0.75 0.00) (1.00 1.00 0.00) (0.75 1.00 0.00) (0.50 1.00 0.00) (0.25 1.00 0.00) (0.00 1.00 0.00) (0.00 1.00 0.50) (0.00 1.00 1.00) (0.00 0.50 1.00) (0.00 0.00 1.00) (0.50 0.00 1.00) (1.00 0.00 1.00) (1.00 0.00 0.50) ] def /RGBNM*16 16 array def /RGBNW*16 [(1.00 0.00 0.00) (0.50 0.00 0.00) (1.00 0.50 0.50) () (1.00 1.00 0.00) (0.50 0.50 0.00) (1.00 1.00 0.50) () (0.00 1.00 0.00) (0.00 0.50 0.00) (0.50 1.00 0.50) () (0.00 0.00 1.00) (0.00 0.00 0.50) (0.50 0.50 1.00) ()] def /RGB*005 05 array def /RGB*005 [(0.00 0.00 0.00) (0.25 0.25 0.25) (0.50 0.50 0.50) (0.75 0.75 0.75) (1.00 1.00 1.00)] def /RGB*009 09 array def /RGB*009 [ (0.000 0.000 0.000) (0.125 0.125 0.125) (0.250 0.250 0.250) (0.375 0.375 0.375) (0.500 0.500 0.500) (0.625 0.625 0.625) (0.750 0.750 0.750) (0.875 0.875 0.875) (1.000 1.000 1.000)] def /RGBOLV*73tx 73 array def /RGBOLV*73tx [ (1.000 0.000 0.000) (1.000 0.125 0.000) (1.000 0.250 0.000) (1.000 0.375 0.000) %O-Y (1.000 0.500 0.000) (1.000 0.625 0.000) (1.000 0.750 0.000) (1.000 0.875 0.000) (1.000 1.000 0.000) (0.875 1.000 0.000) (0.750 1.000 0.000) (0.625 1.000 0.000) %Y-L (0.500 1.000 0.000) (0.375 1.000 0.000) (0.250 1.000 0.000) (0.125 1.000 0.000) (0.000 1.000 0.000) (0.000 1.000 0.125) (0.000 1.000 0.250) (0.000 1.000 0.375) %L-C (0.000 1.000 0.500) (0.000 1.000 0.625) (0.000 1.000 0.750) (0.000 1.000 0.875) (0.000 1.000 1.000) (0.000 0.875 1.000) (0.000 0.750 1.000) (0.000 0.625 1.000) %C-V (0.000 0.500 1.000) (0.000 0.375 1.000) (0.000 0.250 1.000) (0.000 0.125 1.000) (0.000 0.000 1.000) (0.125 0.000 1.000) (0.250 0.000 1.000) (0.375 0.000 1.000) %V-M (0.500 0.000 1.000) (0.625 0.000 1.000) (0.750 0.000 1.000) (0.875 0.000 1.000) (1.000 0.000 1.000) (1.000 0.000 0.875) (1.000 0.000 0.750) (1.000 0.000 0.625) %M-O (1.000 0.000 0.500) (1.000 0.000 0.375) (1.000 0.000 0.250) (1.000 0.000 0.125) %repeat for range >360 degree (1.000 0.000 0.000) (1.000 0.125 0.000) (1.000 0.250 0.000) (1.000 0.375 0.000) %O-Y (1.000 0.500 0.000) (1.000 0.625 0.000) (1.000 0.750 0.000) (1.000 0.875 0.000) (1.000 1.000 0.000) (0.875 1.000 0.000) (0.750 1.000 0.000) (0.625 1.000 0.000) %Y-L (0.500 1.000 0.000) (0.375 1.000 0.000) (0.250 1.000 0.000) (0.125 1.000 0.000) %N-W (0.000 0.000 0.000) (0.125 0.125 0.125) (0.250 0.250 0.250) (0.375 0.375 0.375) (0.500 0.500 0.500) (0.625 0.625 0.625) (0.750 0.750 0.750) (0.875 0.875 0.875) (1.000 1.000 1.000) ] def /RGBOLV*219 219 array def /RGBOLV*219 [1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 %O-Y 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 0.000 %Y-L 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 0.000 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 %L-C 0.000 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 %C-V 0.000 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 1.000 %V-M 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 %M-O 1.000 0.000 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 %repeat for range >360 degree 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 %O-Y 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 0.000 %Y-L 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 %N-W 0.000 0.000 0.000 0.125 0.125 0.125 0.250 0.250 0.250 0.375 0.375 0.375 0.500 0.500 0.500 0.625 0.625 0.625 0.750 0.750 0.750 0.875 0.875 0.875 1.000 1.000 1.000 ] def %************************************************************************** /RGB0i_XYZi { %BEG procedure RGB0i_XYZj %transfers standard sRGB data (IEC 61966-2-1) to XYZ data %for 9x9x9=729 colours or 64+9=73 colours=48+16+9 colours %normalized XYZ data with Y=88.59 for display white, compare ISO 9241-306:2008. /IM0 73 def /IM1 IM0 1 sub def /iN 64 def /iW 72 def /Xi089 729 array def /Yi089 729 array def /Zi089 729 array def /Xi100 729 array def /Yi100 729 array def /Zi100 729 array def /R0i 729 array def /G0i 729 array def /B0i 729 array def %row no.1 and 2: 9xrgb %/imax 08 def %/jmax 08 def %/kmax 08 def %0 1 kmax {/k exch def %beg k=0,08 %0 1 jmax {/j exch def %beg j=0,jmax %0 1 imax {/i exch def %beg i=0,imax % /n i j 9 mul add k 81 mul add def % R0i n k kmax div 1000 mul put % G0i n j jmax div 1000 mul put % B0i n i imax div 1000 mul put % } for %end i=0,jmax % } for %end j=0,jmax % } for %end k=0,kmax 0 1 IM1 {/i exch def %i=0,IM1 /i3 i 3 mul def R0i i RGBOLV*219 i3 0 add get 1000 mul put G0i i RGBOLV*219 i3 1 add get 1000 mul put B0i i RGBOLV*219 i3 2 add get 1000 mul put } for %i=0,IM1 0 1 IM1 {/i exch def %i=0,IM1 R0i i get 0.04045 le %equations of IEC 61966-2-1:2003 {/RsRGB R0i i get 12.92 div def} {/RsRGB R0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse G0i i get 0.04045 le {/GsRGB G0i i get 12.92 div def} {/GsRGB G0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse B0i i get 0.04045 le {/BsRGB B0i i get 12.92 div def} {/BsRGB B0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse Xi100 i 0.4124 RsRGB mul 0.3576 GsRGB mul add 0.1805 BsRGB mul add 100 mul put Yi100 i 0.2126 RsRGB mul 0.7152 GsRGB mul add 0.0722 BsRGB mul add 100 mul put Zi100 i 0.0193 RsRGB mul 0.1192 GsRGB mul add 0.9505 BsRGB mul add 100 mul put } for %i=0,IM1 0 1 IM1 {/i exch def %i=0,IM1 Xi089 i Xi100 i get 0.8859 mul put Yi089 i Yi100 i get 0.8859 mul put Zi089 i Zi100 i get 0.8859 mul put } for %i=0,IM1 /XLN100 Xi100 iN get def /YLN100 Yi100 iN get def /ZLN100 Zi100 iN get def /XLW100 Xi100 iW get def /YLW100 Yi100 iW get def /ZLW100 Zi100 iW get def /XLN089 Xi089 iN get def /YLN089 Yi089 iN get def /ZLN089 Zi089 iN get def /XLW089 Xi089 iW get def /YLW089 Yi089 iW get def /ZLW089 Zi089 iW get def % achromatic (D65) colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLWD65089 95.04 0.8859 mul def /YLWD65089 100.00 0.8859 mul def /ZLWD65089 108.88 0.8859 mul def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def } bind def %END procedure RGB0i_XYZi for 729 colours %********************************************************************** /XYZi_Lab*i { %BEG Procedure XYZi_Lab*i %transfer from XYZi data to Lab*i CIELAB data for 9x9x9=729 colours %requires IM0, IM1, IN, IW %requires /Xi089,Yi089,Zi089 729 array def %max 729 %requires /Xi100,Yi100,Zi100 729 array def %max 729 %requires (XYZ)LWD65100, (XYZ)LWD65089 %new /L*i089,a*i089,b*i089 729 array def %max 729 %new /L*i100,a*i100,b*i100 729 array def %max 729 /L*i100 729 array def /a*i100 729 array def /b*i100 729 array def /L*i089 729 array def /a*i089 729 array def /b*i089 729 array def 0 1 IM1 {/i exch def %i=0,IM1 /XQ Xi089 i get XLWD65100 div def /YQ Yi089 i get YLWD65100 div def /ZQ Zi089 i get ZLWD65100 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if L*i089 i YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put a*i089 i XQ 0.008856 lt {7.787 XQ mul 16 116 div add} {XQ 0.33333333 exp} ifelse YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse sub 500 mul put b*i089 i YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add} {ZQ 0.33333333 exp} ifelse sub 200 mul put /XQ Xi100 i get XLWD65100 div def /YQ Yi100 i get YLWD65100 div def /ZQ Zi100 i get ZLWD65100 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if L*i100 i YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put a*i100 i XQ 0.008856 lt {7.787 XQ mul 16 116 div add} {XQ 0.33333333 exp} ifelse YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse sub 500 mul put b*i100 i YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add} {ZQ 0.33333333 exp} ifelse sub 200 mul put } for %i=0,IM1 /L*N100 L*i100 iN get def /a*N100 a*i100 iN get def /b*N100 b*i100 iN get def /L*W100 L*i100 iW get def /a*W100 a*i100 iW get def /b*W100 b*i100 iW get def /L*N089 L*i089 iN get def /a*N089 a*i089 iN get def /b*N089 b*i089 iN get def /L*W089 L*i089 iW get def /a*W089 a*i089 iW get def /b*W089 b*i089 iW get def } bind def %END XYZi_Lab*i %********************************************************************** /XYZi_ABi { %BEG Procedure XYZj_ABi %transfer from XYZj data to ABi YAB data for 9x9x9=729 colours %requires IM0, IM1, IN, IW %requires /Xi089,Yi089,Zi089 729 array def %max 729 %requires /Xi100,Yi100,Zi100 729 array def %max 729 %requires (XYZ)LWD65100, (XYZ)LWD65089 %new /Ai089,Bi089 729 array def %max 729 %new /Ai100,Bi100 729 array def %max 729 /Ai100 729 array def /Bi100 729 array def /Ai089 729 array def /Bi089 729 array def /XW100 XLWD65100 def /YW100 YLWD65100 def /ZW100 ZLWD65100 def 0 1 IM1 {/i exch def %i=0,IM1 Ai100 i Xi100 i get Yi100 i get 0.0001 add div XLWD65100 YLWD65100 0.0001 add div sub Yi100 i get mul put Bi100 i Zi100 i get Yi100 i get 0.0001 add div ZLWD65100 YLWD65100 0.0001 add div sub Yi100 i get mul 0.4 mul neg put Ai089 i Ai100 i get 0.8859 mul put Bi089 i Bi100 i get 0.8859 mul put } for %i=0,IM1 /AN100 Ai100 iN get def /BN100 Bi100 iN get def /AW100 Ai100 iW get def /BW100 Bi100 iW get def /AN089 Ai089 iN get def /BN089 Bi089 iN get def /AW089 Ai089 iW get def /BW089 Bi089 iW get def } bind def %END XYZi_ABi %********************************************************************** /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvishowb {cvi 6 string cvs show ( ) show} def /cvsshow1b {10 mul cvi 0.1 mul 7 string cvs show ( ) show} def /cvsshow2b {100 mul cvi 0.01 mul 7 string cvs show ( ) show} def /cvsshow3b {1000 mul cvi 0.001 mul 7 string cvs show ( ) show} def /cvishowr {0.5 add cvi 6 string cvs show} def /cvsshow1r {0.05 add 10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2r {0.005 add 100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3r {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show} def /cvi100 {100 mul cvi /xi exch def xi 0 lt {/vorz -1 def} {/vorz 1 def} ifelse /xia xi abs def vorz -1 eq {(\255) show} {(0) show} ifelse xia 0 ge xia 9 le {(0000) show} if xia 10 ge xia 99 le and {(000) show} if xia 100 ge xia 999 le and {(00) show} if xia 1000 ge xia 9999 le and {(0) show} if xia cvishow } bind def /cvi1000 {1000 mul cvi /xi exch def xi 0 ge xi 9 le {(000) show} if xi 10 ge xi 99 le and {(00) show} if xi 100 ge xi 999 le and {(0) show} if xi cvishow } bind def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def %72 90 translate %0.01 MM dup scale %TK %100 -180 moveto %(DG410-2N, ) show %(NCS colours) showea %(NCS\255Farben) showde %TK %(, normalized:) showea %(, normiert:) showde %TIK %( Yn = Yw) show %TK %( = 100) show %STOP1 RGB0i_XYZi %STOP2 XYZi_Lab*i %STOP3 XYZi_ABi %STOP /ymax 16600 def /idy 206 def /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /FAD 63 array def /FBD 63 array def /FCD 63 array def /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 /ix0 100 def /ix1 ix0 1400 add def /ixd 600 def /iymax 16550 def /idy 206 def /xtext 0 def xtext 1 eq {%itext=1 TBIK ix0 iymax idy add 50 add moveto (rgb) show TBS 0 -90 rmoveto (i) show 0 90 rmoveto TBK ix1 ixd 0 mul add 150 add iymax idy add 50 add moveto TBK (i) show ix1 ixd 1 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 1 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z, x, y) show TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 6 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 6 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBIK (, a', b', c') show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 14 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 14 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBIK (, a, b, c) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 22 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 22 mul add iymax idy add 50 add moveto TBK ([) show TBIK (i) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TBIK (i) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 26 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 26 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z) show TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 29 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 29 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 34 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 34 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK } if %itext=1 /D13 1 3 div def /a2D65 1 XLWD65100 0.0001 add div D13 exp def /b2D65 1 ZLWD65100 0.0001 add div D13 exp neg def TK %20000 15000 moveto a2D65 cvsshow3r (,) b2D65 cvsshow3r /aWD65100 XLWD65100 YLWD65100 0.0001 add div def /bWD65100 ZLWD65100 YLWD65100 0.0001 add div 0.4 mul neg def /aWD65089 XLWD65100 YLWD65100 0.0001 add div def /bWD65089 ZLWD65100 YLWD65100 0.0001 add div 0.4 mul neg def %20000 14000 moveto aWD65100 cvsshow3r (,) bWD65100 cvsshow3r /a'WD65100 XLWD65100 YLWD65100 0.0001 add div D13 exp a2D65 mul def /b'WD65100 ZLWD65100 YLWD65100 0.0001 add div D13 exp b2D65 mul def /a'WD65089 XLWD65100 YLWD65100 0.0001 add div D13 exp a2D65 mul def /b'WD65089 ZLWD65100 YLWD65100 0.0001 add div D13 exp b2D65 mul def %20000 13000 moveto a'WD65100 cvsshow3r (,) b'WD65100 cvsshow3r /itx -0.8 def 0 1 IM1 {/i exch def %i=0,IM1 % i IM1 ne {%i#IM1 % i i 8 idiv 8 mul eq {/itx itx 0.8 add def} if % } if %i#IM1 % /iy i itx add def %ix0 ixd 0 mul add iymax iy idy mul sub moveto %RGBOLV*73tx i get show %ix1 ixd 0 mul add 150 add iymax iy idy mul sub moveto %i 9 le {(0) show} if i cvishow /XD65100 Xi100 i get def /YD65100 Yi100 i get def /ZD65100 Zi100 i get def /SUM XD65100 YD65100 add ZD65100 add def /xD65100 XD65100 SUM 0.0001 add div def /yD65100 YD65100 SUM 0.0001 add div def %ix1 ixd 1 mul add iymax iy idy mul sub moveto XD65100 cvsshow1r %ix1 ixd 2 mul add iymax iy idy mul sub moveto YD65100 cvsshow1r %ix1 ixd 3 mul add iymax iy idy mul sub moveto ZD65100 cvsshow1r %ix1 ixd 4 mul add iymax iy idy mul sub moveto xD65100 cvsshow3r %ix1 ixd 5 mul add iymax iy idy mul sub moveto yD65100 cvsshow3r X3i i XD65100 put Y3i i YD65100 put Z3i i ZD65100 put %XAN3i i xD65100 put %YAN3i i yD65100 put /a'D65100 XD65100 YD65100 0.0001 add div D13 exp a2D65 mul def /b'D65100 ZD65100 YD65100 0.0001 add div D13 exp b2D65 mul def /c'D65100 a'D65100 a'WD65100 sub dup mul b'D65100 b'WD65100 sub dup mul add 0.0001 add sqrt def /L*D65100 L*i100 i get def /a*D65100 a*i100 i get def /b*D65100 b*i100 i get def /C*D65100 a*D65100 dup mul b*D65100 dup mul add 0.0001 add sqrt def /h*D65100 b*D65100 a*D65100 0.0001 add atan def %ix1 ixd 06 mul add iymax iy idy mul sub moveto L*D65100 cvsshow1r %ix1 ixd 07 mul add iymax iy idy mul sub moveto a*D65100 cvsshow1r %ix1 ixd 08 mul add iymax iy idy mul sub moveto b*D65100 cvsshow1r %ix1 ixd 09 mul add iymax iy idy mul sub moveto C*D65100 cvsshow1r %ix1 ixd 10 mul add iymax iy idy mul sub moveto h*D65100 cvsshow1r %ix1 ixd 11 mul add iymax iy idy mul sub moveto a'D65100 cvsshow3r %ix1 ixd 12 mul add iymax iy idy mul sub moveto b'D65100 cvsshow3r %ix1 ixd 13 mul add iymax iy idy mul sub moveto c'D65100 cvsshow3r L*3i i L*D65100 put a*3i i a*D65100 put b*3i i b*D65100 put C*ab3i i C*D65100 put h*ab3i i h*D65100 put %a'3i i a'D65100 put %b'3i i b'D65100 put %c'3i i c'D65100 put /aD65100 XD65100 YD65100 0.0001 add div def /bD65100 ZD65100 YD65100 0.0001 add div 0.4 mul neg def /cD65100 aD65100 aWD65100 sub dup mul bD65100 bWD65100 sub dup mul add 0.0001 add sqrt def /AD65100 XD65100 YD65100 0.0001 add div XLWD65100 YLWD65100 0.0001 add div sub YD65100 mul def /BD65100 ZD65100 YD65100 0.0001 add div ZLWD65100 YLWD65100 0.0001 add div sub YD65100 mul 0.4 mul neg def /CD65100 AD65100 dup mul BD65100 dup mul add 0.0001 add sqrt def /hD65100 BD65100 AD65100 0.0001 add atan def %ix1 ixd 14 mul add iymax iy idy mul sub moveto YD65100 cvsshow1r %ix1 ixd 15 mul add iymax iy idy mul sub moveto AD65100 cvsshow1r %ix1 ixd 16 mul add iymax iy idy mul sub moveto BD65100 cvsshow1r %ix1 ixd 17 mul add iymax iy idy mul sub moveto CD65100 cvsshow1r %ix1 ixd 18 mul add iymax iy idy mul sub moveto hD65100 cvsshow1r %ix1 ixd 19 mul add iymax iy idy mul sub moveto aD65100 cvsshow3r %ix1 ixd 20 mul add iymax iy idy mul sub moveto bD65100 cvsshow3r %ix1 ixd 21 mul add iymax iy idy mul sub moveto cD65100 cvsshow3r A3i i AD65100 put B3i i BD65100 put CAB3i i CD65100 put hAB3i i hD65100 put AAN3i i aD65100 put BAN3i i bD65100 put CAN3i i cD65100 put %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 XD65100 def /FF2 YD65100 def /FF3 ZD65100 def /U1 XLWD65100 def /U2 YLWD65100 def /U3 ZLWD65100 def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/j exch def %j=1,60 /TN FAD j get FXU1 mul FBD j get FXU2 mul add FCD j get FXU3 mul add def /TP FAD j 1 add get FXU1 mul FBD j 1 add get FXU2 mul add FCD j 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP j def exit} if } for %j=1,60 0 1 60 {/j exch def %j=1,60 /TN FAD j get FXU1 mul FBD j get FXU2 mul add FCD j get FXU3 mul add neg def /TP FAD j 1 add get FXU1 mul FBD j 1 add get FXU2 mul add FCD j 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN j def exit} if } for %j=1,60 /Icom 0 def %Icom=0 only for part 2 TM Icom 0 eq {%Icom=0,1 id3i i INP put ic3i i IPN put }%Icom=0 {%Icom=1 id4i i INP put ic4i i IPN put } ifelse %Icom=0,1 TLL %ix1 ixd 22 mul add iymax iy idy mul sub moveto INP cvishow %ix1 ixd 23 mul add iymax iy idy mul sub moveto IPN cvishow %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def } if %kNP>=0 %********************************************************* %0 1 1 0 setcmyk_olvcolor INP 0 ge {%INP>=0,-1 % ix1 ixd 24 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 cvishow Icom 0 eq {%Icom=0,1 wd3i i DOWXIE1 0.03 add cvi put wdc3i i () put }%Icom=0 {%Icom=1 wd4i i DOWXIE1 0.03 add cvi put wdc4i i () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % ix1 ixd 24 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 cvishow (c) show Icom 0 eq {%Icom=0,1 wd3i i DOWXIE2 0.03 add cvi put wdc3i i (c) put }%Icom=0 {%Icom=1 wd4i i DOWXIE2 0.03 add cvi put wdc4i i (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 %1 0 1 0 setcmyk_olvcolor IPN 0 ge {%IPN>=0,-1 % ix1 ixd 25 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 cvishow Icom 0 eq {%Icom=0,1 wc3i i DOWXIE2 0.03 add cvi put wcc3i i () put }%Icom=0 {%Icom=1 wc4i i DOWXIE2 0.03 add cvi put wcc4i i () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % ix1 ixd 25 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 cvishow (c) show Icom 0 eq {%Icom=0,1 wc3i i DOWXIE1 0.03 add cvi put wcc3i i (c) put }%Icom=0 {%Icom=1 wc4i i DOWXIE1 0.03 add cvi put wcc4i i (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 %********************************************************************** /XD65089 Xi089 i get def /YD65089 Yi089 i get def /ZD65089 Zi089 i get def %ix1 ixd 26 mul add iymax iy idy mul sub moveto XD65089 cvsshow1r %ix1 ixd 27 mul add iymax iy idy mul sub moveto YD65089 cvsshow1r %ix1 ixd 28 mul add iymax iy idy mul sub moveto ZD65089 cvsshow1r X4i i XD65089 put Y4i i YD65089 put Z4i i ZD65089 put %XAN4i i xD65089 put %YAN4i i yD65089 put /a'D65089 XD65089 YD65089 0.0001 add div D13 exp a2D65 mul def /b'D65089 ZD65089 YD65089 0.0001 add div D13 exp b2D65 mul def /c'D65089 a'D65089 a'WD65089 sub dup mul b'D65089 b'WD65089 sub dup mul add 0.0001 add sqrt def /L*D65089 L*i089 i get def /a*D65089 a*i089 i get def /b*D65089 b*i089 i get def /C*D65089 a*D65089 dup mul b*D65089 dup mul add 0.0001 add sqrt def /h*D65089 b*D65089 a*D65089 0.0001 add atan def %ix1 ixd 29 mul add iymax iy idy mul sub moveto L*D65089 cvsshow1r %ix1 ixd 30 mul add iymax iy idy mul sub moveto a*D65089 cvsshow1r %ix1 ixd 31 mul add iymax iy idy mul sub moveto b*D65089 cvsshow1r %ix1 ixd 32 mul add iymax iy idy mul sub moveto C*D65089 cvsshow1r %ix1 ixd 33 mul add iymax iy idy mul sub moveto h*D65089 cvsshow1r %ix1 ixd 11 mul add iymax iy idy mul sub moveto a'D65089 cvsshow3r %ix1 ixd 12 mul add iymax iy idy mul sub moveto b'D65089 cvsshow3r %ix1 ixd 13 mul add iymax iy idy mul sub moveto c'D65089 cvsshow3r L*4i i L*D65089 put a*4i i a*D65089 put b*4i i b*D65089 put C*ab4i i C*D65089 put h*ab4i i h*D65089 put %a'4i i a'D65089 put %b'4i i b'D65089 put %c'4i i c'D65089 put /aD65089 XD65089 YD65089 0.0001 add div def /bD65089 ZD65089 YD65089 0.0001 add div 0.4 mul neg def /cD65089 aD65089 aWD65089 sub dup mul bD65089 bWD65089 sub dup mul add 0.0001 add sqrt def /AD65089 XD65089 YD65089 0.0001 add div XLWD65089 YLWD65089 0.0001 add div sub YD65089 mul def /BD65089 ZD65089 YD65089 0.0001 add div ZLWD65089 YLWD65089 0.0001 add div sub YD65089 mul 0.4 mul neg def /CD65089 AD65089 dup mul BD65089 dup mul add 0.0001 add sqrt def /hD65089 BD65089 AD65089 0.0001 add atan def %ix1 ixd 34 mul add iymax iy idy mul sub moveto YD65089 cvsshow1r %ix1 ixd 35 mul add iymax iy idy mul sub moveto AD65089 cvsshow1r %ix1 ixd 36 mul add iymax iy idy mul sub moveto BD65089 cvsshow1r %ix1 ixd 37 mul add iymax iy idy mul sub moveto CD65089 cvsshow1r %ix1 ixd 38 mul add iymax iy idy mul sub moveto hD65089 cvsshow1r %ix1 ixd 19 mul add iymax iy idy mul sub moveto aD65089 cvsshow3r %ix1 ixd 20 mul add iymax iy idy mul sub moveto bD65089 cvsshow3r %ix1 ixd 21 mul add iymax iy idy mul sub moveto cD65089 cvsshow3r A4i i AD65089 put B4i i BD65089 put CAB4i i CD65089 put hAB4i i hD65089 put %a4i i aD65089 put %b4i i bD65089 put %c4i i cD65089 put } for %i=0,IM1 %STOP %************************************************************* /imshow {0 -50 rmoveto TBL (m) show 0 50 rmoveto TBIS} def /ioshow {0 -50 rmoveto TBL (o) show 0 50 rmoveto TBIS} def /idshow {0 -50 rmoveto TBL (d) show 0 50 rmoveto TBIS} def /ieshow {0 -50 rmoveto TBL (e) show 0 50 rmoveto TBIS} def %************************************************************* %xchart4=0-0 %STOP0-0 %BEG X,Y,Z = f(hAB) xchart4 0 eq {%xchart4=0 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [( 0) ( 20) ( 40) ( 60) ( 80) (100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1800 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwerte) showde (CIE tristimulus values) showea TBIS 1 0 0 setrgbcolor ( X) show 0 setgray (,) show 0 1 0 setrgbcolor ( Y) show 0 setgray (,) show 0 0 1 setrgbcolor ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP0-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP0-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift -1200 def proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 } if %iout2x=1 %************************************************************ %STOP0-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift 0000 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_XYZ_cur2 [] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout3x=1 } if %xchart4=0 %END X,Y,Z = f(hAB) %STOP0-4 %************************************************************* %xchart4=1-0 %STOP1-0 %BEG A,B,CAB = f(hAB) xchart4 1 eq {%xchart4=1 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show TBS ( und) showde (, and) showea TBS ( Buntwerte) showde ( chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (, ) show TBIS (C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP1-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP1-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 0 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP1-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_ABCY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=1 %END A,B,CAB = f(hAB) %STOP1-4 %************************************************************* %xchart4=2-0 %STOP2-0 %BEG L*,a*,b*,C*ab = f(hAB) xchart4 2 eq {%xchart4=2 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP2-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP2-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 0 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP2-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=2 %END L*,a*,b*,C*ab = f(hAB) %STOP2-4 %************************************************************* %xchart4=3-0 %STOP3-0 %BEG L*,a*,b*,C*ab = f(h*ab) xchart4 3 eq {%xchart4=3 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 200 sub iytt moveto TBIS (h*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP3-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_h*ab_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 1 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP3-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_h*ab_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 1 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP3-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=3 %END L*,a*,b*,C*ab = f(h*ab) %STOP3-4 %************************************************************* %xchart4=4-0 %STOP4-0 %BEG X,Y,Z = f(wd) xchart4 4 eq {%xchart4=4 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyY i get show -75 iyl moveto 150 0 rlineto stroke } for %no axis right /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (Normfarbwerte) showde (CIE tristimulus values) showea 1 0 0 setrgbcolor TBIS ( X) show TBS 0 setgray (,) show 0 1 0 setrgbcolor TBIS ( Y) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %***************************************************** %STOP4-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP4-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift -1200 def proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samRMB proc_tab_Ocolors2 } if %stext=1 } if %iout2x=1 %************************************************************ %STOP4-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift 0000 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_XYZ_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout3x=1 } if %xchart4=4 %END X,Y,Z = f(wd) %STOP4-4 %************************************************************* %xchart4=5-0 %STOP5-0 %BEG A,B,CAB = f(wd) xchart4 5 eq {%xchart4=5 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyA [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyA i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -320 3000 120 add moveto (A) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (B) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-60 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 300 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Buntwerte) showde (, and chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %************************************************* %STOP5-1 380 280 1200 add translate %shift of cero point by 1200 iout1x 1 eq {%iout1x=1 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP5-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP5-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_ABCY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=5 %END A,B,CAB = f(wd) %STOP5-4 %************************************************************* %xchart4=6-0 %STOP6-0 %BEG L*,a*,b*,C*ab = f(wd) xchart4 6 eq {%xchart4=6 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tya* [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tya* i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a*) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b*) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 250 sub 3000 250 add moveto (L*) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (CIELAB\255Helligkeiten) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b*) show TBS 0 setgray (,) show TBIS ( C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %****************************************************** %STOP6-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP6-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP6-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=6 %END L*,a*,b*,C*ab = f(wd) %STOP6-4 %************************************************************* %xchart4=7-0 %STOP7-0 %BEG Y/100, a, b, cab = f(wd) xchart4 7 eq {%xchart4=7 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a) show 20 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 250 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill 0 setgray /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwert) showde (tristimulus value) showea 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Farbarten) showde (, and chromaticities) showea 1 0 0 setrgbcolor TBIS ( a) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( c) show 0 -30 rmoveto TBL xchart14 0 eq {(ab0)}{(ab1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%K=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %K=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************** %STOP7-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_wd_abcY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP7-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %%used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift -0000 def proc_wd_abcY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP7-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %%used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_wd_abcY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=7 %END a,b,c,Y = f(fw) %STOP7-4 %*************************************************************** showpage grestore } for %xchartl=0,7 %showpage %grestore %} for %xchart4=0,7 %showpage %grestore %} for %xcolorl=0,0 %%Trailer %%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 http://farbe.li.tu-berlin.de/DG41/DG411-2A 20180501 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark04 where {pop} {userdict /pdfmark04 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark04 [ /View [ /Fit ] /DOCVIEW pdfmark04 %END PDFDE011 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth r g b {setrgbcolor rec fill} bind def /colrecst %x y width heigth r g b {setrgbcolor rec stroke} bind def /TG {320 /Times-ISOL1 FS} bind def /TM {270 /Times-ISOL1 FS} bind def /TK {200 /Times-ISOL1 FS} bind def /TS {170 /Times-ISOL1 FS} bind def /TL {130 /Times-ISOL1 FS} bind def /TLL {100 /Times-ISOL1 FS} bind def /TIG {320 /TimesI-ISOL1 FS} bind def /TIM {270 /TimesI-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIS {170 /TimesI-ISOL1 FS} bind def /TIL {130 /TimesI-ISOL1 FS} bind def /TBG {320 /TimesB-ISOL1 FS} bind def /TBM {270 /TimesB-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBS {170 /TimesB-ISOL1 FS} bind def /TBL {130 /TimesB-ISOL1 FS} bind def /TBIG {320 /TimesBI-ISOL1 FS} bind def /TBIM {270 /TimesBI-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIS {170 /TimesBI-ISOL1 FS} bind def /TBIL {130 /TimesBI-ISOL1 FS} bind def /SG {320 /Symbol FS} bind def /SM {270 /Symbol FS} bind def /SK {200 /Symbol FS} bind def /SS {170 /Symbol FS} bind def /SL {130 /Symbol FS} bind def /CBG {320 /CourierB-ISOL1 FS} bind def /CBM {270 /CourierB-ISOL1 FS} bind def /CBK {200 /CourierB-ISOL1 FS} bind def /CBS {170 /CourierB-ISOL1 FS} bind def /CBL {130 /CourierB-ISOL1 FS} bind def %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def /FXD 63 array def /FYD 63 array def /FZD 63 array def /FAD 63 array def /FBD 63 array def /FCD 63 array def %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def %allways 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /xchart8 1 def % /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %calculation of transformation data /FARBE 33 array def /FARBE [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 470_570) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 570_470) %05 (G) (o) ( 520_570) %06 (R) (o) ( 570_780) %07 (N) (0) ( 380_770) %08 (W) (0) ( 380_770) %09 (W) (1) ( 380_770) %10 ] def %/FARBE [(R) (m) ( 565_770) %00 % (Y) (m) ( 495_770) %01 % (G) (m) ( 475_575) %02 % (C) (m) ( 380_565) %03 % (B) (m) ( 380_495) %04 % (M) (m) ( 575_475) %05 % (N) (0) ( 380_770) %06 % (W) (0) ( 380_770) %07 % (W) (1) ( 380_770) %08 % ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 800 array def %10x80 /RX0 [ %(%Ro 00 570_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Ym 01 520_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Gm 02 470_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Cm 03 380_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Bm 04 380_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Mm 05 570_470) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Go 06 520_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%N0(r=0,001) 07 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %(%W1(r=1,000) 08 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%W1(r=1,000) 09 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 ] def %************************************************** /proc_ALLi_def {%BEG proc_ALLi_def ij=ix-2 0 1 ij {/i exch def %i=0,ij kx 1 eq {Xxi i X1i i get put Yxi i Y1i i get put Zxi i Z1i i get put Axi i A1i i get put Bxi i B1i i get put L*xi i L*1i i get put a*xi i a*1i i get put b*xi i b*1i i get put AANxi i AAN1i i get put BANxi i BAN1i i get put CANxi i CAN1i i get put idxi i id1i i get put wdxi i wd1i i get put hABxi i hAB1i i get put h*abxi i h*ab1i i get put } if kx 2 eq {Xxi i X2i i get put Yxi i Y2i i get put Zxi i Z2i i get put Axi i A2i i get put Bxi i B2i i get put L*xi i L*2i i get put a*xi i a*2i i get put b*xi i b*2i i get put AANxi i AAN2i i get put BANxi i BAN2i i get put CANxi i CAN2i i get put idxi i id2i i get put wdxi i wd2i i get put hABxi i hAB2i i get put h*abxi i h*ab2i i get put } if } for %i=1,ij } bind def %END proc_ALLi_def %*********************************************************** /proc_ALLi_ALLin {%BEG proc_ALLi_ALLin %new order from front, new data amount ix=ij+2 hABxin 0 hABxi imin get 360 xpn 0 eq {add}{sub} ifelse put %351-360=-9 h*abxin 0 h*abxi imin get 360 xpn 0 eq {add}{sub} ifelse put wdxin 0 wdxi imin get xpn 0 eq {400 sub 769 add}{769 sub 400 add} ifelse put %769=700+564-495 Xxin 0 Xxi imin get put Yxin 0 Yxi imin get put Zxin 0 Zxi imin get put Axin 0 Axi imin get put Bxin 0 Bxi imin get put L*xin 0 L*xi imin get put a*xin 0 a*xi imin get put b*xin 0 b*xi imin get put AANxin 0 AANxi imin get put BANxin 0 BANxi imin get put CANxin 0 CANxi imin get put idxin 0 idxi imin get put imin1 1 ij {/i exch def %32_57 old, imin=31(h=38) imin1=32 /in i imin1 sub 1 add def %i=32_57-32+1=01_26 new hABxin in hABxi i get put %in=1,26=26 values h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for 0 1 imin {/i exch def %0-31 old /in ij imin sub i add 1 add def %in=57-31+i+1=26+i+1=26+31+1 hABxin in hABxi i get put h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for hABxin ix hABxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put %2.4+360 h*abxin ix h*abxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put wdxin ix wdxi imin1 get xpn 0 eq {769 sub 400 add}{400 sub 769 add} ifelse put %769=700+564-495 Xxin ix Xxi imin1 get put Yxin ix Yxi imin1 get put Zxin ix Zxi imin1 get put Axin ix Axi imin1 get put Bxin ix Bxi imin1 get put L*xin ix L*xi imin1 get put a*xin ix a*xi imin1 get put b*xin ix b*xi imin1 get put AANxin ix AANxi imin1 get put BANxin ix BANxi imin1 get put CANxin ix CANxi imin1 get put idxin ix idxi imin1 get put } bind def %END proc_ALLi_ALLin %******************************************************** /proc_hAB_min {%BEG proc_hAB_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 hABxi i get hABxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 hABxi i get hABxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (hABxi=) show hABxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (hABxi1=) show hABxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_hAB_min %******************************************************** /proc_h*ab_min {%BEG proc_h*ab_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 h*abxi i get h*abxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 h*abxi i get h*abxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (h*abxi=) show h*abxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (h*abxi1=) show h*abxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_h*ab_min %******************************************************** /proc_iwd_min {%BEG proc_iwd_min 1 1 ij {/i exch def %i=1,ij idxi i get -1 eq {wdxi i wdxi i get 495 sub 700 add put} if } for %i=1,ij 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 idxi i get 0 gt idxi i 1 add get -1 eq and {/imin i def exit} if }%xpn=0 {%xpn=1 idxi i get -1 eq idxi i 1 add get 0 gt and {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (iwdxi=) show idxi imin get cvishow (, ) show wdxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (iwdxi1=) show idxi imin1 get cvishow (, ) show wdxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_iwd_min %******************************************************** /proc_hAB_tab {%BEG proc_hAB_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxin i get cvsshow1 } for %i=1,ix newpath 180 faktx mul 00 fakty mul 40 0 360 arc fill 180 faktx mul 20 fakty mul 40 0 360 arc fill 180 faktx mul 40 fakty mul 40 0 360 arc fill 0 faktx mul -20 fakty mul 40 0 360 arc fill 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_hAB_tab %******************************************************** /proc_h*ab_tab {%BEG proc_h*ab_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxin i get cvsshow1 } for %i=1,ix %newpath %180 faktx mul 00 fakty mul 40 0 360 arc fill %180 faktx mul 20 fakty mul 40 0 360 arc fill %180 faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_h*ab_tab %******************************************************** /proc_iwd_tab {%BEG proc_iwd_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxi i get cvishow (, ) show wdxi i get cvishow } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxin i get cvishow (, ) show wdxin i get cvishow } for %i=1,ix %newpath %700 400 sub faktx mul 00 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 20 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_iwd_tab %********************************************************** /proc_hABw_XYZ_cur2 {%BEG proc_hABw_XYZ_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %X 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Xxin i get} {100 Xxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %Z 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Zxin i get} {100 Zxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_XYZ_cur2 %******************************************************** /proc_hABw_ABCY_cur2 {%BEG proc_hABw_ABCY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %A 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %B 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Bxin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %CAB 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get dup mul Bxin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icurm=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_ABCY_cur2 %******************************************************** /proc_hABw_LabC*_cur2 {%BEG proc_hABw_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icurm=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_LabC*_cur2 %******************************************************** /proc_h*ab_LabC*_cur2 {%BEG proc_h*ab_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_h*ab_LabC*_cur2 %******************************************************** /proc_wd_abcY_cur2 {%BEG proc_wd_abcY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul BANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get dup mul BANxin i get dup mul add 0.0001 add sqrt faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icurm=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_wd_abcY_cur2 %************************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************** /tab_Ocolors2 64 array def %8*8 /tab_Ocolors2 %BEG tab_Ocolors2 [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 14 0.0 1.0 0.0 0100 -0050 (G) (O) 17 0.8 1.0 0.0 -0100 0100 (Y) (x) 23 1.0 1.0 0.0 -0100 0100 (Y) (O) 00 1.0 0.0 0.0 -0100 0100 (R) (O) 14 1.0 0.0 1.0 -0350 -0100 (M) (O) 17 0.2 0.0 1.0 -0100 -0250 (V) (n) 23 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors2 %********************************************************** /proc_tab_Ocolors2 {%BEG proc_tab_Ocolors2 %tab_Ocolors2 64 array def %8*8 defined before 0 1 7 {/iO exch def %iO=0,7 /i0 iO 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors2 i0 get def tab_Ocolors2 i1 get tab_Ocolors2 i2 get tab_Ocolors2 i3 get setrgbcolor /AnY0 xhh*w 0 eq {iO 3 le {hAB1i k get} {hAB2i k get} ifelse} if xhh*w 1 eq {iO 3 le {h*ab1i k get} {h*ab2i k get} ifelse} if xhh*w 2 eq {iO 3 le {wd1i k get iO 1 eq {/AnY01 wd1i k get def} if} {wd2i k get iO 5 eq {205 add} if} ifelse} if def /AnY AnY0 xhh*w 2 eq {400 sub} if faktx mul def /BnY0 yYLC 0 eq {iO 3 le {Y1i} {Y2i} ifelse k get} if yYLC 1 eq {iO 3 le {L*1i} {L*2i} ifelse k get} if %3 mul with AB and ab* yYLC 2 eq {iO 3 le {A1i k get dup mul B1i k get dup mul add} {A2i k get dup mul B2i k get dup mul add} ifelse 0.0001 add sqrt } if yYLC 3 eq {iO 3 le {a*1i k get dup mul b*1i k get dup mul add} {a*2i k get dup mul b*2i k get dup mul add} ifelse 0.0001 add sqrt } if def /BnY BnY0 yYLC 1 eq {3 mul} if fakty mul yshift add def AnY BnY 90 0 360 arc fill 0 0 0 setrgbcolor iO 3 gt {[100] 100 setdash} {[ ] 0 setdash} ifelse AnY BnY 90 0 360 arc stroke [ ] 0 setdash newpath AnY 80 add BnY 50 add moveto TBIL AnY0 cvishow (, ) show BnY0 cvishow xhh*w 2 eq iO 5 eq and {AnY 80 add BnY 150 sub moveto AnY01 cvishow (c) show } if newpath } for %iO=0,7 } bind def %END proc_tab_Ocolors2 /X1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1i 99 array def /Z1i 99 array def /hxy1i 99 array def /XAN1i 99 array def /YAN1i 99 array def /ZAN1i 99 array def /A1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1i 99 array def /CAB1i 99 array def /hAB1i 99 array def /AAN1i 99 array def /BAN1i 99 array def /CAN1i 99 array def /L*1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1i 99 array def /b*1i 99 array def /C*ab1i 99 array def /h*ab1i 99 array def /a'1i 99 array def /b'1i 99 array def /c'1i 99 array def /i11i 99 array def /i21i 99 array def /id1i 99 array def /ic1i 99 array def /w11i 99 array def /w21i 99 array def /w1c1i 99 array def /w2c1i 99 array def /wd1i 99 array def /wc1i 99 array def /wdc1i 99 array def /wcc1i 99 array def /X1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1in 99 array def /Z1in 99 array def /hxy1in 99 array def /XAN1in 99 array def /YAN1in 99 array def /ZAN1in 99 array def /A1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1in 99 array def /CAB1in 99 array def /hAB1in 99 array def /AAN1in 99 array def /BAN1in 99 array def /CAN1in 99 array def /L*1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1in 99 array def /b*1in 99 array def /C*ab1in 99 array def /h*ab1in 99 array def /a'1in 99 array def /b'1in 99 array def /c'1in 99 array def /i11in 99 array def /i21in 99 array def /id1in 99 array def /ic1in 99 array def /w11in 99 array def /w21in 99 array def /w1c1in 99 array def /w2c1in 99 array def /wd1in 99 array def /wc1in 99 array def /wdc1in 99 array def /wcc1in 99 array def /X2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2i 99 array def /Z2i 99 array def /hxy2i 99 array def /XAN2i 99 array def /YAN2i 99 array def /ZAN2i 99 array def /A2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2i 99 array def /CAB2i 99 array def /hAB2i 99 array def /AAN2i 99 array def /BAN2i 99 array def /CAN2i 99 array def /L*2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2i 99 array def /b*2i 99 array def /C*ab2i 99 array def /h*ab2i 99 array def /a'2i 99 array def /b'2i 99 array def /c'2i 99 array def /i12i 99 array def /i22i 99 array def /id2i 99 array def /ic2i 99 array def /w12i 99 array def /w22i 99 array def /w1c2i 99 array def /w2c2i 99 array def /wd2i 99 array def /wc2i 99 array def /wdc2i 99 array def /wcc2i 99 array def /X2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2in 99 array def /Z2in 99 array def /hxy2in 99 array def /XAN2in 99 array def /YAN2in 99 array def /ZAN2in 99 array def /A2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2in 99 array def /CAB2in 99 array def /hAB2in 99 array def /AAN2in 99 array def /BAN2in 99 array def /CAN2in 99 array def /L*2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2in 99 array def /b*2in 99 array def /C*ab2in 99 array def /h*ab2in 99 array def /a'2in 99 array def /b'2in 99 array def /c'2in 99 array def /i12in 99 array def /i22in 99 array def /id2in 99 array def /ic2in 99 array def /w12in 99 array def /w22in 99 array def /w1c2in 99 array def /w2c2in 99 array def /wd2in 99 array def /wc2in 99 array def /wdc2in 99 array def /wcc2in 99 array def %actual possible data (x=1,2,3,4) /Xxi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxi 99 array def /Zxi 99 array def /hxyxi 99 array def /XANxi 99 array def /YANxi 99 array def /ZANxi 99 array def /Axi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxi 99 array def /CABxi 99 array def /hABxi 99 array def /AANxi 99 array def /BANxi 99 array def /CANxi 99 array def /L*xi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xi 99 array def /b*xi 99 array def /C*abxi 99 array def /h*abxi 99 array def /a'xi 99 array def /b'xi 99 array def /c'xi 99 array def /i1xi 99 array def /i2xi 99 array def /idxi 99 array def /icxi 99 array def /w1xi 99 array def /w2xi 99 array def /w1cxi 99 array def /w2cxi 99 array def /wdxi 99 array def /wcxi 99 array def /wdcxi 99 array def /wccxi 99 array def /Xxin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxin 99 array def /Zxin 99 array def /hxyxin 99 array def /XANxin 99 array def /YANxin 99 array def /ZANxin 99 array def /Axin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxin 99 array def /CABxin 99 array def /hABxin 99 array def /AANxin 99 array def /BANxin 99 array def /CANxin 99 array def /L*xin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xin 99 array def /b*xin 99 array def /C*abxin 99 array def /h*abxin 99 array def /a'xin 99 array def /b'xin 99 array def /c'xin 99 array def /i1xin 99 array def /i2xin 99 array def /idxin 99 array def /icxin 99 array def /w1xin 99 array def /w2xin 99 array def /w1cxin 99 array def /w2cxin 99 array def /wdxin 99 array def /wcxin 99 array def /wdcxin 99 array def /wccxin 99 array def /FARBEda 79 array def /FARBEca 79 array def /FARBEd 79 array def /FARBEc 79 array def %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintP2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colseP2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %**************************************************** %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /xcolorl xcolor def %0 1 0 {/xcolorl exch def %xcolorl=0,0 %gsave xcolorl 1 eq {0 1 79 {/i exch def %i=0,79 F2 i F10 i get put } for %i=0,79 } if /NK 0 def %normalization NK=0 (Y=100), NK=1 (Y=88,6) /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /xdel 1005 def %/ydel 393 def %/ydel 275 def /ydel 175 def /x0 050 def /x1 -150 def /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin. /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 FARBEda 00 (Cm=380_561) put FARBEca 00 (Rm=561_770) put FARBEd 00 (C) put FARBEc 00 (R) put FARBEda 13 (Gm=470_570) put FARBEca 13 (Mm=570_470) put FARBEd 13 (G) put FARBEc 13 (M) put FARBEda 23 (Ym=520_770) put FARBEca 23 (Bm=380_520) put FARBEd 23 (Y) put FARBEc 23 (B) put FARBEda 18 (Ym=495_770) put FARBEca 18 (Bm=380_495) put FARBEd 18 (Y) put FARBEc 18 (B) put /iacol 23 def /xchart14 1 def %for a=x/y (0) and a=(x-0.171)/y (1) 0 setgray 5 /Times-ISOL1 FS 175 85 moveto (DG411-2A) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale gsave /xchartx xchart def 1 1 1 {/xchartx exch def %xchartx=0,7 gsave /xchartl 0 def %xchartl=0 to 7 for 8 pictures 1 1 01 {/xchartl exch def %xchartl=0,07 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto NK 0 eq {(DG410-) show} {(DG411-) show} ifelse xchartl 1 add cvishow (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 1 1 0 setrgbcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 colrecst %frame black %calculation of XW,YW,ZW for illuminant %D65, D50, P40, A00, E00, C00, P00, Q00 %P60, P55, P50, P45, P40, P35, P30, P25 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 %calculation of XW,YW,ZW for illuminant Pxx, Dxx 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 0 1 1 {/Icom exch def %Icom=0,1 only for part 1 Icom 0 eq {/xpos 100 def /xpos1 12100 def} {%/xpos 12100 def /xpos 100 def /xpos1 100 def} ifelse %/ymax 3700 def /ymax 3820 def TBS xpos 50 sub ymax ydel 0 mul sub moveto (CIE\255) show TELi xchartx get show (\255Daten von ) showde ( data of ) showea TBIS (\255Ostwald) showde ( Ostwald) showea TBS (\255Farben von maximalem Buntwert) showde ( colours of maximum chromatic value) showea TBIS ( C) show TBL 0 -60 rmoveto (AB) show 0 60 rmoveto xpos 50 sub ymax ydel 1 mul sub moveto TBIS (Y) show TBL 0 -60 rmoveto (w) show xcolorl 1 eq {(,10) show} if 0 60 rmoveto TBS NK 0 eq {(=100) show}{(=88,6) show} ifelse TBS (, ) show FARBEda iacol get show TBS (, ) show FARBEca iacol get show /icurm 1 def %0:dominant, 1:and complimentary colours %icurm=1: 1\255minus data (icurm=1) /iout0x 1 def %coordinate system /iout1x 1 def %iout1x=1:Ostwald colours 1 with procedures _cur2 %dominant (icurm=0) and complementary (icurm=1) /iout2x 0 def %iout2x=1:Ostwald colours 2 with procedures _cur2 /iout3x 0 def %sRGB colours, iout3x=1:sRGB data icurm 1 eq {%icurm=1 TBS (, and ) showea ( und ) showde (1\255minus data ( - -)) showea (1\255Minus\255Daten ( - -)) showde } if %icurm=1 iout2x 1 eq {%iout2x=1 TBS (, 2 calculation methods) showea (, 2 Berechnungsmethoden) showde } if %iout2x=1 iout3x 1 eq {%iout3x=1 TBS (, and ) showea ( und ) showde TBIS (sRGB) show TBS ( data ( - -)) showea (\255Daten ( - -)) showde } if %iout3x=1 %********************************************************* /WEL1 120 array def %irregular or regular definition /WEL2 120 array def %irregular or regular definition %0 1 2 3 4 5 6 7 8 9 /WEL1 [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def /WEL1 [405 410 415 420 425 430 435 440 445 450 455 460 465 470 475 480 485 490 495 500 505 510 515 520 525 530 535 540 545 550 555 560 565 570 575 580 585 590 595 600 605 610 615 620 625 630 635 640 645 650 655 660 665 670 675 680 685 690 695 700 ] def 0 1 57 {/k exch def %k=0,57 %wavelength 405..700nm /j WEL1 k get 400 sub 5 idiv def /FF1 FXD j get def %start at 405..700nm /FF2 FYD j get def /FF3 FZD j get def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0 i11i k INP put i21i k IPN put } { i12i k IPN put i22i k INP put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* Icom 0 eq {%Icom=0 INP 0 ge {%INP>=0 % xpos xdel 0 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow %includes rounding failure w11i k DOWXIE1 0.03 add cvi put w1c1i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow w21i k DOWXIE2 0.03 add cvi put w2c1i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show w21i k DOWXIE1 0.03 add cvi put w2c1i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 }%Icom=0 {%Icom=1 INP 0 ge {%INP>=0 % xpos xdel 1 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 0.03 add cvishow w22i k DOWXIE1 0.03 add cvi put w2c2i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE2 0.03 add cvishow w12i k DOWXIE2 0.03 add cvi put w1c2i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 cvishow (c) show w12i k DOWXIE1 0.03 add cvi put w1c2i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 } ifelse %Icom=0,1 0 0 0 setrgbcolor %********************************************************* 0 1 79 {/i exch def %i=0,79 RA i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RA i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RA i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RA i1 0.5 put RA i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /X 0 def /Y 0 def /Z 0 def 0 1 079 {/i exch def %i=0,79 /X X F2N 00 i add get RA i get mul add def /Y Y F2N 80 i add get RA i get mul add def /Z Z F2N 160 i add get RA i get mul add def } for %i=0,79 NK 1 eq {%NK=1 /faktn 0.8859 def /X X faktn mul def /Y Y faktn mul def /Z Z faktn mul def % /faktw 0.025 faktn div def %approximately 2,8% % /Xc XW X sub def %c=antichromatic % /Yc YW Y sub def % /Zc ZW Z sub def % /X X Xc faktw mul add faktn mul def % /Y Y Yc faktw mul add faktn mul def % /Z Z Zc faktw mul add faktn mul def } if %NK=1 /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def %************************************************* Icom 1 eq {%Icom=1 /X XW X sub def /Y YW Y sub def /Z ZW Z sub def /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def } if %Icom=1 /hxy YAN YANW sub XAN XANW sub 0.0001 add atan def Icom 0 eq {%Icom=0,1 X1i k X put Y1i k Y put Z1i k Z put %hxy1i k hxy put XAN1i k XAN put YAN1i k YAN put ZAN1i k ZAN put }%Icom=0 {%Icom=1 X2i k X put Y2i k Y put Z2i k Z put %hxy2i k hxy put XAN2i k XAN put YAN2i k YAN put ZAN2i k ZAN put } ifelse %Icom=0,1 xchart14 0 eq {%xchart14=0 /AAN X Y 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AAN XAN 0.171 sub YAN 0.0001 add div def } if %xchart14=1 /BAN Z Y 0.0001 add div 0.4 mul neg def /CAN AAN AANW sub dup mul BAN BANW sub dup mul add 0.0001 add sqrt def /A AAN AANW sub Y mul def /B BAN BANW sub Y mul def /CAB A dup mul B dup mul add 0.0001 add sqrt def /hAB B A 0.0001 add atan def Icom 0 eq {%Icom=0,1 Y1i k Y put A1i k A put B1i k B put CAB1i k CAB put hAB1i k hAB put AAN1i k AAN put BAN1i k BAN put CAN1i k CAN put }%Icom=0 {%Icom=1 Y2i k Y put A2i k A put B2i k B put CAB2i k CAB put hAB2i k hAB put AAN2i k AAN put BAN2i k BAN put CAN2i k CAN put } ifelse %Icom=0,1 /D13 1 3 div def /D841_108 841 108 div def /D16_116 16 116 div def /D24_116 24 116 div 3 exp def X XW div D24_116 gt {/FXXN X XW div 0.0001 add D13 exp def} {/FXXN D841_108 X XW div mul D16_116 add def} ifelse Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def} {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse Z ZW div D24_116 gt {/FZZN Z ZW div 0.0001 add D13 exp def} {/FZZN D841_108 Z YW div mul D16_116 add def} ifelse /L* 116. FYYN mul 16. sub def /a* 500. FXXN FYYN sub mul def /b* 200. FYYN FZZN sub mul def /C*ab a* dup mul b* dup mul add 0.5 exp def /h*ab b* a* 0.000001 add atan def /a' X Y 0.0001 add div D13 exp 0.2191 mul def /b' Z Y 0.0001 add div D13 exp -0.08376 mul def /c' a' dup mul b' dup mul add 0.0001 add sqrt def Icom 0 eq {%Icom=0,1 L*1i k L* put a*1i k a* put b*1i k b* put C*ab1i k C*ab put h*ab1i k h*ab put a'1i k a' put b'1i k b' put c'1i k c' put }%Icom=0 {%Icom=1 L*2i k L* put a*2i k a* put b*2i k b* put C*ab2i k C*ab put h*ab2i k h*ab put a'2i k a' put b'2i k b' put c'2i k c' put } ifelse %Icom=0,1 %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 X def /FF2 Y def /FF3 Z def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0,1 id1i k INP put ic1i k IPN put }%Icom=0 {%Icom=1 id2i k INP put ic2i k IPN put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def } if %kNP>=0 %********************************************************* INP 0 ge {%INP>=0,-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow Icom 0 eq {%Icom=0,1 wd1i k DOWXIE1 0.03 add cvi put wdc1i k () put }%Icom=0 {%Icom=1 wd2i k DOWXIE1 0.03 add cvi put wdc2i k () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wd1i k DOWXIE2 0.03 add cvi put wdc1i k (c) put }%Icom=0 {%Icom=1 wd2i k DOWXIE2 0.03 add cvi put wdc2i k (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 IPN 0 ge {%IPN>=0,-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow Icom 0 eq {%Icom=0,1 wc1i k DOWXIE2 0.03 add cvi put wcc1i k () put }%Icom=0 {%Icom=1 wc2i k DOWXIE2 0.03 add cvi put wcc2i k () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wc1i k DOWXIE1 0.03 add cvi put wcc1i k (c) put }%Icom=0 {%Icom=1 wc2i k DOWXIE1 0.03 add cvi put wcc2i k (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 0 0 0 setrgbcolor } for %k=0,57 } for %Icom=0,1 only for part 1 %************************************************************* /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvishowb {cvi 6 string cvs show ( ) show} def /cvsshow1b {10 mul cvi 0.1 mul 7 string cvs show ( ) show} def /cvsshow2b {100 mul cvi 0.01 mul 7 string cvs show ( ) show} def /cvsshow3b {1000 mul cvi 0.001 mul 7 string cvs show ( ) show} def /cvishowr {0.5 add cvi 6 string cvs show} def /cvsshow1r {0.05 add 10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2r {0.005 add 100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3r {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show} def /cvi100 {100 mul cvi /xi exch def xi 0 lt {/vorz -1 def} {/vorz 1 def} ifelse /xia xi abs def vorz -1 eq {(\255) show} {(0) show} ifelse xia 0 ge xia 9 le {(0000) show} if xia 10 ge xia 99 le and {(000) show} if xia 100 ge xia 999 le and {(00) show} if xia 1000 ge xia 9999 le and {(0) show} if xia cvishow } bind def /cvi1000 {1000 mul cvi /xi exch def xi 0 ge xi 9 le {(000) show} if xi 10 ge xi 99 le and {(00) show} if xi 100 ge xi 999 le and {(0) show} if xi cvishow } bind def /ymax 16600 def /idy 206 def /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 /ix0 100 def /ix1 ix0 1400 add def /ixd 600 def /iymax 16550 def /idy 206 def /xtext 0 def xtext 1 eq {%itext=1 TBIK ix0 iymax idy add 50 add moveto (rgb) show TBS 0 -90 rmoveto (i) show 0 90 rmoveto TBK ix1 ixd 0 mul add 150 add iymax idy add 50 add moveto TBK (i) show ix1 ixd 1 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 1 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z, x, y) show TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 6 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 6 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBIK (, a', b', c') show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 14 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 14 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBIK (, a, b, c) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 22 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 22 mul add iymax idy add 50 add moveto TBK ([) show TBIK (i) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TBIK (i) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 26 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 26 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z) show TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 29 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 29 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 34 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 34 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK } if %itext=1 %STOP %************************************************************* /imshow {0 -50 rmoveto TBL (m) show 0 50 rmoveto TBIS} def /ioshow {0 -50 rmoveto TBL (o) show 0 50 rmoveto TBIS} def /idshow {0 -50 rmoveto TBL (d) show 0 50 rmoveto TBIS} def /ieshow {0 -50 rmoveto TBL (e) show 0 50 rmoveto TBIS} def %************************************************************* %xchartl=0-0 %STOP0-0 %BEG X,Y,Z = f(hAB) xchartl 0 eq {%xchartl=0 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [( 0) ( 20) ( 40) ( 60) ( 80) (100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1800 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwerte) showde (CIE tristimulus values) showea TBIS 1 0 0 setrgbcolor ( X) show 0 setgray (,) show 0 1 0 setrgbcolor ( Y) show 0 setgray (,) show 0 0 1 setrgbcolor ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP0-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout1x=1 } if %xchartl=0 %END X,Y,Z = f(hAB) %STOP0-4 %************************************************************* %xchartl=1-0 %STOP1-0 %BEG A,B,CAB = f(hAB) xchartl 1 eq {%xchartl=1 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show TBS ( und) showde (, and) showea TBS ( Buntwerte) showde ( chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (, ) show TBIS (C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP1-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=1 %END A,B,CAB = f(hAB) %STOP1-4 %************************************************************* %xchartl=2-0 %STOP2-0 %BEG L*,a*,b*,C*ab = f(hAB) xchartl 2 eq {%xchartl=2 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP2-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=2 %END L*,a*,b*,C*ab = f(hAB) %STOP2-4 %************************************************************* %xchartl=3-0 %STOP3-0 %BEG L*,a*,b*,C*ab = f(h*ab) xchartl 3 eq {%xchartl=3 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 200 sub iytt moveto TBIS (h*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP3-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_h*ab_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 1 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=3 %END L*,a*,b*,C*ab = f(h*ab) %STOP3-4 %************************************************************* %xchartl=4-0 %STOP4-0 %BEG X,Y,Z = f(wd) xchartl 4 eq {%xchartl=4 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyY i get show -75 iyl moveto 150 0 rlineto stroke } for %no axis right /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (Normfarbwerte) showde (CIE tristimulus values) showea 1 0 0 setrgbcolor TBIS ( X) show TBS 0 setgray (,) show 0 1 0 setrgbcolor TBIS ( Y) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %***************************************************** %STOP4-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=4 %END X,Y,Z = f(wd) %STOP4-4 %************************************************************* %xchartl=5-0 %STOP5-0 %BEG A,B,CAB = f(wd) xchartl 5 eq {%xchartl=5 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyA [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyA i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -320 3000 120 add moveto (A) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (B) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-60 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 300 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Buntwerte) showde (, and chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %************************************************* %STOP5-1 380 280 1200 add translate %shift of cero point by 1200 iout1x 1 eq {%iout1x=1 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=5 %END A,B,CAB = f(wd) %STOP5-4 %************************************************************* %xchartl=6-0 %STOP6-0 %BEG L*,a*,b*,C*ab = f(wd) xchartl 6 eq {%xchartl=6 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tya* [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tya* i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a*) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b*) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 250 sub 3000 250 add moveto (L*) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (CIELAB\255Helligkeiten) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b*) show TBS 0 setgray (,) show TBIS ( C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %****************************************************** %STOP6-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=6 %END L*,a*,b*,C*ab = f(wd) %STOP6-4 %************************************************************* %xchartl=7-0 %STOP7-0 %BEG Y/100, a, b, cab = f(wd) xchartl 7 eq {%xchartl=7 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a) show 20 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 250 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill 0 setgray /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwert) showde (tristimulus value) showea 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Farbarten) showde (, and chromaticities) showea 1 0 0 setrgbcolor TBIS ( a) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( c) show 0 -30 rmoveto TBL xchart14 0 eq {(ab0)}{(ab1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%K=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %K=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************** %STOP7-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_wd_abcY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=7 %END a,b,c,Y = f(fw) %STOP7-4 %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer %%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 DG410-5N %%BoundingBox: 70 83 226 206 %START PDFDE011.EPS /pdfmark05 where {pop} {userdict /pdfmark05 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark05 [ /View [ /Fit ] /DOCVIEW pdfmark05 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {320 /Times-ISOL1 FS} bind def /TM {270 /Times-ISOL1 FS} bind def /TK {200 /Times-ISOL1 FS} bind def /TS {170 /Times-ISOL1 FS} bind def /TL {130 /Times-ISOL1 FS} bind def /TLL {100 /Times-ISOL1 FS} bind def /TIG {320 /TimesI-ISOL1 FS} bind def /TIM {270 /TimesI-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIS {170 /TimesI-ISOL1 FS} bind def /TIL {130 /TimesI-ISOL1 FS} bind def /TBG {320 /TimesB-ISOL1 FS} bind def /TBM {270 /TimesB-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBS {170 /TimesB-ISOL1 FS} bind def /TBL {130 /TimesB-ISOL1 FS} bind def /TBIG {320 /TimesBI-ISOL1 FS} bind def /TBIM {270 /TimesBI-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIS {170 /TimesBI-ISOL1 FS} bind def /TBIL {130 /TimesBI-ISOL1 FS} bind def /SG {320 /Symbol FS} bind def /SM {270 /Symbol FS} bind def /SK {200 /Symbol FS} bind def /SS {170 /Symbol FS} bind def /SL {130 /Symbol FS} bind def /CBG {320 /CourierB-ISOL1 FS} bind def /CBM {270 /CourierB-ISOL1 FS} bind def /CBK {200 /CourierB-ISOL1 FS} bind def /CBS {170 /CourierB-ISOL1 FS} bind def /CBL {130 /CourierB-ISOL1 FS} bind def %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintP2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 1 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colseP2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /xchart8 1 def % %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def %allways 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %calculation of transformation data /FARBE 33 array def /FARBE [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 470_570) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 570_470) %05 (G) (o) ( 520_570) %06 (R) (o) ( 570_780) %07 (N) (0) ( 380_770) %08 (W) (0) ( 380_770) %09 (W) (1) ( 380_770) %10 ] def %/FARBE [(R) (m) ( 565_770) %00 % (Y) (m) ( 495_770) %01 % (G) (m) ( 475_575) %02 % (C) (m) ( 380_565) %03 % (B) (m) ( 380_495) %04 % (M) (m) ( 575_475) %05 % (N) (0) ( 380_770) %06 % (W) (0) ( 380_770) %07 % (W) (1) ( 380_770) %08 % ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 800 array def %10x80 /RX0 [ %(%Ro 00 570_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Ym 01 520_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Gm 02 470_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Cm 03 380_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Bm 04 380_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Mm 05 570_470) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Go 06 520_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%N0(r=0,001) 07 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %(%W1(r=1,000) 08 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%W1(r=1,000) 09 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 ] def %************************************************** /proc_ALLi_def {%BEG proc_ALLi_def ij=ix-2 0 1 ij {/i exch def %i=0,ij kx 1 eq {Xxi i X1i i get put Yxi i Y1i i get put Zxi i Z1i i get put Axi i A1i i get put Bxi i B1i i get put L*xi i L*1i i get put a*xi i a*1i i get put b*xi i b*1i i get put AANxi i AAN1i i get put BANxi i BAN1i i get put CANxi i CAN1i i get put idxi i id1i i get put wdxi i wd1i i get put hABxi i hAB1i i get put h*abxi i h*ab1i i get put } if kx 2 eq {Xxi i X2i i get put Yxi i Y2i i get put Zxi i Z2i i get put Axi i A2i i get put Bxi i B2i i get put L*xi i L*2i i get put a*xi i a*2i i get put b*xi i b*2i i get put AANxi i AAN2i i get put BANxi i BAN2i i get put CANxi i CAN2i i get put idxi i id2i i get put wdxi i wd2i i get put hABxi i hAB2i i get put h*abxi i h*ab2i i get put } if kx 3 eq {Xxi i X3i i get put Yxi i Y3i i get put Zxi i Z3i i get put Axi i A3i i get put Bxi i B3i i get put L*xi i L*3i i get put a*xi i a*3i i get put b*xi i b*3i i get put AANxi i AAN3i i get put BANxi i BAN3i i get put CANxi i CAN3i i get put idxi i id3i i get put wdxi i wd3i i get put hABxi i hAB3i i get put h*abxi i h*ab3i i get put } if kx 4 eq {Xxi i X4i i get put Yxi i Y4i i get put Zxi i Z4i i get put Axi i A4i i get put Bxi i B4i i get put L*xi i L*4i i get put a*xi i a*4i i get put b*xi i b*4i i get put AANxi i AAN4i i get put BANxi i BAN4i i get put CANxi i CAN4i i get put idxi i id4i i get put wdxi i wd4i i get put hABxi i hAB4i i get put h*abxi i h*ab4i i get put } if } for %i=1,ij } bind def %END proc_ALLi_def %*********************************************************** /proc_ALLi_ALLin {%BEG proc_ALLi_ALLin %new order from front, new data amount ix=ij+2 hABxin 0 hABxi imin get 360 xpn 0 eq {add}{sub} ifelse put %351-360=-9 h*abxin 0 h*abxi imin get 360 xpn 0 eq {add}{sub} ifelse put wdxin 0 wdxi imin get xpn 0 eq {400 sub 769 add}{769 sub 400 add} ifelse put %769=700+564-495 Xxin 0 Xxi imin get put Yxin 0 Yxi imin get put Zxin 0 Zxi imin get put Axin 0 Axi imin get put Bxin 0 Bxi imin get put L*xin 0 L*xi imin get put a*xin 0 a*xi imin get put b*xin 0 b*xi imin get put AANxin 0 AANxi imin get put BANxin 0 BANxi imin get put CANxin 0 CANxi imin get put idxin 0 idxi imin get put imin1 1 ij {/i exch def %32_57 old, imin=31(h=38) imin1=32 /in i imin1 sub 1 add def %i=32_57-32+1=01_26 new hABxin in hABxi i get put %in=1,26=26 values h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for 0 1 imin {/i exch def %0-31 old /in ij imin sub i add 1 add def %in=57-31+i+1=26+i+1=26+31+1 hABxin in hABxi i get put h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for hABxin ix hABxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put %2.4+360 h*abxin ix h*abxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put wdxin ix wdxi imin1 get xpn 0 eq {769 sub 400 add}{400 sub 769 add} ifelse put %769=700+564-495 Xxin ix Xxi imin1 get put Yxin ix Yxi imin1 get put Zxin ix Zxi imin1 get put Axin ix Axi imin1 get put Bxin ix Bxi imin1 get put L*xin ix L*xi imin1 get put a*xin ix a*xi imin1 get put b*xin ix b*xi imin1 get put AANxin ix AANxi imin1 get put BANxin ix BANxi imin1 get put CANxin ix CANxi imin1 get put idxin ix idxi imin1 get put } bind def %END proc_ALLi_ALLin %******************************************************** /proc_hAB_min {%BEG proc_hAB_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 hABxi i get hABxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 hABxi i get hABxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (hABxi=) show hABxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (hABxi1=) show hABxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_hAB_min %******************************************************** /proc_h*ab_min {%BEG proc_h*ab_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 h*abxi i get h*abxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 h*abxi i get h*abxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (h*abxi=) show h*abxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (h*abxi1=) show h*abxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_h*ab_min %******************************************************** /proc_iwd_min {%BEG proc_iwd_min 1 1 ij {/i exch def %i=1,ij idxi i get -1 eq {wdxi i wdxi i get 495 sub 700 add put} if } for %i=1,ij 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 idxi i get 0 gt idxi i 1 add get -1 eq and {/imin i def exit} if }%xpn=0 {%xpn=1 idxi i get -1 eq idxi i 1 add get 0 gt and {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (iwdxi=) show idxi imin get cvishow (, ) show wdxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (iwdxi1=) show idxi imin1 get cvishow (, ) show wdxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_iwd_min %******************************************************** /proc_hAB_tab {%BEG proc_hAB_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxin i get cvsshow1 } for %i=1,ix newpath 180 faktx mul 00 fakty mul 40 0 360 arc fill 180 faktx mul 20 fakty mul 40 0 360 arc fill 180 faktx mul 40 fakty mul 40 0 360 arc fill 0 faktx mul -20 fakty mul 40 0 360 arc fill 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_hAB_tab %******************************************************** /proc_h*ab_tab {%BEG proc_h*ab_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxin i get cvsshow1 } for %i=1,ix %newpath %180 faktx mul 00 fakty mul 40 0 360 arc fill %180 faktx mul 20 fakty mul 40 0 360 arc fill %180 faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_h*ab_tab %******************************************************** /proc_iwd_tab {%BEG proc_iwd_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxi i get cvishow (, ) show wdxi i get cvishow } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxin i get cvishow (, ) show wdxin i get cvishow } for %i=1,ix %newpath %700 400 sub faktx mul 00 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 20 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_iwd_tab %********************************************************** /proc_hABw_XYZ_cur2 {%BEG proc_hABw_XYZ_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %X 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Xxin i get} {100 Xxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %Z 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Zxin i get} {100 Zxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_XYZ_cur2 %******************************************************** /proc_hABw_ABCY_cur2 {%BEG proc_hABw_ABCY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %A 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %B 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Bxin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %CAB 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get dup mul Bxin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_ABCY_cur2 %******************************************************** /proc_hABw_LabC*_cur2 {%BEG proc_hABw_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_LabC*_cur2 %******************************************************** /proc_h*ab_LabC*_cur2 {%BEG proc_h*ab_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_h*ab_LabC*_cur2 %******************************************************** /proc_wd_abcY_cur2 {%BEG proc_wd_abcY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul BANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get dup mul BANxin i get dup mul add 0.0001 add sqrt faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_wd_abcY_cur2 %************************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************** /tab_Ocolors2 64 array def %8*8 /tab_Ocolors2 %BEG tab_Ocolors2 [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 14 0.0 1.0 0.0 0100 -0050 (G) (O) 17 0.8 1.0 0.0 -0100 0100 (Y) (x) 23 1.0 1.0 0.0 -0100 0100 (Y) (O) 00 1.0 0.0 0.0 -0100 0100 (R) (O) 14 1.0 0.0 1.0 -0350 -0100 (M) (O) 17 0.2 0.0 1.0 -0100 -0250 (V) (n) 23 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors2 %********************************************************** /proc_tab_Ocolors2 {%BEG proc_tab_Ocolors2 %tab_Ocolors2 64 array def %8*8 defined before 0 1 7 {/iO exch def %iO=0,7 /i0 iO 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors2 i0 get def tab_Ocolors2 i1 get tab_Ocolors2 i2 get tab_Ocolors2 i3 get setrgbcolor /AnY0 xhh*w 0 eq {iO 3 le {hAB1i k get} {hAB2i k get} ifelse} if xhh*w 1 eq {iO 3 le {h*ab1i k get} {h*ab2i k get} ifelse} if xhh*w 2 eq {iO 3 le {wd1i k get iO 1 eq {/AnY01 wd1i k get def} if} {wd2i k get iO 5 eq {205 add} if} ifelse} if def /AnY AnY0 xhh*w 2 eq {400 sub} if faktx mul def /BnY0 yYLC 0 eq {iO 3 le {Y1i} {Y2i} ifelse k get} if yYLC 1 eq {iO 3 le {L*1i} {L*2i} ifelse k get} if %3 mul with AB and ab* yYLC 2 eq {iO 3 le {A1i k get dup mul B1i k get dup mul add} {A2i k get dup mul B2i k get dup mul add} ifelse 0.0001 add sqrt } if yYLC 3 eq {iO 3 le {a*1i k get dup mul b*1i k get dup mul add} {a*2i k get dup mul b*2i k get dup mul add} ifelse 0.0001 add sqrt } if def /BnY BnY0 yYLC 1 eq {3 mul} if fakty mul yshift add def AnY BnY 90 0 360 arc fill 0 0 0 setrgbcolor iO 3 gt {[100] 100 setdash} {[ ] 0 setdash} ifelse AnY BnY 90 0 360 arc stroke [ ] 0 setdash newpath AnY 80 add BnY 50 add moveto TBIL AnY0 cvishow (, ) show BnY0 cvishow xhh*w 2 eq iO 5 eq and {AnY 80 add BnY 150 sub moveto AnY01 cvishow (c) show } if newpath } for %iO=0,7 } bind def %END proc_tab_Ocolors2 %**************************************************** /xcolorl xcolor def %0 1 0 {/xcolorl exch def %xcolorl=0,0 %gsave xcolorl 1 eq {0 1 79 {/i exch def %i=0,79 F2 i F10 i get put } for %i=0,79 } if /KN 0 def %for KN=normalization 1 %/KN 1 def %for KN=normalization 0,886 /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /FAD 63 array def /FBD 63 array def /FCD 63 array def /xdel 1005 def %/ydel 393 def %/ydel 275 def /ydel 175 def /x0 050 def /x1 -150 def /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin. /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /X1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1i 99 array def /Z1i 99 array def /hxy1i 99 array def /XAN1i 99 array def /YAN1i 99 array def /ZAN1i 99 array def /A1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1i 99 array def /CAB1i 99 array def /hAB1i 99 array def /AAN1i 99 array def /BAN1i 99 array def /CAN1i 99 array def /L*1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1i 99 array def /b*1i 99 array def /C*ab1i 99 array def /h*ab1i 99 array def /a'1i 99 array def /b'1i 99 array def /c'1i 99 array def /i11i 99 array def /i21i 99 array def /id1i 99 array def /ic1i 99 array def /w11i 99 array def /w21i 99 array def /w1c1i 99 array def /w2c1i 99 array def /wd1i 99 array def /wc1i 99 array def /wdc1i 99 array def /wcc1i 99 array def /X1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1in 99 array def /Z1in 99 array def /hxy1in 99 array def /XAN1in 99 array def /YAN1in 99 array def /ZAN1in 99 array def /A1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1in 99 array def /CAB1in 99 array def /hAB1in 99 array def /AAN1in 99 array def /BAN1in 99 array def /CAN1in 99 array def /L*1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1in 99 array def /b*1in 99 array def /C*ab1in 99 array def /h*ab1in 99 array def /a'1in 99 array def /b'1in 99 array def /c'1in 99 array def /i11in 99 array def /i21in 99 array def /id1in 99 array def /ic1in 99 array def /w11in 99 array def /w21in 99 array def /w1c1in 99 array def /w2c1in 99 array def /wd1in 99 array def /wc1in 99 array def /wdc1in 99 array def /wcc1in 99 array def /X2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2i 99 array def /Z2i 99 array def /hxy2i 99 array def /XAN2i 99 array def /YAN2i 99 array def /ZAN2i 99 array def /A2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2i 99 array def /CAB2i 99 array def /hAB2i 99 array def /AAN2i 99 array def /BAN2i 99 array def /CAN2i 99 array def /L*2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2i 99 array def /b*2i 99 array def /C*ab2i 99 array def /h*ab2i 99 array def /a'2i 99 array def /b'2i 99 array def /c'2i 99 array def /i12i 99 array def /i22i 99 array def /id2i 99 array def /ic2i 99 array def /w12i 99 array def /w22i 99 array def /w1c2i 99 array def /w2c2i 99 array def /wd2i 99 array def /wc2i 99 array def /wdc2i 99 array def /wcc2i 99 array def /X2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2in 99 array def /Z2in 99 array def /hxy2in 99 array def /XAN2in 99 array def /YAN2in 99 array def /ZAN2in 99 array def /A2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2in 99 array def /CAB2in 99 array def /hAB2in 99 array def /AAN2in 99 array def /BAN2in 99 array def /CAN2in 99 array def /L*2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2in 99 array def /b*2in 99 array def /C*ab2in 99 array def /h*ab2in 99 array def /a'2in 99 array def /b'2in 99 array def /c'2in 99 array def /i12in 99 array def /i22in 99 array def /id2in 99 array def /ic2in 99 array def /w12in 99 array def /w22in 99 array def /w1c2in 99 array def /w2c2in 99 array def /wd2in 99 array def /wc2in 99 array def /wdc2in 99 array def /wcc2in 99 array def /X3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y3i 99 array def /Z3i 99 array def /hxy3i 99 array def /XAN3i 99 array def /YAN3i 99 array def /ZAN3i 99 array def /A3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B3i 99 array def /CAB3i 99 array def /hAB3i 99 array def /AAN3i 99 array def /BAN3i 99 array def /CAN3i 99 array def /L*3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*3i 99 array def /b*3i 99 array def /C*ab3i 99 array def /h*ab3i 99 array def /a'3i 99 array def /b'3i 99 array def /c'3i 99 array def /i13i 99 array def /i23i 99 array def /id3i 99 array def /ic3i 99 array def /w13i 99 array def /w23i 99 array def /w1c3i 99 array def /w2c3i 99 array def /wd3i 99 array def /wc3i 99 array def /wdc3i 99 array def /wcc3i 99 array def /X3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y3in 99 array def /Z3in 99 array def /hxy3in 99 array def /XAN3in 99 array def /YAN3in 99 array def /ZAN3in 99 array def /A3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B3in 99 array def /CAB3in 99 array def /hAB3in 99 array def /AAN3in 99 array def /BAN3in 99 array def /CAN3in 99 array def /L*3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*3in 99 array def /b*3in 99 array def /C*ab3in 99 array def /h*ab3in 99 array def /a'3in 99 array def /b'3in 99 array def /c'3in 99 array def /i13in 99 array def /i23in 99 array def /id3in 99 array def /ic3in 99 array def /w13in 99 array def /w23in 99 array def /w1c3in 99 array def /w2c3in 99 array def /wd3in 99 array def /wc3in 99 array def /wdc3in 99 array def /wcc3in 99 array def /X4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y4i 99 array def /Z4i 99 array def /hxy4i 99 array def /XAN4i 99 array def /YAN4i 99 array def /ZAN4i 99 array def /A4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B4i 99 array def /CAB4i 99 array def /hAB4i 99 array def /AAN4i 99 array def /BAN4i 99 array def /CAN4i 99 array def /L*4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*4i 99 array def /b*4i 99 array def /C*ab4i 99 array def /h*ab4i 99 array def /a'4i 99 array def /b'4i 99 array def /c'4i 99 array def /i14i 99 array def /i24i 99 array def /id4i 99 array def /ic4i 99 array def /w14i 99 array def /w24i 99 array def /w1c4i 99 array def /w2c4i 99 array def /wd4i 99 array def /wc4i 99 array def /wdc4i 99 array def /wcc4i 99 array def /X4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y4in 99 array def /Z4in 99 array def /hxy4in 99 array def /XAN4in 99 array def /YAN4in 99 array def /ZAN4in 99 array def /A4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B4in 99 array def /CAB4in 99 array def /hAB4in 99 array def /AAN4in 99 array def /BAN4in 99 array def /CAN4in 99 array def /L*4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*4in 99 array def /b*4in 99 array def /C*ab4in 99 array def /h*ab4in 99 array def /a'4in 99 array def /b'4in 99 array def /c'4in 99 array def /i14in 99 array def /i24in 99 array def /id4in 99 array def /ic4in 99 array def /w14in 99 array def /w24in 99 array def /w1c4in 99 array def /w2c4in 99 array def /wd4in 99 array def /wc4in 99 array def /wdc4in 99 array def /wcc4in 99 array def %actual possible data (x=1,2,3,4) /Xxi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxi 99 array def /Zxi 99 array def /hxyxi 99 array def /XANxi 99 array def /YANxi 99 array def /ZANxi 99 array def /Axi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxi 99 array def /CABxi 99 array def /hABxi 99 array def /AANxi 99 array def /BANxi 99 array def /CANxi 99 array def /L*xi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xi 99 array def /b*xi 99 array def /C*abxi 99 array def /h*abxi 99 array def /a'xi 99 array def /b'xi 99 array def /c'xi 99 array def /i1xi 99 array def /i2xi 99 array def /idxi 99 array def /icxi 99 array def /w1xi 99 array def /w2xi 99 array def /w1cxi 99 array def /w2cxi 99 array def /wdxi 99 array def /wcxi 99 array def /wdcxi 99 array def /wccxi 99 array def /Xxin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxin 99 array def /Zxin 99 array def /hxyxin 99 array def /XANxin 99 array def /YANxin 99 array def /ZANxin 99 array def /Axin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxin 99 array def /CABxin 99 array def /hABxin 99 array def /AANxin 99 array def /BANxin 99 array def /CANxin 99 array def /L*xin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xin 99 array def /b*xin 99 array def /C*abxin 99 array def /h*abxin 99 array def /a'xin 99 array def /b'xin 99 array def /c'xin 99 array def /i1xin 99 array def /i2xin 99 array def /idxin 99 array def /icxin 99 array def /w1xin 99 array def /w2xin 99 array def /w1cxin 99 array def /w2cxin 99 array def /wdxin 99 array def /wcxin 99 array def /wdcxin 99 array def /wccxin 99 array def 0 1 98 {/i exch def wd3i i 0 put id3i i 0 put } for /FARBEda 79 array def /FARBEca 79 array def /FARBEd 79 array def /FARBEc 79 array def FARBEda 00 (Cm=380_561) put FARBEca 00 (Rm=561_770) put FARBEd 00 (C) put FARBEc 00 (R) put FARBEda 13 (Gm=470_570) put FARBEca 13 (Mm=570_470) put FARBEd 13 (G) put FARBEc 13 (M) put FARBEda 23 (Ym=520_770) put FARBEca 23 (Bm=380_520) put FARBEd 23 (Y) put FARBEc 23 (B) put FARBEda 18 (Ym=495_770) put FARBEca 18 (Bm=380_495) put FARBEd 18 (Y) put FARBEc 18 (B) put /xchart4 1 def %xchart4=0 to 7 for 8 pictures %0 1 7 {/xchart4 exch def %xchart4=0,7 %gsave /xchart14 1 def %for a=x/y (0) and a=(x-0.171)/y (1) /xchartl xchart def 4 1 4 {/xchartl exch def %xchartl=0,7 gsave /iacol 23 def 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def 75 85 moveto lanind cvishow (-) show colorm cvishow deintp cvishow xcolorl cvishow xchart cvishow pchart cvishow colsep cvishow (-L) show pmetam cvishow 5 /Times-ISOL1 FS 185 85 moveto (DG410-5N) show %xchart 0 ge {(A) show} if %(_) show xchart4 1 add cvishow %(_) show xchartl 1 add cvishow 72 90 translate 0.010 MM dup scale 20 setlinewidth 0 0 1 0 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath fill 0 0 0 1 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath stroke %calculation of XW,YW,ZW for illuminant %D65, D50, P40, A00, E00, C00, P00, Q00 %P60, P55, P50, P45, P40, P35, P30, P25 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartl 0 eq {SX00 i SP60 i get put} if xchartl 1 eq {SX01 i SP55 i get put} if xchartl 2 eq {SX02 i SP50 i get put} if xchartl 3 eq {SX03 i SP45 i get put} if xchartl 4 eq {SX04 i SP40 i get put} if xchartl 5 eq {SX05 i SP35 i get put} if xchartl 6 eq {SX06 i SP30 i get put} if xchartl 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartl 0 eq {SX00 i SD65 i get put} if xchartl 1 eq {SX01 i SD50 i get put} if xchartl 2 eq {SX02 i SP40 i get put} if xchartl 3 eq {SX03 i SA00 i get put} if xchartl 4 eq {SX04 i SE00 i get put} if xchartl 5 eq {SX05 i SC00 i get put} if xchartl 6 eq {SX06 i SP00 i get put} if xchartl 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 %calculation of XW,YW,ZW for illuminant Pxx, Dxx 0 1 79 {/i exch def %i=0,79 SDAK i xchartl 0 eq {SX00 i get} if xchartl 1 eq {SX01 i get} if xchartl 2 eq {SX02 i get} if xchartl 3 eq {SX03 i get} if xchartl 4 eq {SX04 i get} if xchartl 5 eq {SX05 i get} if xchartl 6 eq {SX06 i get} if xchartl 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 0 1 1 {/Icom exch def %Icom=0,1 only for part 1 Icom 0 eq {/xpos 100 def /xpos1 12100 def} {%/xpos 12100 def /xpos 100 def /xpos1 100 def} ifelse %/ymax 3700 def /ymax 3820 def TBS xpos 50 sub ymax ydel 0 mul sub moveto (CIE\255) show TELi xchartl get show (\255Daten von ) showde ( data of ) showea TBIS (\255Ostwald) showde ( Ostwald) showea TBS (\255Farben von maximalem Buntwert) showde ( colours of maximum chromatic value) showea TBIS ( C) show TBL 0 -60 rmoveto (AB) show 0 60 rmoveto xpos 50 sub ymax ydel 1 mul sub moveto TBIS (Y) show TBL 0 -60 rmoveto (w) show xcolorl 1 eq {(,10) show} if 0 60 rmoveto TBS KN 0 eq {(=100) show}{(=88,6) show} ifelse TBS (, ) show FARBEda iacol get show TBS (, ) show FARBEca iacol get show /icurm 1 def %0:dominant, 1:and complimentary colours %icurm=1: 1\255minus data (icurm=1) /iout0x 1 def %coordinate system /iout1x 1 def %iout1x=1:Ostwald colours 1 with procedures _cur2 %dominant (icurm=0) and complementary (icurm=1) /iout2x 0 def %iout2x=1:Ostwald colours 2 with procedures _cur2 /iout3x 0 def %sRGB colours, iout3x=1:sRGB data icurm 1 eq {%icurm=1 TBS (, and ) showea ( und ) showde (1\255minus data ( - -)) showea (1\255Minus\255Daten ( - -)) showde } if %icurm=1 iout2x 1 eq {%iout2x=1 TBS (, 2 calculation methods) showea (, 2 Berechnungsmethoden) showde } if %iout2x=1 iout3x 1 eq {%iout3x=1 TBS (, and ) showea ( und ) showde TBIS (sRGB) show TBS ( data ( - -)) showea (\255Daten ( - -)) showde } if %iout3x=1 %********************************************************* /WEL1 120 array def %irregular or regular definition /WEL2 120 array def %irregular or regular definition %0 1 2 3 4 5 6 7 8 9 /WEL1 [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def /WEL1 [405 410 415 420 425 430 435 440 445 450 455 460 465 470 475 480 485 490 495 500 505 510 515 520 525 530 535 540 545 550 555 560 565 570 575 580 585 590 595 600 605 610 615 620 625 630 635 640 645 650 655 660 665 670 675 680 685 690 695 700 ] def 0 1 57 {/k exch def %k=0,57 %wavelength 405..700nm /j WEL1 k get 400 sub 5 idiv def /FF1 FXD j get def %start at 405..700nm /FF2 FYD j get def /FF3 FZD j get def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0 i11i k INP put i21i k IPN put } { i12i k IPN put i22i k INP put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* Icom 0 eq {%Icom=0 INP 0 ge {%INP>=0 % xpos xdel 0 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow %includes rounding failure w11i k DOWXIE1 0.03 add cvi put w1c1i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow w21i k DOWXIE2 0.03 add cvi put w2c1i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show w21i k DOWXIE1 0.03 add cvi put w2c1i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 }%Icom=0 {%Icom=1 INP 0 ge {%INP>=0 % xpos xdel 1 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 0.03 add cvishow w22i k DOWXIE1 0.03 add cvi put w2c2i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE2 0.03 add cvishow w12i k DOWXIE2 0.03 add cvi put w1c2i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 cvishow (c) show w12i k DOWXIE1 0.03 add cvi put w1c2i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 } ifelse %Icom=0,1 0 0 0 1 setcmyk_olvcolor %********************************************************* 0 1 79 {/i exch def %i=0,79 RA i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RA i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RA i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RA i1 0.5 put RA i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /X 0 def /Y 0 def /Z 0 def 0 1 079 {/i exch def %i=0,79 /X X F2N 00 i add get RA i get mul add def /Y Y F2N 80 i add get RA i get mul add def /Z Z F2N 160 i add get RA i get mul add def } for %i=0,79 KN 1 eq {%KN=1 /faktn 0.8859 def /X X faktn mul def /Y Y faktn mul def /Z Z faktn mul def % /faktw 0.025 faktn div def %approximately 2,8% % /Xc XW X sub def %c=antichromatic % /Yc YW Y sub def % /Zc ZW Z sub def % /X X Xc faktw mul add faktn mul def % /Y Y Yc faktw mul add faktn mul def % /Z Z Zc faktw mul add faktn mul def } if %KN=1 /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def %************************************************* Icom 1 eq {%Icom=1 /X XW X sub def /Y YW Y sub def /Z ZW Z sub def /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def } if %Icom=1 /hxy YAN YANW sub XAN XANW sub 0.0001 add atan def Icom 0 eq {%Icom=0,1 X1i k X put Y1i k Y put Z1i k Z put %hxy1i k hxy put XAN1i k XAN put YAN1i k YAN put ZAN1i k ZAN put }%Icom=0 {%Icom=1 X2i k X put Y2i k Y put Z2i k Z put %hxy2i k hxy put XAN2i k XAN put YAN2i k YAN put ZAN2i k ZAN put } ifelse %Icom=0,1 xchart14 0 eq {%xchart14=0 /AAN X Y 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AAN XAN 0.171 sub YAN 0.0001 add div def } if %xchart14=1 /BAN Z Y 0.0001 add div 0.4 mul neg def /CAN AAN AANW sub dup mul BAN BANW sub dup mul add 0.0001 add sqrt def /A AAN AANW sub Y mul def /B BAN BANW sub Y mul def /CAB A dup mul B dup mul add 0.0001 add sqrt def /hAB B A 0.0001 add atan def Icom 0 eq {%Icom=0,1 Y1i k Y put A1i k A put B1i k B put CAB1i k CAB put hAB1i k hAB put AAN1i k AAN put BAN1i k BAN put CAN1i k CAN put }%Icom=0 {%Icom=1 Y2i k Y put A2i k A put B2i k B put CAB2i k CAB put hAB2i k hAB put AAN2i k AAN put BAN2i k BAN put CAN2i k CAN put } ifelse %Icom=0,1 /D13 1 3 div def /D841_108 841 108 div def /D16_116 16 116 div def /D24_116 24 116 div 3 exp def X XW div D24_116 gt {/FXXN X XW div 0.0001 add D13 exp def} {/FXXN D841_108 X XW div mul D16_116 add def} ifelse Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def} {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse Z ZW div D24_116 gt {/FZZN Z ZW div 0.0001 add D13 exp def} {/FZZN D841_108 Z YW div mul D16_116 add def} ifelse /L* 116. FYYN mul 16. sub def /a* 500. FXXN FYYN sub mul def /b* 200. FYYN FZZN sub mul def /C*ab a* dup mul b* dup mul add 0.5 exp def /h*ab b* a* 0.000001 add atan def /a' X Y 0.0001 add div D13 exp 0.2191 mul def /b' Z Y 0.0001 add div D13 exp -0.08376 mul def /c' a' dup mul b' dup mul add 0.0001 add sqrt def Icom 0 eq {%Icom=0,1 L*1i k L* put a*1i k a* put b*1i k b* put C*ab1i k C*ab put h*ab1i k h*ab put a'1i k a' put b'1i k b' put c'1i k c' put }%Icom=0 {%Icom=1 L*2i k L* put a*2i k a* put b*2i k b* put C*ab2i k C*ab put h*ab2i k h*ab put a'2i k a' put b'2i k b' put c'2i k c' put } ifelse %Icom=0,1 %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 X def /FF2 Y def /FF3 Z def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0,1 id1i k INP put ic1i k IPN put }%Icom=0 {%Icom=1 id2i k INP put ic2i k IPN put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def } if %kNP>=0 %********************************************************* %0 1 1 0 setcmyk_olvcolor INP 0 ge {%INP>=0,-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow Icom 0 eq {%Icom=0,1 wd1i k DOWXIE1 0.03 add cvi put wdc1i k () put }%Icom=0 {%Icom=1 wd2i k DOWXIE1 0.03 add cvi put wdc2i k () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wd1i k DOWXIE2 0.03 add cvi put wdc1i k (c) put }%Icom=0 {%Icom=1 wd2i k DOWXIE2 0.03 add cvi put wdc2i k (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 %1 0 1 0 setcmyk_olvcolor IPN 0 ge {%IPN>=0,-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow Icom 0 eq {%Icom=0,1 wc1i k DOWXIE2 0.03 add cvi put wcc1i k () put }%Icom=0 {%Icom=1 wc2i k DOWXIE2 0.03 add cvi put wcc2i k () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wc1i k DOWXIE1 0.03 add cvi put wcc1i k (c) put }%Icom=0 {%Icom=1 wc2i k DOWXIE1 0.03 add cvi put wcc2i k (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 0 0 0 1 setcmyk_olvcolor } for %k=0,57 } for %Icom=0,1 only for part 1 %************************************************************* /RGB*16 16 array def /RGB*16 [(1.00 0.00 0.00) (1.00 0.25 0.00) (1.00 0.50 0.00) (1.00 0.75 0.00) (1.00 1.00 0.00) (0.75 1.00 0.00) (0.50 1.00 0.00) (0.25 1.00 0.00) (0.00 1.00 0.00) (0.00 1.00 0.50) (0.00 1.00 1.00) (0.00 0.50 1.00) (0.00 0.00 1.00) (0.50 0.00 1.00) (1.00 0.00 1.00) (1.00 0.00 0.50) ] def /RGBNM*16 16 array def /RGBNW*16 [(1.00 0.00 0.00) (0.50 0.00 0.00) (1.00 0.50 0.50) () (1.00 1.00 0.00) (0.50 0.50 0.00) (1.00 1.00 0.50) () (0.00 1.00 0.00) (0.00 0.50 0.00) (0.50 1.00 0.50) () (0.00 0.00 1.00) (0.00 0.00 0.50) (0.50 0.50 1.00) ()] def /RGB*005 05 array def /RGB*005 [(0.00 0.00 0.00) (0.25 0.25 0.25) (0.50 0.50 0.50) (0.75 0.75 0.75) (1.00 1.00 1.00)] def /RGB*009 09 array def /RGB*009 [ (0.000 0.000 0.000) (0.125 0.125 0.125) (0.250 0.250 0.250) (0.375 0.375 0.375) (0.500 0.500 0.500) (0.625 0.625 0.625) (0.750 0.750 0.750) (0.875 0.875 0.875) (1.000 1.000 1.000)] def /RGBOLV*73tx 73 array def /RGBOLV*73tx [ (1.000 0.000 0.000) (1.000 0.125 0.000) (1.000 0.250 0.000) (1.000 0.375 0.000) %O-Y (1.000 0.500 0.000) (1.000 0.625 0.000) (1.000 0.750 0.000) (1.000 0.875 0.000) (1.000 1.000 0.000) (0.875 1.000 0.000) (0.750 1.000 0.000) (0.625 1.000 0.000) %Y-L (0.500 1.000 0.000) (0.375 1.000 0.000) (0.250 1.000 0.000) (0.125 1.000 0.000) (0.000 1.000 0.000) (0.000 1.000 0.125) (0.000 1.000 0.250) (0.000 1.000 0.375) %L-C (0.000 1.000 0.500) (0.000 1.000 0.625) (0.000 1.000 0.750) (0.000 1.000 0.875) (0.000 1.000 1.000) (0.000 0.875 1.000) (0.000 0.750 1.000) (0.000 0.625 1.000) %C-V (0.000 0.500 1.000) (0.000 0.375 1.000) (0.000 0.250 1.000) (0.000 0.125 1.000) (0.000 0.000 1.000) (0.125 0.000 1.000) (0.250 0.000 1.000) (0.375 0.000 1.000) %V-M (0.500 0.000 1.000) (0.625 0.000 1.000) (0.750 0.000 1.000) (0.875 0.000 1.000) (1.000 0.000 1.000) (1.000 0.000 0.875) (1.000 0.000 0.750) (1.000 0.000 0.625) %M-O (1.000 0.000 0.500) (1.000 0.000 0.375) (1.000 0.000 0.250) (1.000 0.000 0.125) %repeat for range >360 degree (1.000 0.000 0.000) (1.000 0.125 0.000) (1.000 0.250 0.000) (1.000 0.375 0.000) %O-Y (1.000 0.500 0.000) (1.000 0.625 0.000) (1.000 0.750 0.000) (1.000 0.875 0.000) (1.000 1.000 0.000) (0.875 1.000 0.000) (0.750 1.000 0.000) (0.625 1.000 0.000) %Y-L (0.500 1.000 0.000) (0.375 1.000 0.000) (0.250 1.000 0.000) (0.125 1.000 0.000) %N-W (0.000 0.000 0.000) (0.125 0.125 0.125) (0.250 0.250 0.250) (0.375 0.375 0.375) (0.500 0.500 0.500) (0.625 0.625 0.625) (0.750 0.750 0.750) (0.875 0.875 0.875) (1.000 1.000 1.000) ] def /RGBOLV*219 219 array def /RGBOLV*219 [1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 %O-Y 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 0.000 %Y-L 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 0.000 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 %L-C 0.000 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 %C-V 0.000 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 1.000 %V-M 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 %M-O 1.000 0.000 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 %repeat for range >360 degree 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 %O-Y 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 0.000 %Y-L 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 %N-W 0.000 0.000 0.000 0.125 0.125 0.125 0.250 0.250 0.250 0.375 0.375 0.375 0.500 0.500 0.500 0.625 0.625 0.625 0.750 0.750 0.750 0.875 0.875 0.875 1.000 1.000 1.000 ] def %************************************************************************** /RGB0i_XYZi { %BEG procedure RGB0i_XYZj %transfers standard sRGB data (IEC 61966-2-1) to XYZ data %for 9x9x9=729 colours or 64+9=73 colours=48+16+9 colours %normalized XYZ data with Y=88.59 for display white, compare ISO 9241-306:2008. /IM0 73 def /IM1 IM0 1 sub def /iN 64 def /iW 72 def /Xi089 729 array def /Yi089 729 array def /Zi089 729 array def /Xi100 729 array def /Yi100 729 array def /Zi100 729 array def /R0i 729 array def /G0i 729 array def /B0i 729 array def %row no.1 and 2: 9xrgb %/imax 08 def %/jmax 08 def %/kmax 08 def %0 1 kmax {/k exch def %beg k=0,08 %0 1 jmax {/j exch def %beg j=0,jmax %0 1 imax {/i exch def %beg i=0,imax % /n i j 9 mul add k 81 mul add def % R0i n k kmax div 1000 mul put % G0i n j jmax div 1000 mul put % B0i n i imax div 1000 mul put % } for %end i=0,jmax % } for %end j=0,jmax % } for %end k=0,kmax 0 1 IM1 {/i exch def %i=0,IM1 /i3 i 3 mul def R0i i RGBOLV*219 i3 0 add get 1000 mul put G0i i RGBOLV*219 i3 1 add get 1000 mul put B0i i RGBOLV*219 i3 2 add get 1000 mul put } for %i=0,IM1 0 1 IM1 {/i exch def %i=0,IM1 R0i i get 0.04045 le %equations of IEC 61966-2-1:2003 {/RsRGB R0i i get 12.92 div def} {/RsRGB R0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse G0i i get 0.04045 le {/GsRGB G0i i get 12.92 div def} {/GsRGB G0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse B0i i get 0.04045 le {/BsRGB B0i i get 12.92 div def} {/BsRGB B0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse Xi100 i 0.4124 RsRGB mul 0.3576 GsRGB mul add 0.1805 BsRGB mul add 100 mul put Yi100 i 0.2126 RsRGB mul 0.7152 GsRGB mul add 0.0722 BsRGB mul add 100 mul put Zi100 i 0.0193 RsRGB mul 0.1192 GsRGB mul add 0.9505 BsRGB mul add 100 mul put } for %i=0,IM1 0 1 IM1 {/i exch def %i=0,IM1 Xi089 i Xi100 i get 0.8859 mul put Yi089 i Yi100 i get 0.8859 mul put Zi089 i Zi100 i get 0.8859 mul put } for %i=0,IM1 /XLN100 Xi100 iN get def /YLN100 Yi100 iN get def /ZLN100 Zi100 iN get def /XLW100 Xi100 iW get def /YLW100 Yi100 iW get def /ZLW100 Zi100 iW get def /XLN089 Xi089 iN get def /YLN089 Yi089 iN get def /ZLN089 Zi089 iN get def /XLW089 Xi089 iW get def /YLW089 Yi089 iW get def /ZLW089 Zi089 iW get def % achromatic (D65) colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLWD65089 95.04 0.8859 mul def /YLWD65089 100.00 0.8859 mul def /ZLWD65089 108.88 0.8859 mul def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def } bind def %END procedure RGB0i_XYZi for 729 colours %********************************************************************** /XYZi_Lab*i { %BEG Procedure XYZi_Lab*i %transfer from XYZi data to Lab*i CIELAB data for 9x9x9=729 colours %requires IM0, IM1, IN, IW %requires /Xi089,Yi089,Zi089 729 array def %max 729 %requires /Xi100,Yi100,Zi100 729 array def %max 729 %requires (XYZ)LWD65100, (XYZ)LWD65089 %new /L*i089,a*i089,b*i089 729 array def %max 729 %new /L*i100,a*i100,b*i100 729 array def %max 729 /L*i100 729 array def /a*i100 729 array def /b*i100 729 array def /L*i089 729 array def /a*i089 729 array def /b*i089 729 array def 0 1 IM1 {/i exch def %i=0,IM1 /XQ Xi089 i get XLWD65100 div def /YQ Yi089 i get YLWD65100 div def /ZQ Zi089 i get ZLWD65100 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if L*i089 i YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put a*i089 i XQ 0.008856 lt {7.787 XQ mul 16 116 div add} {XQ 0.33333333 exp} ifelse YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse sub 500 mul put b*i089 i YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add} {ZQ 0.33333333 exp} ifelse sub 200 mul put /XQ Xi100 i get XLWD65100 div def /YQ Yi100 i get YLWD65100 div def /ZQ Zi100 i get ZLWD65100 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if L*i100 i YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put a*i100 i XQ 0.008856 lt {7.787 XQ mul 16 116 div add} {XQ 0.33333333 exp} ifelse YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse sub 500 mul put b*i100 i YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add} {ZQ 0.33333333 exp} ifelse sub 200 mul put } for %i=0,IM1 /L*N100 L*i100 iN get def /a*N100 a*i100 iN get def /b*N100 b*i100 iN get def /L*W100 L*i100 iW get def /a*W100 a*i100 iW get def /b*W100 b*i100 iW get def /L*N089 L*i089 iN get def /a*N089 a*i089 iN get def /b*N089 b*i089 iN get def /L*W089 L*i089 iW get def /a*W089 a*i089 iW get def /b*W089 b*i089 iW get def } bind def %END XYZi_Lab*i %********************************************************************** /XYZi_ABi { %BEG Procedure XYZj_ABi %transfer from XYZj data to ABi YAB data for 9x9x9=729 colours %requires IM0, IM1, IN, IW %requires /Xi089,Yi089,Zi089 729 array def %max 729 %requires /Xi100,Yi100,Zi100 729 array def %max 729 %requires (XYZ)LWD65100, (XYZ)LWD65089 %new /Ai089,Bi089 729 array def %max 729 %new /Ai100,Bi100 729 array def %max 729 /Ai100 729 array def /Bi100 729 array def /Ai089 729 array def /Bi089 729 array def /XW100 XLWD65100 def /YW100 YLWD65100 def /ZW100 ZLWD65100 def 0 1 IM1 {/i exch def %i=0,IM1 Ai100 i Xi100 i get Yi100 i get 0.0001 add div XLWD65100 YLWD65100 0.0001 add div sub Yi100 i get mul put Bi100 i Zi100 i get Yi100 i get 0.0001 add div ZLWD65100 YLWD65100 0.0001 add div sub Yi100 i get mul 0.4 mul neg put Ai089 i Ai100 i get 0.8859 mul put Bi089 i Bi100 i get 0.8859 mul put } for %i=0,IM1 /AN100 Ai100 iN get def /BN100 Bi100 iN get def /AW100 Ai100 iW get def /BW100 Bi100 iW get def /AN089 Ai089 iN get def /BN089 Bi089 iN get def /AW089 Ai089 iW get def /BW089 Bi089 iW get def } bind def %END XYZi_ABi %********************************************************************** /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvishowb {cvi 6 string cvs show ( ) show} def /cvsshow1b {10 mul cvi 0.1 mul 7 string cvs show ( ) show} def /cvsshow2b {100 mul cvi 0.01 mul 7 string cvs show ( ) show} def /cvsshow3b {1000 mul cvi 0.001 mul 7 string cvs show ( ) show} def /cvishowr {0.5 add cvi 6 string cvs show} def /cvsshow1r {0.05 add 10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2r {0.005 add 100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3r {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show} def /cvi100 {100 mul cvi /xi exch def xi 0 lt {/vorz -1 def} {/vorz 1 def} ifelse /xia xi abs def vorz -1 eq {(\255) show} {(0) show} ifelse xia 0 ge xia 9 le {(0000) show} if xia 10 ge xia 99 le and {(000) show} if xia 100 ge xia 999 le and {(00) show} if xia 1000 ge xia 9999 le and {(0) show} if xia cvishow } bind def /cvi1000 {1000 mul cvi /xi exch def xi 0 ge xi 9 le {(000) show} if xi 10 ge xi 99 le and {(00) show} if xi 100 ge xi 999 le and {(0) show} if xi cvishow } bind def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def %72 90 translate %0.01 MM dup scale %TK %100 -180 moveto %(DG410-2N, ) show %(NCS colours) showea %(NCS\255Farben) showde %TK %(, normalized:) showea %(, normiert:) showde %TIK %( Yn = Yw) show %TK %( = 100) show %STOP1 RGB0i_XYZi %STOP2 XYZi_Lab*i %STOP3 XYZi_ABi %STOP /ymax 16600 def /idy 206 def /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /FAD 63 array def /FBD 63 array def /FCD 63 array def /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 /ix0 100 def /ix1 ix0 1400 add def /ixd 600 def /iymax 16550 def /idy 206 def /xtext 0 def xtext 1 eq {%itext=1 TBIK ix0 iymax idy add 50 add moveto (rgb) show TBS 0 -90 rmoveto (i) show 0 90 rmoveto TBK ix1 ixd 0 mul add 150 add iymax idy add 50 add moveto TBK (i) show ix1 ixd 1 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 1 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z, x, y) show TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 6 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 6 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBIK (, a', b', c') show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 14 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 14 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBIK (, a, b, c) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 22 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 22 mul add iymax idy add 50 add moveto TBK ([) show TBIK (i) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TBIK (i) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 26 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 26 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z) show TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 29 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 29 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 34 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 34 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK } if %itext=1 /D13 1 3 div def /a2D65 1 XLWD65100 0.0001 add div D13 exp def /b2D65 1 ZLWD65100 0.0001 add div D13 exp neg def TK %20000 15000 moveto a2D65 cvsshow3r (,) b2D65 cvsshow3r /aWD65100 XLWD65100 YLWD65100 0.0001 add div def /bWD65100 ZLWD65100 YLWD65100 0.0001 add div 0.4 mul neg def /aWD65089 XLWD65100 YLWD65100 0.0001 add div def /bWD65089 ZLWD65100 YLWD65100 0.0001 add div 0.4 mul neg def %20000 14000 moveto aWD65100 cvsshow3r (,) bWD65100 cvsshow3r /a'WD65100 XLWD65100 YLWD65100 0.0001 add div D13 exp a2D65 mul def /b'WD65100 ZLWD65100 YLWD65100 0.0001 add div D13 exp b2D65 mul def /a'WD65089 XLWD65100 YLWD65100 0.0001 add div D13 exp a2D65 mul def /b'WD65089 ZLWD65100 YLWD65100 0.0001 add div D13 exp b2D65 mul def %20000 13000 moveto a'WD65100 cvsshow3r (,) b'WD65100 cvsshow3r /itx -0.8 def 0 1 IM1 {/i exch def %i=0,IM1 % i IM1 ne {%i#IM1 % i i 8 idiv 8 mul eq {/itx itx 0.8 add def} if % } if %i#IM1 % /iy i itx add def %ix0 ixd 0 mul add iymax iy idy mul sub moveto %RGBOLV*73tx i get show %ix1 ixd 0 mul add 150 add iymax iy idy mul sub moveto %i 9 le {(0) show} if i cvishow /XD65100 Xi100 i get def /YD65100 Yi100 i get def /ZD65100 Zi100 i get def /SUM XD65100 YD65100 add ZD65100 add def /xD65100 XD65100 SUM 0.0001 add div def /yD65100 YD65100 SUM 0.0001 add div def %ix1 ixd 1 mul add iymax iy idy mul sub moveto XD65100 cvsshow1r %ix1 ixd 2 mul add iymax iy idy mul sub moveto YD65100 cvsshow1r %ix1 ixd 3 mul add iymax iy idy mul sub moveto ZD65100 cvsshow1r %ix1 ixd 4 mul add iymax iy idy mul sub moveto xD65100 cvsshow3r %ix1 ixd 5 mul add iymax iy idy mul sub moveto yD65100 cvsshow3r X3i i XD65100 put Y3i i YD65100 put Z3i i ZD65100 put %XAN3i i xD65100 put %YAN3i i yD65100 put /a'D65100 XD65100 YD65100 0.0001 add div D13 exp a2D65 mul def /b'D65100 ZD65100 YD65100 0.0001 add div D13 exp b2D65 mul def /c'D65100 a'D65100 a'WD65100 sub dup mul b'D65100 b'WD65100 sub dup mul add 0.0001 add sqrt def /L*D65100 L*i100 i get def /a*D65100 a*i100 i get def /b*D65100 b*i100 i get def /C*D65100 a*D65100 dup mul b*D65100 dup mul add 0.0001 add sqrt def /h*D65100 b*D65100 a*D65100 0.0001 add atan def %ix1 ixd 06 mul add iymax iy idy mul sub moveto L*D65100 cvsshow1r %ix1 ixd 07 mul add iymax iy idy mul sub moveto a*D65100 cvsshow1r %ix1 ixd 08 mul add iymax iy idy mul sub moveto b*D65100 cvsshow1r %ix1 ixd 09 mul add iymax iy idy mul sub moveto C*D65100 cvsshow1r %ix1 ixd 10 mul add iymax iy idy mul sub moveto h*D65100 cvsshow1r %ix1 ixd 11 mul add iymax iy idy mul sub moveto a'D65100 cvsshow3r %ix1 ixd 12 mul add iymax iy idy mul sub moveto b'D65100 cvsshow3r %ix1 ixd 13 mul add iymax iy idy mul sub moveto c'D65100 cvsshow3r L*3i i L*D65100 put a*3i i a*D65100 put b*3i i b*D65100 put C*ab3i i C*D65100 put h*ab3i i h*D65100 put %a'3i i a'D65100 put %b'3i i b'D65100 put %c'3i i c'D65100 put /aD65100 XD65100 YD65100 0.0001 add div def /bD65100 ZD65100 YD65100 0.0001 add div 0.4 mul neg def /cD65100 aD65100 aWD65100 sub dup mul bD65100 bWD65100 sub dup mul add 0.0001 add sqrt def /AD65100 XD65100 YD65100 0.0001 add div XLWD65100 YLWD65100 0.0001 add div sub YD65100 mul def /BD65100 ZD65100 YD65100 0.0001 add div ZLWD65100 YLWD65100 0.0001 add div sub YD65100 mul 0.4 mul neg def /CD65100 AD65100 dup mul BD65100 dup mul add 0.0001 add sqrt def /hD65100 BD65100 AD65100 0.0001 add atan def %ix1 ixd 14 mul add iymax iy idy mul sub moveto YD65100 cvsshow1r %ix1 ixd 15 mul add iymax iy idy mul sub moveto AD65100 cvsshow1r %ix1 ixd 16 mul add iymax iy idy mul sub moveto BD65100 cvsshow1r %ix1 ixd 17 mul add iymax iy idy mul sub moveto CD65100 cvsshow1r %ix1 ixd 18 mul add iymax iy idy mul sub moveto hD65100 cvsshow1r %ix1 ixd 19 mul add iymax iy idy mul sub moveto aD65100 cvsshow3r %ix1 ixd 20 mul add iymax iy idy mul sub moveto bD65100 cvsshow3r %ix1 ixd 21 mul add iymax iy idy mul sub moveto cD65100 cvsshow3r A3i i AD65100 put B3i i BD65100 put CAB3i i CD65100 put hAB3i i hD65100 put AAN3i i aD65100 put BAN3i i bD65100 put CAN3i i cD65100 put %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 XD65100 def /FF2 YD65100 def /FF3 ZD65100 def /U1 XLWD65100 def /U2 YLWD65100 def /U3 ZLWD65100 def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/j exch def %j=1,60 /TN FAD j get FXU1 mul FBD j get FXU2 mul add FCD j get FXU3 mul add def /TP FAD j 1 add get FXU1 mul FBD j 1 add get FXU2 mul add FCD j 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP j def exit} if } for %j=1,60 0 1 60 {/j exch def %j=1,60 /TN FAD j get FXU1 mul FBD j get FXU2 mul add FCD j get FXU3 mul add neg def /TP FAD j 1 add get FXU1 mul FBD j 1 add get FXU2 mul add FCD j 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN j def exit} if } for %j=1,60 /Icom 0 def %Icom=0 only for part 2 TM Icom 0 eq {%Icom=0,1 id3i i INP put ic3i i IPN put }%Icom=0 {%Icom=1 id4i i INP put ic4i i IPN put } ifelse %Icom=0,1 TLL %ix1 ixd 22 mul add iymax iy idy mul sub moveto INP cvishow %ix1 ixd 23 mul add iymax iy idy mul sub moveto IPN cvishow %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def } if %kNP>=0 %********************************************************* %0 1 1 0 setcmyk_olvcolor INP 0 ge {%INP>=0,-1 % ix1 ixd 24 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 cvishow Icom 0 eq {%Icom=0,1 wd3i i DOWXIE1 0.03 add cvi put wdc3i i () put }%Icom=0 {%Icom=1 wd4i i DOWXIE1 0.03 add cvi put wdc4i i () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % ix1 ixd 24 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 cvishow (c) show Icom 0 eq {%Icom=0,1 wd3i i DOWXIE2 0.03 add cvi put wdc3i i (c) put }%Icom=0 {%Icom=1 wd4i i DOWXIE2 0.03 add cvi put wdc4i i (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 %1 0 1 0 setcmyk_olvcolor IPN 0 ge {%IPN>=0,-1 % ix1 ixd 25 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 cvishow Icom 0 eq {%Icom=0,1 wc3i i DOWXIE2 0.03 add cvi put wcc3i i () put }%Icom=0 {%Icom=1 wc4i i DOWXIE2 0.03 add cvi put wcc4i i () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % ix1 ixd 25 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 cvishow (c) show Icom 0 eq {%Icom=0,1 wc3i i DOWXIE1 0.03 add cvi put wcc3i i (c) put }%Icom=0 {%Icom=1 wc4i i DOWXIE1 0.03 add cvi put wcc4i i (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 %********************************************************************** /XD65089 Xi089 i get def /YD65089 Yi089 i get def /ZD65089 Zi089 i get def %ix1 ixd 26 mul add iymax iy idy mul sub moveto XD65089 cvsshow1r %ix1 ixd 27 mul add iymax iy idy mul sub moveto YD65089 cvsshow1r %ix1 ixd 28 mul add iymax iy idy mul sub moveto ZD65089 cvsshow1r X4i i XD65089 put Y4i i YD65089 put Z4i i ZD65089 put %XAN4i i xD65089 put %YAN4i i yD65089 put /a'D65089 XD65089 YD65089 0.0001 add div D13 exp a2D65 mul def /b'D65089 ZD65089 YD65089 0.0001 add div D13 exp b2D65 mul def /c'D65089 a'D65089 a'WD65089 sub dup mul b'D65089 b'WD65089 sub dup mul add 0.0001 add sqrt def /L*D65089 L*i089 i get def /a*D65089 a*i089 i get def /b*D65089 b*i089 i get def /C*D65089 a*D65089 dup mul b*D65089 dup mul add 0.0001 add sqrt def /h*D65089 b*D65089 a*D65089 0.0001 add atan def %ix1 ixd 29 mul add iymax iy idy mul sub moveto L*D65089 cvsshow1r %ix1 ixd 30 mul add iymax iy idy mul sub moveto a*D65089 cvsshow1r %ix1 ixd 31 mul add iymax iy idy mul sub moveto b*D65089 cvsshow1r %ix1 ixd 32 mul add iymax iy idy mul sub moveto C*D65089 cvsshow1r %ix1 ixd 33 mul add iymax iy idy mul sub moveto h*D65089 cvsshow1r %ix1 ixd 11 mul add iymax iy idy mul sub moveto a'D65089 cvsshow3r %ix1 ixd 12 mul add iymax iy idy mul sub moveto b'D65089 cvsshow3r %ix1 ixd 13 mul add iymax iy idy mul sub moveto c'D65089 cvsshow3r L*4i i L*D65089 put a*4i i a*D65089 put b*4i i b*D65089 put C*ab4i i C*D65089 put h*ab4i i h*D65089 put %a'4i i a'D65089 put %b'4i i b'D65089 put %c'4i i c'D65089 put /aD65089 XD65089 YD65089 0.0001 add div def /bD65089 ZD65089 YD65089 0.0001 add div 0.4 mul neg def /cD65089 aD65089 aWD65089 sub dup mul bD65089 bWD65089 sub dup mul add 0.0001 add sqrt def /AD65089 XD65089 YD65089 0.0001 add div XLWD65089 YLWD65089 0.0001 add div sub YD65089 mul def /BD65089 ZD65089 YD65089 0.0001 add div ZLWD65089 YLWD65089 0.0001 add div sub YD65089 mul 0.4 mul neg def /CD65089 AD65089 dup mul BD65089 dup mul add 0.0001 add sqrt def /hD65089 BD65089 AD65089 0.0001 add atan def %ix1 ixd 34 mul add iymax iy idy mul sub moveto YD65089 cvsshow1r %ix1 ixd 35 mul add iymax iy idy mul sub moveto AD65089 cvsshow1r %ix1 ixd 36 mul add iymax iy idy mul sub moveto BD65089 cvsshow1r %ix1 ixd 37 mul add iymax iy idy mul sub moveto CD65089 cvsshow1r %ix1 ixd 38 mul add iymax iy idy mul sub moveto hD65089 cvsshow1r %ix1 ixd 19 mul add iymax iy idy mul sub moveto aD65089 cvsshow3r %ix1 ixd 20 mul add iymax iy idy mul sub moveto bD65089 cvsshow3r %ix1 ixd 21 mul add iymax iy idy mul sub moveto cD65089 cvsshow3r A4i i AD65089 put B4i i BD65089 put CAB4i i CD65089 put hAB4i i hD65089 put %a4i i aD65089 put %b4i i bD65089 put %c4i i cD65089 put } for %i=0,IM1 %STOP %************************************************************* /imshow {0 -50 rmoveto TBL (m) show 0 50 rmoveto TBIS} def /ioshow {0 -50 rmoveto TBL (o) show 0 50 rmoveto TBIS} def /idshow {0 -50 rmoveto TBL (d) show 0 50 rmoveto TBIS} def /ieshow {0 -50 rmoveto TBL (e) show 0 50 rmoveto TBIS} def %************************************************************* %xchart4=0-0 %STOP0-0 %BEG X,Y,Z = f(hAB) xchart4 0 eq {%xchart4=0 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [( 0) ( 20) ( 40) ( 60) ( 80) (100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1800 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwerte) showde (CIE tristimulus values) showea TBIS 1 0 0 setrgbcolor ( X) show 0 setgray (,) show 0 1 0 setrgbcolor ( Y) show 0 setgray (,) show 0 0 1 setrgbcolor ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP0-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP0-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift -1200 def proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 } if %iout2x=1 %************************************************************ %STOP0-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift 0000 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_XYZ_cur2 [] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout3x=1 } if %xchart4=0 %END X,Y,Z = f(hAB) %STOP0-4 %************************************************************* %xchart4=1-0 %STOP1-0 %BEG A,B,CAB = f(hAB) xchart4 1 eq {%xchart4=1 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show TBS ( und) showde (, and) showea TBS ( Buntwerte) showde ( chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (, ) show TBIS (C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP1-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP1-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 0 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP1-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_ABCY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=1 %END A,B,CAB = f(hAB) %STOP1-4 %************************************************************* %xchart4=2-0 %STOP2-0 %BEG L*,a*,b*,C*ab = f(hAB) xchart4 2 eq {%xchart4=2 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP2-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP2-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 0 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP2-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=2 %END L*,a*,b*,C*ab = f(hAB) %STOP2-4 %************************************************************* %xchart4=3-0 %STOP3-0 %BEG L*,a*,b*,C*ab = f(h*ab) xchart4 3 eq {%xchart4=3 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 200 sub iytt moveto TBIS (h*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP3-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_h*ab_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 1 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP3-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_h*ab_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 1 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP3-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=3 %END L*,a*,b*,C*ab = f(h*ab) %STOP3-4 %************************************************************* %xchart4=4-0 %STOP4-0 %BEG X,Y,Z = f(wd) xchart4 4 eq {%xchart4=4 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyY i get show -75 iyl moveto 150 0 rlineto stroke } for %no axis right /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (Normfarbwerte) showde (CIE tristimulus values) showea 1 0 0 setrgbcolor TBIS ( X) show TBS 0 setgray (,) show 0 1 0 setrgbcolor TBIS ( Y) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %***************************************************** %STOP4-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP4-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift -1200 def proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samRMB proc_tab_Ocolors2 } if %stext=1 } if %iout2x=1 %************************************************************ %STOP4-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift 0000 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_XYZ_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout3x=1 } if %xchart4=4 %END X,Y,Z = f(wd) %STOP4-4 %************************************************************* %xchart4=5-0 %STOP5-0 %BEG A,B,CAB = f(wd) xchart4 5 eq {%xchart4=5 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyA [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyA i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -320 3000 120 add moveto (A) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (B) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-60 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 300 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Buntwerte) showde (, and chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %************************************************* %STOP5-1 380 280 1200 add translate %shift of cero point by 1200 iout1x 1 eq {%iout1x=1 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP5-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP5-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_ABCY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=5 %END A,B,CAB = f(wd) %STOP5-4 %************************************************************* %xchart4=6-0 %STOP6-0 %BEG L*,a*,b*,C*ab = f(wd) xchart4 6 eq {%xchart4=6 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tya* [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tya* i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a*) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b*) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 250 sub 3000 250 add moveto (L*) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (CIELAB\255Helligkeiten) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b*) show TBS 0 setgray (,) show TBIS ( C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %****************************************************** %STOP6-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP6-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP6-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=6 %END L*,a*,b*,C*ab = f(wd) %STOP6-4 %************************************************************* %xchart4=7-0 %STOP7-0 %BEG Y/100, a, b, cab = f(wd) xchart4 7 eq {%xchart4=7 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a) show 20 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 250 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill 0 setgray /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwert) showde (tristimulus value) showea 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Farbarten) showde (, and chromaticities) showea 1 0 0 setrgbcolor TBIS ( a) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( c) show 0 -30 rmoveto TBL xchart14 0 eq {(ab0)}{(ab1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%K=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %K=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************** %STOP7-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_wd_abcY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP7-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %%used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift -0000 def proc_wd_abcY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP7-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %%used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_wd_abcY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=7 %END a,b,c,Y = f(fw) %STOP7-4 %*************************************************************** showpage grestore } for %xchartl=0,7 %showpage %grestore %} for %xchart4=0,7 %showpage %grestore %} for %xcolorl=0,0 %%Trailer %%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 http://farbe.li.tu-berlin.de/DG41/DG411-2A 20180501 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark06 where {pop} {userdict /pdfmark06 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark06 [ /View [ /Fit ] /DOCVIEW pdfmark06 %END PDFDE011 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth r g b {setrgbcolor rec fill} bind def /colrecst %x y width heigth r g b {setrgbcolor rec stroke} bind def /TG {320 /Times-ISOL1 FS} bind def /TM {270 /Times-ISOL1 FS} bind def /TK {200 /Times-ISOL1 FS} bind def /TS {170 /Times-ISOL1 FS} bind def /TL {130 /Times-ISOL1 FS} bind def /TLL {100 /Times-ISOL1 FS} bind def /TIG {320 /TimesI-ISOL1 FS} bind def /TIM {270 /TimesI-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIS {170 /TimesI-ISOL1 FS} bind def /TIL {130 /TimesI-ISOL1 FS} bind def /TBG {320 /TimesB-ISOL1 FS} bind def /TBM {270 /TimesB-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBS {170 /TimesB-ISOL1 FS} bind def /TBL {130 /TimesB-ISOL1 FS} bind def /TBIG {320 /TimesBI-ISOL1 FS} bind def /TBIM {270 /TimesBI-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIS {170 /TimesBI-ISOL1 FS} bind def /TBIL {130 /TimesBI-ISOL1 FS} bind def /SG {320 /Symbol FS} bind def /SM {270 /Symbol FS} bind def /SK {200 /Symbol FS} bind def /SS {170 /Symbol FS} bind def /SL {130 /Symbol FS} bind def /CBG {320 /CourierB-ISOL1 FS} bind def /CBM {270 /CourierB-ISOL1 FS} bind def /CBK {200 /CourierB-ISOL1 FS} bind def /CBS {170 /CourierB-ISOL1 FS} bind def /CBL {130 /CourierB-ISOL1 FS} bind def %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def /FXD 63 array def /FYD 63 array def /FZD 63 array def /FAD 63 array def /FBD 63 array def /FCD 63 array def %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def %allways 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /xchart8 1 def % /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %calculation of transformation data /FARBE 33 array def /FARBE [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 470_570) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 570_470) %05 (G) (o) ( 520_570) %06 (R) (o) ( 570_780) %07 (N) (0) ( 380_770) %08 (W) (0) ( 380_770) %09 (W) (1) ( 380_770) %10 ] def %/FARBE [(R) (m) ( 565_770) %00 % (Y) (m) ( 495_770) %01 % (G) (m) ( 475_575) %02 % (C) (m) ( 380_565) %03 % (B) (m) ( 380_495) %04 % (M) (m) ( 575_475) %05 % (N) (0) ( 380_770) %06 % (W) (0) ( 380_770) %07 % (W) (1) ( 380_770) %08 % ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 800 array def %10x80 /RX0 [ %(%Ro 00 570_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Ym 01 520_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Gm 02 470_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Cm 03 380_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Bm 04 380_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Mm 05 570_470) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Go 06 520_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%N0(r=0,001) 07 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %(%W1(r=1,000) 08 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%W1(r=1,000) 09 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 ] def %************************************************** /proc_ALLi_def {%BEG proc_ALLi_def ij=ix-2 0 1 ij {/i exch def %i=0,ij kx 1 eq {Xxi i X1i i get put Yxi i Y1i i get put Zxi i Z1i i get put Axi i A1i i get put Bxi i B1i i get put L*xi i L*1i i get put a*xi i a*1i i get put b*xi i b*1i i get put AANxi i AAN1i i get put BANxi i BAN1i i get put CANxi i CAN1i i get put idxi i id1i i get put wdxi i wd1i i get put hABxi i hAB1i i get put h*abxi i h*ab1i i get put } if kx 2 eq {Xxi i X2i i get put Yxi i Y2i i get put Zxi i Z2i i get put Axi i A2i i get put Bxi i B2i i get put L*xi i L*2i i get put a*xi i a*2i i get put b*xi i b*2i i get put AANxi i AAN2i i get put BANxi i BAN2i i get put CANxi i CAN2i i get put idxi i id2i i get put wdxi i wd2i i get put hABxi i hAB2i i get put h*abxi i h*ab2i i get put } if } for %i=1,ij } bind def %END proc_ALLi_def %*********************************************************** /proc_ALLi_ALLin {%BEG proc_ALLi_ALLin %new order from front, new data amount ix=ij+2 hABxin 0 hABxi imin get 360 xpn 0 eq {add}{sub} ifelse put %351-360=-9 h*abxin 0 h*abxi imin get 360 xpn 0 eq {add}{sub} ifelse put wdxin 0 wdxi imin get xpn 0 eq {400 sub 769 add}{769 sub 400 add} ifelse put %769=700+564-495 Xxin 0 Xxi imin get put Yxin 0 Yxi imin get put Zxin 0 Zxi imin get put Axin 0 Axi imin get put Bxin 0 Bxi imin get put L*xin 0 L*xi imin get put a*xin 0 a*xi imin get put b*xin 0 b*xi imin get put AANxin 0 AANxi imin get put BANxin 0 BANxi imin get put CANxin 0 CANxi imin get put idxin 0 idxi imin get put imin1 1 ij {/i exch def %32_57 old, imin=31(h=38) imin1=32 /in i imin1 sub 1 add def %i=32_57-32+1=01_26 new hABxin in hABxi i get put %in=1,26=26 values h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for 0 1 imin {/i exch def %0-31 old /in ij imin sub i add 1 add def %in=57-31+i+1=26+i+1=26+31+1 hABxin in hABxi i get put h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for hABxin ix hABxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put %2.4+360 h*abxin ix h*abxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put wdxin ix wdxi imin1 get xpn 0 eq {769 sub 400 add}{400 sub 769 add} ifelse put %769=700+564-495 Xxin ix Xxi imin1 get put Yxin ix Yxi imin1 get put Zxin ix Zxi imin1 get put Axin ix Axi imin1 get put Bxin ix Bxi imin1 get put L*xin ix L*xi imin1 get put a*xin ix a*xi imin1 get put b*xin ix b*xi imin1 get put AANxin ix AANxi imin1 get put BANxin ix BANxi imin1 get put CANxin ix CANxi imin1 get put idxin ix idxi imin1 get put } bind def %END proc_ALLi_ALLin %******************************************************** /proc_hAB_min {%BEG proc_hAB_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 hABxi i get hABxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 hABxi i get hABxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (hABxi=) show hABxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (hABxi1=) show hABxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_hAB_min %******************************************************** /proc_h*ab_min {%BEG proc_h*ab_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 h*abxi i get h*abxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 h*abxi i get h*abxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (h*abxi=) show h*abxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (h*abxi1=) show h*abxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_h*ab_min %******************************************************** /proc_iwd_min {%BEG proc_iwd_min 1 1 ij {/i exch def %i=1,ij idxi i get -1 eq {wdxi i wdxi i get 495 sub 700 add put} if } for %i=1,ij 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 idxi i get 0 gt idxi i 1 add get -1 eq and {/imin i def exit} if }%xpn=0 {%xpn=1 idxi i get -1 eq idxi i 1 add get 0 gt and {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (iwdxi=) show idxi imin get cvishow (, ) show wdxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (iwdxi1=) show idxi imin1 get cvishow (, ) show wdxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_iwd_min %******************************************************** /proc_hAB_tab {%BEG proc_hAB_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxin i get cvsshow1 } for %i=1,ix newpath 180 faktx mul 00 fakty mul 40 0 360 arc fill 180 faktx mul 20 fakty mul 40 0 360 arc fill 180 faktx mul 40 fakty mul 40 0 360 arc fill 0 faktx mul -20 fakty mul 40 0 360 arc fill 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_hAB_tab %******************************************************** /proc_h*ab_tab {%BEG proc_h*ab_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxin i get cvsshow1 } for %i=1,ix %newpath %180 faktx mul 00 fakty mul 40 0 360 arc fill %180 faktx mul 20 fakty mul 40 0 360 arc fill %180 faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_h*ab_tab %******************************************************** /proc_iwd_tab {%BEG proc_iwd_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxi i get cvishow (, ) show wdxi i get cvishow } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxin i get cvishow (, ) show wdxin i get cvishow } for %i=1,ix %newpath %700 400 sub faktx mul 00 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 20 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_iwd_tab %********************************************************** /proc_hABw_XYZ_cur2 {%BEG proc_hABw_XYZ_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %X 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Xxin i get} {100 Xxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %Z 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Zxin i get} {100 Zxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_XYZ_cur2 %******************************************************** /proc_hABw_ABCY_cur2 {%BEG proc_hABw_ABCY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %A 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %B 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Bxin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %CAB 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get dup mul Bxin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icurm=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_ABCY_cur2 %******************************************************** /proc_hABw_LabC*_cur2 {%BEG proc_hABw_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icurm=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_LabC*_cur2 %******************************************************** /proc_h*ab_LabC*_cur2 {%BEG proc_h*ab_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_h*ab_LabC*_cur2 %******************************************************** /proc_wd_abcY_cur2 {%BEG proc_wd_abcY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul BANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get dup mul BANxin i get dup mul add 0.0001 add sqrt faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icurm=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_wd_abcY_cur2 %************************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************** /tab_Ocolors2 64 array def %8*8 /tab_Ocolors2 %BEG tab_Ocolors2 [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 14 0.0 1.0 0.0 0100 -0050 (G) (O) 17 0.8 1.0 0.0 -0100 0100 (Y) (x) 23 1.0 1.0 0.0 -0100 0100 (Y) (O) 00 1.0 0.0 0.0 -0100 0100 (R) (O) 14 1.0 0.0 1.0 -0350 -0100 (M) (O) 17 0.2 0.0 1.0 -0100 -0250 (V) (n) 23 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors2 %********************************************************** /proc_tab_Ocolors2 {%BEG proc_tab_Ocolors2 %tab_Ocolors2 64 array def %8*8 defined before 0 1 7 {/iO exch def %iO=0,7 /i0 iO 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors2 i0 get def tab_Ocolors2 i1 get tab_Ocolors2 i2 get tab_Ocolors2 i3 get setrgbcolor /AnY0 xhh*w 0 eq {iO 3 le {hAB1i k get} {hAB2i k get} ifelse} if xhh*w 1 eq {iO 3 le {h*ab1i k get} {h*ab2i k get} ifelse} if xhh*w 2 eq {iO 3 le {wd1i k get iO 1 eq {/AnY01 wd1i k get def} if} {wd2i k get iO 5 eq {205 add} if} ifelse} if def /AnY AnY0 xhh*w 2 eq {400 sub} if faktx mul def /BnY0 yYLC 0 eq {iO 3 le {Y1i} {Y2i} ifelse k get} if yYLC 1 eq {iO 3 le {L*1i} {L*2i} ifelse k get} if %3 mul with AB and ab* yYLC 2 eq {iO 3 le {A1i k get dup mul B1i k get dup mul add} {A2i k get dup mul B2i k get dup mul add} ifelse 0.0001 add sqrt } if yYLC 3 eq {iO 3 le {a*1i k get dup mul b*1i k get dup mul add} {a*2i k get dup mul b*2i k get dup mul add} ifelse 0.0001 add sqrt } if def /BnY BnY0 yYLC 1 eq {3 mul} if fakty mul yshift add def AnY BnY 90 0 360 arc fill 0 0 0 setrgbcolor iO 3 gt {[100] 100 setdash} {[ ] 0 setdash} ifelse AnY BnY 90 0 360 arc stroke [ ] 0 setdash newpath AnY 80 add BnY 50 add moveto TBIL AnY0 cvishow (, ) show BnY0 cvishow xhh*w 2 eq iO 5 eq and {AnY 80 add BnY 150 sub moveto AnY01 cvishow (c) show } if newpath } for %iO=0,7 } bind def %END proc_tab_Ocolors2 /X1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1i 99 array def /Z1i 99 array def /hxy1i 99 array def /XAN1i 99 array def /YAN1i 99 array def /ZAN1i 99 array def /A1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1i 99 array def /CAB1i 99 array def /hAB1i 99 array def /AAN1i 99 array def /BAN1i 99 array def /CAN1i 99 array def /L*1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1i 99 array def /b*1i 99 array def /C*ab1i 99 array def /h*ab1i 99 array def /a'1i 99 array def /b'1i 99 array def /c'1i 99 array def /i11i 99 array def /i21i 99 array def /id1i 99 array def /ic1i 99 array def /w11i 99 array def /w21i 99 array def /w1c1i 99 array def /w2c1i 99 array def /wd1i 99 array def /wc1i 99 array def /wdc1i 99 array def /wcc1i 99 array def /X1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1in 99 array def /Z1in 99 array def /hxy1in 99 array def /XAN1in 99 array def /YAN1in 99 array def /ZAN1in 99 array def /A1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1in 99 array def /CAB1in 99 array def /hAB1in 99 array def /AAN1in 99 array def /BAN1in 99 array def /CAN1in 99 array def /L*1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1in 99 array def /b*1in 99 array def /C*ab1in 99 array def /h*ab1in 99 array def /a'1in 99 array def /b'1in 99 array def /c'1in 99 array def /i11in 99 array def /i21in 99 array def /id1in 99 array def /ic1in 99 array def /w11in 99 array def /w21in 99 array def /w1c1in 99 array def /w2c1in 99 array def /wd1in 99 array def /wc1in 99 array def /wdc1in 99 array def /wcc1in 99 array def /X2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2i 99 array def /Z2i 99 array def /hxy2i 99 array def /XAN2i 99 array def /YAN2i 99 array def /ZAN2i 99 array def /A2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2i 99 array def /CAB2i 99 array def /hAB2i 99 array def /AAN2i 99 array def /BAN2i 99 array def /CAN2i 99 array def /L*2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2i 99 array def /b*2i 99 array def /C*ab2i 99 array def /h*ab2i 99 array def /a'2i 99 array def /b'2i 99 array def /c'2i 99 array def /i12i 99 array def /i22i 99 array def /id2i 99 array def /ic2i 99 array def /w12i 99 array def /w22i 99 array def /w1c2i 99 array def /w2c2i 99 array def /wd2i 99 array def /wc2i 99 array def /wdc2i 99 array def /wcc2i 99 array def /X2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2in 99 array def /Z2in 99 array def /hxy2in 99 array def /XAN2in 99 array def /YAN2in 99 array def /ZAN2in 99 array def /A2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2in 99 array def /CAB2in 99 array def /hAB2in 99 array def /AAN2in 99 array def /BAN2in 99 array def /CAN2in 99 array def /L*2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2in 99 array def /b*2in 99 array def /C*ab2in 99 array def /h*ab2in 99 array def /a'2in 99 array def /b'2in 99 array def /c'2in 99 array def /i12in 99 array def /i22in 99 array def /id2in 99 array def /ic2in 99 array def /w12in 99 array def /w22in 99 array def /w1c2in 99 array def /w2c2in 99 array def /wd2in 99 array def /wc2in 99 array def /wdc2in 99 array def /wcc2in 99 array def %actual possible data (x=1,2,3,4) /Xxi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxi 99 array def /Zxi 99 array def /hxyxi 99 array def /XANxi 99 array def /YANxi 99 array def /ZANxi 99 array def /Axi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxi 99 array def /CABxi 99 array def /hABxi 99 array def /AANxi 99 array def /BANxi 99 array def /CANxi 99 array def /L*xi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xi 99 array def /b*xi 99 array def /C*abxi 99 array def /h*abxi 99 array def /a'xi 99 array def /b'xi 99 array def /c'xi 99 array def /i1xi 99 array def /i2xi 99 array def /idxi 99 array def /icxi 99 array def /w1xi 99 array def /w2xi 99 array def /w1cxi 99 array def /w2cxi 99 array def /wdxi 99 array def /wcxi 99 array def /wdcxi 99 array def /wccxi 99 array def /Xxin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxin 99 array def /Zxin 99 array def /hxyxin 99 array def /XANxin 99 array def /YANxin 99 array def /ZANxin 99 array def /Axin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxin 99 array def /CABxin 99 array def /hABxin 99 array def /AANxin 99 array def /BANxin 99 array def /CANxin 99 array def /L*xin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xin 99 array def /b*xin 99 array def /C*abxin 99 array def /h*abxin 99 array def /a'xin 99 array def /b'xin 99 array def /c'xin 99 array def /i1xin 99 array def /i2xin 99 array def /idxin 99 array def /icxin 99 array def /w1xin 99 array def /w2xin 99 array def /w1cxin 99 array def /w2cxin 99 array def /wdxin 99 array def /wcxin 99 array def /wdcxin 99 array def /wccxin 99 array def /FARBEda 79 array def /FARBEca 79 array def /FARBEd 79 array def /FARBEc 79 array def %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintP2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colseP2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %**************************************************** %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /xcolorl xcolor def %0 1 0 {/xcolorl exch def %xcolorl=0,0 %gsave xcolorl 1 eq {0 1 79 {/i exch def %i=0,79 F2 i F10 i get put } for %i=0,79 } if /NK 0 def %normalization NK=0 (Y=100), NK=1 (Y=88,6) /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /xdel 1005 def %/ydel 393 def %/ydel 275 def /ydel 175 def /x0 050 def /x1 -150 def /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin. /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 FARBEda 00 (Cm=380_561) put FARBEca 00 (Rm=561_770) put FARBEd 00 (C) put FARBEc 00 (R) put FARBEda 13 (Gm=470_570) put FARBEca 13 (Mm=570_470) put FARBEd 13 (G) put FARBEc 13 (M) put FARBEda 23 (Ym=520_770) put FARBEca 23 (Bm=380_520) put FARBEd 23 (Y) put FARBEc 23 (B) put FARBEda 18 (Ym=495_770) put FARBEca 18 (Bm=380_495) put FARBEd 18 (Y) put FARBEc 18 (B) put /iacol 23 def /xchart14 1 def %for a=x/y (0) and a=(x-0.171)/y (1) 0 setgray 5 /Times-ISOL1 FS 175 85 moveto (DG411-2A) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale gsave /xchartx xchart def 4 1 4 {/xchartx exch def %xchartx=0,7 gsave /xchartl 0 def %xchartl=0 to 7 for 8 pictures 1 1 01 {/xchartl exch def %xchartl=0,07 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto NK 0 eq {(DG410-) show} {(DG411-) show} ifelse xchartl 1 add cvishow (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 1 1 0 setrgbcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 colrecst %frame black %calculation of XW,YW,ZW for illuminant %D65, D50, P40, A00, E00, C00, P00, Q00 %P60, P55, P50, P45, P40, P35, P30, P25 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 %calculation of XW,YW,ZW for illuminant Pxx, Dxx 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 0 1 1 {/Icom exch def %Icom=0,1 only for part 1 Icom 0 eq {/xpos 100 def /xpos1 12100 def} {%/xpos 12100 def /xpos 100 def /xpos1 100 def} ifelse %/ymax 3700 def /ymax 3820 def TBS xpos 50 sub ymax ydel 0 mul sub moveto (CIE\255) show TELi xchartx get show (\255Daten von ) showde ( data of ) showea TBIS (\255Ostwald) showde ( Ostwald) showea TBS (\255Farben von maximalem Buntwert) showde ( colours of maximum chromatic value) showea TBIS ( C) show TBL 0 -60 rmoveto (AB) show 0 60 rmoveto xpos 50 sub ymax ydel 1 mul sub moveto TBIS (Y) show TBL 0 -60 rmoveto (w) show xcolorl 1 eq {(,10) show} if 0 60 rmoveto TBS NK 0 eq {(=100) show}{(=88,6) show} ifelse TBS (, ) show FARBEda iacol get show TBS (, ) show FARBEca iacol get show /icurm 1 def %0:dominant, 1:and complimentary colours %icurm=1: 1\255minus data (icurm=1) /iout0x 1 def %coordinate system /iout1x 1 def %iout1x=1:Ostwald colours 1 with procedures _cur2 %dominant (icurm=0) and complementary (icurm=1) /iout2x 0 def %iout2x=1:Ostwald colours 2 with procedures _cur2 /iout3x 0 def %sRGB colours, iout3x=1:sRGB data icurm 1 eq {%icurm=1 TBS (, and ) showea ( und ) showde (1\255minus data ( - -)) showea (1\255Minus\255Daten ( - -)) showde } if %icurm=1 iout2x 1 eq {%iout2x=1 TBS (, 2 calculation methods) showea (, 2 Berechnungsmethoden) showde } if %iout2x=1 iout3x 1 eq {%iout3x=1 TBS (, and ) showea ( und ) showde TBIS (sRGB) show TBS ( data ( - -)) showea (\255Daten ( - -)) showde } if %iout3x=1 %********************************************************* /WEL1 120 array def %irregular or regular definition /WEL2 120 array def %irregular or regular definition %0 1 2 3 4 5 6 7 8 9 /WEL1 [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def /WEL1 [405 410 415 420 425 430 435 440 445 450 455 460 465 470 475 480 485 490 495 500 505 510 515 520 525 530 535 540 545 550 555 560 565 570 575 580 585 590 595 600 605 610 615 620 625 630 635 640 645 650 655 660 665 670 675 680 685 690 695 700 ] def 0 1 57 {/k exch def %k=0,57 %wavelength 405..700nm /j WEL1 k get 400 sub 5 idiv def /FF1 FXD j get def %start at 405..700nm /FF2 FYD j get def /FF3 FZD j get def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0 i11i k INP put i21i k IPN put } { i12i k IPN put i22i k INP put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* Icom 0 eq {%Icom=0 INP 0 ge {%INP>=0 % xpos xdel 0 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow %includes rounding failure w11i k DOWXIE1 0.03 add cvi put w1c1i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow w21i k DOWXIE2 0.03 add cvi put w2c1i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show w21i k DOWXIE1 0.03 add cvi put w2c1i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 }%Icom=0 {%Icom=1 INP 0 ge {%INP>=0 % xpos xdel 1 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 0.03 add cvishow w22i k DOWXIE1 0.03 add cvi put w2c2i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE2 0.03 add cvishow w12i k DOWXIE2 0.03 add cvi put w1c2i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 cvishow (c) show w12i k DOWXIE1 0.03 add cvi put w1c2i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 } ifelse %Icom=0,1 0 0 0 setrgbcolor %********************************************************* 0 1 79 {/i exch def %i=0,79 RA i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RA i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RA i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RA i1 0.5 put RA i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /X 0 def /Y 0 def /Z 0 def 0 1 079 {/i exch def %i=0,79 /X X F2N 00 i add get RA i get mul add def /Y Y F2N 80 i add get RA i get mul add def /Z Z F2N 160 i add get RA i get mul add def } for %i=0,79 NK 1 eq {%NK=1 /faktn 0.8859 def /X X faktn mul def /Y Y faktn mul def /Z Z faktn mul def % /faktw 0.025 faktn div def %approximately 2,8% % /Xc XW X sub def %c=antichromatic % /Yc YW Y sub def % /Zc ZW Z sub def % /X X Xc faktw mul add faktn mul def % /Y Y Yc faktw mul add faktn mul def % /Z Z Zc faktw mul add faktn mul def } if %NK=1 /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def %************************************************* Icom 1 eq {%Icom=1 /X XW X sub def /Y YW Y sub def /Z ZW Z sub def /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def } if %Icom=1 /hxy YAN YANW sub XAN XANW sub 0.0001 add atan def Icom 0 eq {%Icom=0,1 X1i k X put Y1i k Y put Z1i k Z put %hxy1i k hxy put XAN1i k XAN put YAN1i k YAN put ZAN1i k ZAN put }%Icom=0 {%Icom=1 X2i k X put Y2i k Y put Z2i k Z put %hxy2i k hxy put XAN2i k XAN put YAN2i k YAN put ZAN2i k ZAN put } ifelse %Icom=0,1 xchart14 0 eq {%xchart14=0 /AAN X Y 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AAN XAN 0.171 sub YAN 0.0001 add div def } if %xchart14=1 /BAN Z Y 0.0001 add div 0.4 mul neg def /CAN AAN AANW sub dup mul BAN BANW sub dup mul add 0.0001 add sqrt def /A AAN AANW sub Y mul def /B BAN BANW sub Y mul def /CAB A dup mul B dup mul add 0.0001 add sqrt def /hAB B A 0.0001 add atan def Icom 0 eq {%Icom=0,1 Y1i k Y put A1i k A put B1i k B put CAB1i k CAB put hAB1i k hAB put AAN1i k AAN put BAN1i k BAN put CAN1i k CAN put }%Icom=0 {%Icom=1 Y2i k Y put A2i k A put B2i k B put CAB2i k CAB put hAB2i k hAB put AAN2i k AAN put BAN2i k BAN put CAN2i k CAN put } ifelse %Icom=0,1 /D13 1 3 div def /D841_108 841 108 div def /D16_116 16 116 div def /D24_116 24 116 div 3 exp def X XW div D24_116 gt {/FXXN X XW div 0.0001 add D13 exp def} {/FXXN D841_108 X XW div mul D16_116 add def} ifelse Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def} {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse Z ZW div D24_116 gt {/FZZN Z ZW div 0.0001 add D13 exp def} {/FZZN D841_108 Z YW div mul D16_116 add def} ifelse /L* 116. FYYN mul 16. sub def /a* 500. FXXN FYYN sub mul def /b* 200. FYYN FZZN sub mul def /C*ab a* dup mul b* dup mul add 0.5 exp def /h*ab b* a* 0.000001 add atan def /a' X Y 0.0001 add div D13 exp 0.2191 mul def /b' Z Y 0.0001 add div D13 exp -0.08376 mul def /c' a' dup mul b' dup mul add 0.0001 add sqrt def Icom 0 eq {%Icom=0,1 L*1i k L* put a*1i k a* put b*1i k b* put C*ab1i k C*ab put h*ab1i k h*ab put a'1i k a' put b'1i k b' put c'1i k c' put }%Icom=0 {%Icom=1 L*2i k L* put a*2i k a* put b*2i k b* put C*ab2i k C*ab put h*ab2i k h*ab put a'2i k a' put b'2i k b' put c'2i k c' put } ifelse %Icom=0,1 %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 X def /FF2 Y def /FF3 Z def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0,1 id1i k INP put ic1i k IPN put }%Icom=0 {%Icom=1 id2i k INP put ic2i k IPN put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def } if %kNP>=0 %********************************************************* INP 0 ge {%INP>=0,-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow Icom 0 eq {%Icom=0,1 wd1i k DOWXIE1 0.03 add cvi put wdc1i k () put }%Icom=0 {%Icom=1 wd2i k DOWXIE1 0.03 add cvi put wdc2i k () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wd1i k DOWXIE2 0.03 add cvi put wdc1i k (c) put }%Icom=0 {%Icom=1 wd2i k DOWXIE2 0.03 add cvi put wdc2i k (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 IPN 0 ge {%IPN>=0,-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow Icom 0 eq {%Icom=0,1 wc1i k DOWXIE2 0.03 add cvi put wcc1i k () put }%Icom=0 {%Icom=1 wc2i k DOWXIE2 0.03 add cvi put wcc2i k () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wc1i k DOWXIE1 0.03 add cvi put wcc1i k (c) put }%Icom=0 {%Icom=1 wc2i k DOWXIE1 0.03 add cvi put wcc2i k (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 0 0 0 setrgbcolor } for %k=0,57 } for %Icom=0,1 only for part 1 %************************************************************* /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvishowb {cvi 6 string cvs show ( ) show} def /cvsshow1b {10 mul cvi 0.1 mul 7 string cvs show ( ) show} def /cvsshow2b {100 mul cvi 0.01 mul 7 string cvs show ( ) show} def /cvsshow3b {1000 mul cvi 0.001 mul 7 string cvs show ( ) show} def /cvishowr {0.5 add cvi 6 string cvs show} def /cvsshow1r {0.05 add 10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2r {0.005 add 100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3r {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show} def /cvi100 {100 mul cvi /xi exch def xi 0 lt {/vorz -1 def} {/vorz 1 def} ifelse /xia xi abs def vorz -1 eq {(\255) show} {(0) show} ifelse xia 0 ge xia 9 le {(0000) show} if xia 10 ge xia 99 le and {(000) show} if xia 100 ge xia 999 le and {(00) show} if xia 1000 ge xia 9999 le and {(0) show} if xia cvishow } bind def /cvi1000 {1000 mul cvi /xi exch def xi 0 ge xi 9 le {(000) show} if xi 10 ge xi 99 le and {(00) show} if xi 100 ge xi 999 le and {(0) show} if xi cvishow } bind def /ymax 16600 def /idy 206 def /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 /ix0 100 def /ix1 ix0 1400 add def /ixd 600 def /iymax 16550 def /idy 206 def /xtext 0 def xtext 1 eq {%itext=1 TBIK ix0 iymax idy add 50 add moveto (rgb) show TBS 0 -90 rmoveto (i) show 0 90 rmoveto TBK ix1 ixd 0 mul add 150 add iymax idy add 50 add moveto TBK (i) show ix1 ixd 1 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 1 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z, x, y) show TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 6 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 6 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBIK (, a', b', c') show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 14 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 14 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBIK (, a, b, c) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 22 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 22 mul add iymax idy add 50 add moveto TBK ([) show TBIK (i) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TBIK (i) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 26 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 26 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z) show TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 29 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 29 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 34 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 34 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK } if %itext=1 %STOP %************************************************************* /imshow {0 -50 rmoveto TBL (m) show 0 50 rmoveto TBIS} def /ioshow {0 -50 rmoveto TBL (o) show 0 50 rmoveto TBIS} def /idshow {0 -50 rmoveto TBL (d) show 0 50 rmoveto TBIS} def /ieshow {0 -50 rmoveto TBL (e) show 0 50 rmoveto TBIS} def %************************************************************* %xchartl=0-0 %STOP0-0 %BEG X,Y,Z = f(hAB) xchartl 0 eq {%xchartl=0 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [( 0) ( 20) ( 40) ( 60) ( 80) (100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1800 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwerte) showde (CIE tristimulus values) showea TBIS 1 0 0 setrgbcolor ( X) show 0 setgray (,) show 0 1 0 setrgbcolor ( Y) show 0 setgray (,) show 0 0 1 setrgbcolor ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP0-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout1x=1 } if %xchartl=0 %END X,Y,Z = f(hAB) %STOP0-4 %************************************************************* %xchartl=1-0 %STOP1-0 %BEG A,B,CAB = f(hAB) xchartl 1 eq {%xchartl=1 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show TBS ( und) showde (, and) showea TBS ( Buntwerte) showde ( chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (, ) show TBIS (C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP1-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=1 %END A,B,CAB = f(hAB) %STOP1-4 %************************************************************* %xchartl=2-0 %STOP2-0 %BEG L*,a*,b*,C*ab = f(hAB) xchartl 2 eq {%xchartl=2 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP2-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=2 %END L*,a*,b*,C*ab = f(hAB) %STOP2-4 %************************************************************* %xchartl=3-0 %STOP3-0 %BEG L*,a*,b*,C*ab = f(h*ab) xchartl 3 eq {%xchartl=3 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 200 sub iytt moveto TBIS (h*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP3-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_h*ab_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 1 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=3 %END L*,a*,b*,C*ab = f(h*ab) %STOP3-4 %************************************************************* %xchartl=4-0 %STOP4-0 %BEG X,Y,Z = f(wd) xchartl 4 eq {%xchartl=4 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyY i get show -75 iyl moveto 150 0 rlineto stroke } for %no axis right /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (Normfarbwerte) showde (CIE tristimulus values) showea 1 0 0 setrgbcolor TBIS ( X) show TBS 0 setgray (,) show 0 1 0 setrgbcolor TBIS ( Y) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %***************************************************** %STOP4-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=4 %END X,Y,Z = f(wd) %STOP4-4 %************************************************************* %xchartl=5-0 %STOP5-0 %BEG A,B,CAB = f(wd) xchartl 5 eq {%xchartl=5 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyA [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyA i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -320 3000 120 add moveto (A) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (B) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-60 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 300 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Buntwerte) showde (, and chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %************************************************* %STOP5-1 380 280 1200 add translate %shift of cero point by 1200 iout1x 1 eq {%iout1x=1 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=5 %END A,B,CAB = f(wd) %STOP5-4 %************************************************************* %xchartl=6-0 %STOP6-0 %BEG L*,a*,b*,C*ab = f(wd) xchartl 6 eq {%xchartl=6 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tya* [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tya* i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a*) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b*) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 250 sub 3000 250 add moveto (L*) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (CIELAB\255Helligkeiten) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b*) show TBS 0 setgray (,) show TBIS ( C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %****************************************************** %STOP6-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=6 %END L*,a*,b*,C*ab = f(wd) %STOP6-4 %************************************************************* %xchartl=7-0 %STOP7-0 %BEG Y/100, a, b, cab = f(wd) xchartl 7 eq {%xchartl=7 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a) show 20 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 250 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill 0 setgray /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwert) showde (tristimulus value) showea 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Farbarten) showde (, and chromaticities) showea 1 0 0 setrgbcolor TBIS ( a) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( c) show 0 -30 rmoveto TBL xchart14 0 eq {(ab0)}{(ab1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%K=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %K=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************** %STOP7-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_wd_abcY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=7 %END a,b,c,Y = f(fw) %STOP7-4 %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF /xc1 16 def /yc1 12 def /xt 1 def xchart 1 eq {/xt 1 def} if 28 MM xt 0 eq {16 MM sub} if 20 MM xt 0 eq {12 MM sub} if 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 DG410-7N %%BoundingBox: 70 83 226 206 %START PDFDE011.EPS /pdfmark07 where {pop} {userdict /pdfmark07 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark07 [ /View [ /Fit ] /DOCVIEW pdfmark07 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {320 /Times-ISOL1 FS} bind def /TM {270 /Times-ISOL1 FS} bind def /TK {200 /Times-ISOL1 FS} bind def /TS {170 /Times-ISOL1 FS} bind def /TL {130 /Times-ISOL1 FS} bind def /TLL {100 /Times-ISOL1 FS} bind def /TIG {320 /TimesI-ISOL1 FS} bind def /TIM {270 /TimesI-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIS {170 /TimesI-ISOL1 FS} bind def /TIL {130 /TimesI-ISOL1 FS} bind def /TBG {320 /TimesB-ISOL1 FS} bind def /TBM {270 /TimesB-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBS {170 /TimesB-ISOL1 FS} bind def /TBL {130 /TimesB-ISOL1 FS} bind def /TBIG {320 /TimesBI-ISOL1 FS} bind def /TBIM {270 /TimesBI-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIS {170 /TimesBI-ISOL1 FS} bind def /TBIL {130 /TimesBI-ISOL1 FS} bind def /SG {320 /Symbol FS} bind def /SM {270 /Symbol FS} bind def /SK {200 /Symbol FS} bind def /SS {170 /Symbol FS} bind def /SL {130 /Symbol FS} bind def /CBG {320 /CourierB-ISOL1 FS} bind def /CBM {270 /CourierB-ISOL1 FS} bind def /CBK {200 /CourierB-ISOL1 FS} bind def /CBS {170 /CourierB-ISOL1 FS} bind def /CBL {130 /CourierB-ISOL1 FS} bind def %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintP2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 1 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colseP2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /xchart8 1 def % %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def %allways 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %calculation of transformation data /FARBE 33 array def /FARBE [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 470_570) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 570_470) %05 (G) (o) ( 520_570) %06 (R) (o) ( 570_780) %07 (N) (0) ( 380_770) %08 (W) (0) ( 380_770) %09 (W) (1) ( 380_770) %10 ] def %/FARBE [(R) (m) ( 565_770) %00 % (Y) (m) ( 495_770) %01 % (G) (m) ( 475_575) %02 % (C) (m) ( 380_565) %03 % (B) (m) ( 380_495) %04 % (M) (m) ( 575_475) %05 % (N) (0) ( 380_770) %06 % (W) (0) ( 380_770) %07 % (W) (1) ( 380_770) %08 % ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 800 array def %10x80 /RX0 [ %(%Ro 00 570_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Ym 01 520_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Gm 02 470_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Cm 03 380_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Bm 04 380_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Mm 05 570_470) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Go 06 520_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%N0(r=0,001) 07 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %(%W1(r=1,000) 08 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%W1(r=1,000) 09 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 ] def %************************************************** /proc_ALLi_def {%BEG proc_ALLi_def ij=ix-2 0 1 ij {/i exch def %i=0,ij kx 1 eq {Xxi i X1i i get put Yxi i Y1i i get put Zxi i Z1i i get put Axi i A1i i get put Bxi i B1i i get put L*xi i L*1i i get put a*xi i a*1i i get put b*xi i b*1i i get put AANxi i AAN1i i get put BANxi i BAN1i i get put CANxi i CAN1i i get put idxi i id1i i get put wdxi i wd1i i get put hABxi i hAB1i i get put h*abxi i h*ab1i i get put } if kx 2 eq {Xxi i X2i i get put Yxi i Y2i i get put Zxi i Z2i i get put Axi i A2i i get put Bxi i B2i i get put L*xi i L*2i i get put a*xi i a*2i i get put b*xi i b*2i i get put AANxi i AAN2i i get put BANxi i BAN2i i get put CANxi i CAN2i i get put idxi i id2i i get put wdxi i wd2i i get put hABxi i hAB2i i get put h*abxi i h*ab2i i get put } if kx 3 eq {Xxi i X3i i get put Yxi i Y3i i get put Zxi i Z3i i get put Axi i A3i i get put Bxi i B3i i get put L*xi i L*3i i get put a*xi i a*3i i get put b*xi i b*3i i get put AANxi i AAN3i i get put BANxi i BAN3i i get put CANxi i CAN3i i get put idxi i id3i i get put wdxi i wd3i i get put hABxi i hAB3i i get put h*abxi i h*ab3i i get put } if kx 4 eq {Xxi i X4i i get put Yxi i Y4i i get put Zxi i Z4i i get put Axi i A4i i get put Bxi i B4i i get put L*xi i L*4i i get put a*xi i a*4i i get put b*xi i b*4i i get put AANxi i AAN4i i get put BANxi i BAN4i i get put CANxi i CAN4i i get put idxi i id4i i get put wdxi i wd4i i get put hABxi i hAB4i i get put h*abxi i h*ab4i i get put } if } for %i=1,ij } bind def %END proc_ALLi_def %*********************************************************** /proc_ALLi_ALLin {%BEG proc_ALLi_ALLin %new order from front, new data amount ix=ij+2 hABxin 0 hABxi imin get 360 xpn 0 eq {add}{sub} ifelse put %351-360=-9 h*abxin 0 h*abxi imin get 360 xpn 0 eq {add}{sub} ifelse put wdxin 0 wdxi imin get xpn 0 eq {400 sub 769 add}{769 sub 400 add} ifelse put %769=700+564-495 Xxin 0 Xxi imin get put Yxin 0 Yxi imin get put Zxin 0 Zxi imin get put Axin 0 Axi imin get put Bxin 0 Bxi imin get put L*xin 0 L*xi imin get put a*xin 0 a*xi imin get put b*xin 0 b*xi imin get put AANxin 0 AANxi imin get put BANxin 0 BANxi imin get put CANxin 0 CANxi imin get put idxin 0 idxi imin get put imin1 1 ij {/i exch def %32_57 old, imin=31(h=38) imin1=32 /in i imin1 sub 1 add def %i=32_57-32+1=01_26 new hABxin in hABxi i get put %in=1,26=26 values h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for 0 1 imin {/i exch def %0-31 old /in ij imin sub i add 1 add def %in=57-31+i+1=26+i+1=26+31+1 hABxin in hABxi i get put h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for hABxin ix hABxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put %2.4+360 h*abxin ix h*abxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put wdxin ix wdxi imin1 get xpn 0 eq {769 sub 400 add}{400 sub 769 add} ifelse put %769=700+564-495 Xxin ix Xxi imin1 get put Yxin ix Yxi imin1 get put Zxin ix Zxi imin1 get put Axin ix Axi imin1 get put Bxin ix Bxi imin1 get put L*xin ix L*xi imin1 get put a*xin ix a*xi imin1 get put b*xin ix b*xi imin1 get put AANxin ix AANxi imin1 get put BANxin ix BANxi imin1 get put CANxin ix CANxi imin1 get put idxin ix idxi imin1 get put } bind def %END proc_ALLi_ALLin %******************************************************** /proc_hAB_min {%BEG proc_hAB_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 hABxi i get hABxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 hABxi i get hABxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (hABxi=) show hABxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (hABxi1=) show hABxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_hAB_min %******************************************************** /proc_h*ab_min {%BEG proc_h*ab_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 h*abxi i get h*abxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 h*abxi i get h*abxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (h*abxi=) show h*abxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (h*abxi1=) show h*abxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_h*ab_min %******************************************************** /proc_iwd_min {%BEG proc_iwd_min 1 1 ij {/i exch def %i=1,ij idxi i get -1 eq {wdxi i wdxi i get 495 sub 700 add put} if } for %i=1,ij 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 idxi i get 0 gt idxi i 1 add get -1 eq and {/imin i def exit} if }%xpn=0 {%xpn=1 idxi i get -1 eq idxi i 1 add get 0 gt and {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (iwdxi=) show idxi imin get cvishow (, ) show wdxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (iwdxi1=) show idxi imin1 get cvishow (, ) show wdxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_iwd_min %******************************************************** /proc_hAB_tab {%BEG proc_hAB_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxin i get cvsshow1 } for %i=1,ix newpath 180 faktx mul 00 fakty mul 40 0 360 arc fill 180 faktx mul 20 fakty mul 40 0 360 arc fill 180 faktx mul 40 fakty mul 40 0 360 arc fill 0 faktx mul -20 fakty mul 40 0 360 arc fill 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_hAB_tab %******************************************************** /proc_h*ab_tab {%BEG proc_h*ab_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxin i get cvsshow1 } for %i=1,ix %newpath %180 faktx mul 00 fakty mul 40 0 360 arc fill %180 faktx mul 20 fakty mul 40 0 360 arc fill %180 faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_h*ab_tab %******************************************************** /proc_iwd_tab {%BEG proc_iwd_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxi i get cvishow (, ) show wdxi i get cvishow } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxin i get cvishow (, ) show wdxin i get cvishow } for %i=1,ix %newpath %700 400 sub faktx mul 00 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 20 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_iwd_tab %********************************************************** /proc_hABw_XYZ_cur2 {%BEG proc_hABw_XYZ_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %X 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Xxin i get} {100 Xxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %Z 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Zxin i get} {100 Zxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_XYZ_cur2 %******************************************************** /proc_hABw_ABCY_cur2 {%BEG proc_hABw_ABCY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %A 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %B 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Bxin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %CAB 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get dup mul Bxin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_ABCY_cur2 %******************************************************** /proc_hABw_LabC*_cur2 {%BEG proc_hABw_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_LabC*_cur2 %******************************************************** /proc_h*ab_LabC*_cur2 {%BEG proc_h*ab_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_h*ab_LabC*_cur2 %******************************************************** /proc_wd_abcY_cur2 {%BEG proc_wd_abcY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul BANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icur 0 eq {%icur=0 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get dup mul BANxin i get dup mul add 0.0001 add sqrt faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=0 [ ] 0 setdash } if %ctext=1 } bind def %END proc_wd_abcY_cur2 %************************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************** /tab_Ocolors2 64 array def %8*8 /tab_Ocolors2 %BEG tab_Ocolors2 [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 14 0.0 1.0 0.0 0100 -0050 (G) (O) 17 0.8 1.0 0.0 -0100 0100 (Y) (x) 23 1.0 1.0 0.0 -0100 0100 (Y) (O) 00 1.0 0.0 0.0 -0100 0100 (R) (O) 14 1.0 0.0 1.0 -0350 -0100 (M) (O) 17 0.2 0.0 1.0 -0100 -0250 (V) (n) 23 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors2 %********************************************************** /proc_tab_Ocolors2 {%BEG proc_tab_Ocolors2 %tab_Ocolors2 64 array def %8*8 defined before 0 1 7 {/iO exch def %iO=0,7 /i0 iO 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors2 i0 get def tab_Ocolors2 i1 get tab_Ocolors2 i2 get tab_Ocolors2 i3 get setrgbcolor /AnY0 xhh*w 0 eq {iO 3 le {hAB1i k get} {hAB2i k get} ifelse} if xhh*w 1 eq {iO 3 le {h*ab1i k get} {h*ab2i k get} ifelse} if xhh*w 2 eq {iO 3 le {wd1i k get iO 1 eq {/AnY01 wd1i k get def} if} {wd2i k get iO 5 eq {205 add} if} ifelse} if def /AnY AnY0 xhh*w 2 eq {400 sub} if faktx mul def /BnY0 yYLC 0 eq {iO 3 le {Y1i} {Y2i} ifelse k get} if yYLC 1 eq {iO 3 le {L*1i} {L*2i} ifelse k get} if %3 mul with AB and ab* yYLC 2 eq {iO 3 le {A1i k get dup mul B1i k get dup mul add} {A2i k get dup mul B2i k get dup mul add} ifelse 0.0001 add sqrt } if yYLC 3 eq {iO 3 le {a*1i k get dup mul b*1i k get dup mul add} {a*2i k get dup mul b*2i k get dup mul add} ifelse 0.0001 add sqrt } if def /BnY BnY0 yYLC 1 eq {3 mul} if fakty mul yshift add def AnY BnY 90 0 360 arc fill 0 0 0 setrgbcolor iO 3 gt {[100] 100 setdash} {[ ] 0 setdash} ifelse AnY BnY 90 0 360 arc stroke [ ] 0 setdash newpath AnY 80 add BnY 50 add moveto TBIL AnY0 cvishow (, ) show BnY0 cvishow xhh*w 2 eq iO 5 eq and {AnY 80 add BnY 150 sub moveto AnY01 cvishow (c) show } if newpath } for %iO=0,7 } bind def %END proc_tab_Ocolors2 %**************************************************** /xcolorl xcolor def %0 1 0 {/xcolorl exch def %xcolorl=0,0 %gsave xcolorl 1 eq {0 1 79 {/i exch def %i=0,79 F2 i F10 i get put } for %i=0,79 } if /KN 0 def %for KN=normalization 1 %/KN 1 def %for KN=normalization 0,886 /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /FAD 63 array def /FBD 63 array def /FCD 63 array def /xdel 1005 def %/ydel 393 def %/ydel 275 def /ydel 175 def /x0 050 def /x1 -150 def /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin. /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /X1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1i 99 array def /Z1i 99 array def /hxy1i 99 array def /XAN1i 99 array def /YAN1i 99 array def /ZAN1i 99 array def /A1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1i 99 array def /CAB1i 99 array def /hAB1i 99 array def /AAN1i 99 array def /BAN1i 99 array def /CAN1i 99 array def /L*1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1i 99 array def /b*1i 99 array def /C*ab1i 99 array def /h*ab1i 99 array def /a'1i 99 array def /b'1i 99 array def /c'1i 99 array def /i11i 99 array def /i21i 99 array def /id1i 99 array def /ic1i 99 array def /w11i 99 array def /w21i 99 array def /w1c1i 99 array def /w2c1i 99 array def /wd1i 99 array def /wc1i 99 array def /wdc1i 99 array def /wcc1i 99 array def /X1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1in 99 array def /Z1in 99 array def /hxy1in 99 array def /XAN1in 99 array def /YAN1in 99 array def /ZAN1in 99 array def /A1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1in 99 array def /CAB1in 99 array def /hAB1in 99 array def /AAN1in 99 array def /BAN1in 99 array def /CAN1in 99 array def /L*1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1in 99 array def /b*1in 99 array def /C*ab1in 99 array def /h*ab1in 99 array def /a'1in 99 array def /b'1in 99 array def /c'1in 99 array def /i11in 99 array def /i21in 99 array def /id1in 99 array def /ic1in 99 array def /w11in 99 array def /w21in 99 array def /w1c1in 99 array def /w2c1in 99 array def /wd1in 99 array def /wc1in 99 array def /wdc1in 99 array def /wcc1in 99 array def /X2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2i 99 array def /Z2i 99 array def /hxy2i 99 array def /XAN2i 99 array def /YAN2i 99 array def /ZAN2i 99 array def /A2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2i 99 array def /CAB2i 99 array def /hAB2i 99 array def /AAN2i 99 array def /BAN2i 99 array def /CAN2i 99 array def /L*2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2i 99 array def /b*2i 99 array def /C*ab2i 99 array def /h*ab2i 99 array def /a'2i 99 array def /b'2i 99 array def /c'2i 99 array def /i12i 99 array def /i22i 99 array def /id2i 99 array def /ic2i 99 array def /w12i 99 array def /w22i 99 array def /w1c2i 99 array def /w2c2i 99 array def /wd2i 99 array def /wc2i 99 array def /wdc2i 99 array def /wcc2i 99 array def /X2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2in 99 array def /Z2in 99 array def /hxy2in 99 array def /XAN2in 99 array def /YAN2in 99 array def /ZAN2in 99 array def /A2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2in 99 array def /CAB2in 99 array def /hAB2in 99 array def /AAN2in 99 array def /BAN2in 99 array def /CAN2in 99 array def /L*2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2in 99 array def /b*2in 99 array def /C*ab2in 99 array def /h*ab2in 99 array def /a'2in 99 array def /b'2in 99 array def /c'2in 99 array def /i12in 99 array def /i22in 99 array def /id2in 99 array def /ic2in 99 array def /w12in 99 array def /w22in 99 array def /w1c2in 99 array def /w2c2in 99 array def /wd2in 99 array def /wc2in 99 array def /wdc2in 99 array def /wcc2in 99 array def /X3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y3i 99 array def /Z3i 99 array def /hxy3i 99 array def /XAN3i 99 array def /YAN3i 99 array def /ZAN3i 99 array def /A3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B3i 99 array def /CAB3i 99 array def /hAB3i 99 array def /AAN3i 99 array def /BAN3i 99 array def /CAN3i 99 array def /L*3i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*3i 99 array def /b*3i 99 array def /C*ab3i 99 array def /h*ab3i 99 array def /a'3i 99 array def /b'3i 99 array def /c'3i 99 array def /i13i 99 array def /i23i 99 array def /id3i 99 array def /ic3i 99 array def /w13i 99 array def /w23i 99 array def /w1c3i 99 array def /w2c3i 99 array def /wd3i 99 array def /wc3i 99 array def /wdc3i 99 array def /wcc3i 99 array def /X3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y3in 99 array def /Z3in 99 array def /hxy3in 99 array def /XAN3in 99 array def /YAN3in 99 array def /ZAN3in 99 array def /A3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B3in 99 array def /CAB3in 99 array def /hAB3in 99 array def /AAN3in 99 array def /BAN3in 99 array def /CAN3in 99 array def /L*3in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*3in 99 array def /b*3in 99 array def /C*ab3in 99 array def /h*ab3in 99 array def /a'3in 99 array def /b'3in 99 array def /c'3in 99 array def /i13in 99 array def /i23in 99 array def /id3in 99 array def /ic3in 99 array def /w13in 99 array def /w23in 99 array def /w1c3in 99 array def /w2c3in 99 array def /wd3in 99 array def /wc3in 99 array def /wdc3in 99 array def /wcc3in 99 array def /X4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y4i 99 array def /Z4i 99 array def /hxy4i 99 array def /XAN4i 99 array def /YAN4i 99 array def /ZAN4i 99 array def /A4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B4i 99 array def /CAB4i 99 array def /hAB4i 99 array def /AAN4i 99 array def /BAN4i 99 array def /CAN4i 99 array def /L*4i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*4i 99 array def /b*4i 99 array def /C*ab4i 99 array def /h*ab4i 99 array def /a'4i 99 array def /b'4i 99 array def /c'4i 99 array def /i14i 99 array def /i24i 99 array def /id4i 99 array def /ic4i 99 array def /w14i 99 array def /w24i 99 array def /w1c4i 99 array def /w2c4i 99 array def /wd4i 99 array def /wc4i 99 array def /wdc4i 99 array def /wcc4i 99 array def /X4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y4in 99 array def /Z4in 99 array def /hxy4in 99 array def /XAN4in 99 array def /YAN4in 99 array def /ZAN4in 99 array def /A4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B4in 99 array def /CAB4in 99 array def /hAB4in 99 array def /AAN4in 99 array def /BAN4in 99 array def /CAN4in 99 array def /L*4in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*4in 99 array def /b*4in 99 array def /C*ab4in 99 array def /h*ab4in 99 array def /a'4in 99 array def /b'4in 99 array def /c'4in 99 array def /i14in 99 array def /i24in 99 array def /id4in 99 array def /ic4in 99 array def /w14in 99 array def /w24in 99 array def /w1c4in 99 array def /w2c4in 99 array def /wd4in 99 array def /wc4in 99 array def /wdc4in 99 array def /wcc4in 99 array def %actual possible data (x=1,2,3,4) /Xxi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxi 99 array def /Zxi 99 array def /hxyxi 99 array def /XANxi 99 array def /YANxi 99 array def /ZANxi 99 array def /Axi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxi 99 array def /CABxi 99 array def /hABxi 99 array def /AANxi 99 array def /BANxi 99 array def /CANxi 99 array def /L*xi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xi 99 array def /b*xi 99 array def /C*abxi 99 array def /h*abxi 99 array def /a'xi 99 array def /b'xi 99 array def /c'xi 99 array def /i1xi 99 array def /i2xi 99 array def /idxi 99 array def /icxi 99 array def /w1xi 99 array def /w2xi 99 array def /w1cxi 99 array def /w2cxi 99 array def /wdxi 99 array def /wcxi 99 array def /wdcxi 99 array def /wccxi 99 array def /Xxin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxin 99 array def /Zxin 99 array def /hxyxin 99 array def /XANxin 99 array def /YANxin 99 array def /ZANxin 99 array def /Axin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxin 99 array def /CABxin 99 array def /hABxin 99 array def /AANxin 99 array def /BANxin 99 array def /CANxin 99 array def /L*xin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xin 99 array def /b*xin 99 array def /C*abxin 99 array def /h*abxin 99 array def /a'xin 99 array def /b'xin 99 array def /c'xin 99 array def /i1xin 99 array def /i2xin 99 array def /idxin 99 array def /icxin 99 array def /w1xin 99 array def /w2xin 99 array def /w1cxin 99 array def /w2cxin 99 array def /wdxin 99 array def /wcxin 99 array def /wdcxin 99 array def /wccxin 99 array def 0 1 98 {/i exch def wd3i i 0 put id3i i 0 put } for /FARBEda 79 array def /FARBEca 79 array def /FARBEd 79 array def /FARBEc 79 array def FARBEda 00 (Cm=380_561) put FARBEca 00 (Rm=561_770) put FARBEd 00 (C) put FARBEc 00 (R) put FARBEda 13 (Gm=470_570) put FARBEca 13 (Mm=570_470) put FARBEd 13 (G) put FARBEc 13 (M) put FARBEda 23 (Ym=520_770) put FARBEca 23 (Bm=380_520) put FARBEd 23 (Y) put FARBEc 23 (B) put FARBEda 18 (Ym=495_770) put FARBEca 18 (Bm=380_495) put FARBEd 18 (Y) put FARBEc 18 (B) put /xchart4 1 def %xchart4=0 to 7 for 8 pictures %0 1 7 {/xchart4 exch def %xchart4=0,7 %gsave /xchart14 1 def %for a=x/y (0) and a=(x-0.171)/y (1) /xchartl xchart def 6 1 6 {/xchartl exch def %xchartl=0,7 gsave /iacol 23 def 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def 75 85 moveto lanind cvishow (-) show colorm cvishow deintp cvishow xcolorl cvishow xchart cvishow pchart cvishow colsep cvishow (-L) show pmetam cvishow 5 /Times-ISOL1 FS 185 85 moveto (DG410-7N) show %xchart 0 ge {(A) show} if %(_) show xchart4 1 add cvishow %(_) show xchartl 1 add cvishow 72 90 translate 0.010 MM dup scale 20 setlinewidth 0 0 1 0 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath fill 0 0 0 1 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath stroke %calculation of XW,YW,ZW for illuminant %D65, D50, P40, A00, E00, C00, P00, Q00 %P60, P55, P50, P45, P40, P35, P30, P25 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartl 0 eq {SX00 i SP60 i get put} if xchartl 1 eq {SX01 i SP55 i get put} if xchartl 2 eq {SX02 i SP50 i get put} if xchartl 3 eq {SX03 i SP45 i get put} if xchartl 4 eq {SX04 i SP40 i get put} if xchartl 5 eq {SX05 i SP35 i get put} if xchartl 6 eq {SX06 i SP30 i get put} if xchartl 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartl 0 eq {SX00 i SD65 i get put} if xchartl 1 eq {SX01 i SD50 i get put} if xchartl 2 eq {SX02 i SP40 i get put} if xchartl 3 eq {SX03 i SA00 i get put} if xchartl 4 eq {SX04 i SE00 i get put} if xchartl 5 eq {SX05 i SC00 i get put} if xchartl 6 eq {SX06 i SP00 i get put} if xchartl 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 %calculation of XW,YW,ZW for illuminant Pxx, Dxx 0 1 79 {/i exch def %i=0,79 SDAK i xchartl 0 eq {SX00 i get} if xchartl 1 eq {SX01 i get} if xchartl 2 eq {SX02 i get} if xchartl 3 eq {SX03 i get} if xchartl 4 eq {SX04 i get} if xchartl 5 eq {SX05 i get} if xchartl 6 eq {SX06 i get} if xchartl 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 0 1 1 {/Icom exch def %Icom=0,1 only for part 1 Icom 0 eq {/xpos 100 def /xpos1 12100 def} {%/xpos 12100 def /xpos 100 def /xpos1 100 def} ifelse %/ymax 3700 def /ymax 3820 def TBS xpos 50 sub ymax ydel 0 mul sub moveto (CIE\255) show TELi xchartl get show (\255Daten von ) showde ( data of ) showea TBIS (\255Ostwald) showde ( Ostwald) showea TBS (\255Farben von maximalem Buntwert) showde ( colours of maximum chromatic value) showea TBIS ( C) show TBL 0 -60 rmoveto (AB) show 0 60 rmoveto xpos 50 sub ymax ydel 1 mul sub moveto TBIS (Y) show TBL 0 -60 rmoveto (w) show xcolorl 1 eq {(,10) show} if 0 60 rmoveto TBS KN 0 eq {(=100) show}{(=88,6) show} ifelse TBS (, ) show FARBEda iacol get show TBS (, ) show FARBEca iacol get show /icurm 1 def %0:dominant, 1:and complimentary colours %icurm=1: 1\255minus data (icurm=1) /iout0x 1 def %coordinate system /iout1x 1 def %iout1x=1:Ostwald colours 1 with procedures _cur2 %dominant (icurm=0) and complementary (icurm=1) /iout2x 0 def %iout2x=1:Ostwald colours 2 with procedures _cur2 /iout3x 0 def %sRGB colours, iout3x=1:sRGB data icurm 1 eq {%icurm=1 TBS (, and ) showea ( und ) showde (1\255minus data ( - -)) showea (1\255Minus\255Daten ( - -)) showde } if %icurm=1 iout2x 1 eq {%iout2x=1 TBS (, 2 calculation methods) showea (, 2 Berechnungsmethoden) showde } if %iout2x=1 iout3x 1 eq {%iout3x=1 TBS (, and ) showea ( und ) showde TBIS (sRGB) show TBS ( data ( - -)) showea (\255Daten ( - -)) showde } if %iout3x=1 %********************************************************* /WEL1 120 array def %irregular or regular definition /WEL2 120 array def %irregular or regular definition %0 1 2 3 4 5 6 7 8 9 /WEL1 [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def /WEL1 [405 410 415 420 425 430 435 440 445 450 455 460 465 470 475 480 485 490 495 500 505 510 515 520 525 530 535 540 545 550 555 560 565 570 575 580 585 590 595 600 605 610 615 620 625 630 635 640 645 650 655 660 665 670 675 680 685 690 695 700 ] def 0 1 57 {/k exch def %k=0,57 %wavelength 405..700nm /j WEL1 k get 400 sub 5 idiv def /FF1 FXD j get def %start at 405..700nm /FF2 FYD j get def /FF3 FZD j get def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0 i11i k INP put i21i k IPN put } { i12i k IPN put i22i k INP put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* Icom 0 eq {%Icom=0 INP 0 ge {%INP>=0 % xpos xdel 0 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow %includes rounding failure w11i k DOWXIE1 0.03 add cvi put w1c1i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow w21i k DOWXIE2 0.03 add cvi put w2c1i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show w21i k DOWXIE1 0.03 add cvi put w2c1i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 }%Icom=0 {%Icom=1 INP 0 ge {%INP>=0 % xpos xdel 1 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 0.03 add cvishow w22i k DOWXIE1 0.03 add cvi put w2c2i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE2 0.03 add cvishow w12i k DOWXIE2 0.03 add cvi put w1c2i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 cvishow (c) show w12i k DOWXIE1 0.03 add cvi put w1c2i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 } ifelse %Icom=0,1 0 0 0 1 setcmyk_olvcolor %********************************************************* 0 1 79 {/i exch def %i=0,79 RA i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RA i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RA i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RA i1 0.5 put RA i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /X 0 def /Y 0 def /Z 0 def 0 1 079 {/i exch def %i=0,79 /X X F2N 00 i add get RA i get mul add def /Y Y F2N 80 i add get RA i get mul add def /Z Z F2N 160 i add get RA i get mul add def } for %i=0,79 KN 1 eq {%KN=1 /faktn 0.8859 def /X X faktn mul def /Y Y faktn mul def /Z Z faktn mul def % /faktw 0.025 faktn div def %approximately 2,8% % /Xc XW X sub def %c=antichromatic % /Yc YW Y sub def % /Zc ZW Z sub def % /X X Xc faktw mul add faktn mul def % /Y Y Yc faktw mul add faktn mul def % /Z Z Zc faktw mul add faktn mul def } if %KN=1 /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def %************************************************* Icom 1 eq {%Icom=1 /X XW X sub def /Y YW Y sub def /Z ZW Z sub def /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def } if %Icom=1 /hxy YAN YANW sub XAN XANW sub 0.0001 add atan def Icom 0 eq {%Icom=0,1 X1i k X put Y1i k Y put Z1i k Z put %hxy1i k hxy put XAN1i k XAN put YAN1i k YAN put ZAN1i k ZAN put }%Icom=0 {%Icom=1 X2i k X put Y2i k Y put Z2i k Z put %hxy2i k hxy put XAN2i k XAN put YAN2i k YAN put ZAN2i k ZAN put } ifelse %Icom=0,1 xchart14 0 eq {%xchart14=0 /AAN X Y 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AAN XAN 0.171 sub YAN 0.0001 add div def } if %xchart14=1 /BAN Z Y 0.0001 add div 0.4 mul neg def /CAN AAN AANW sub dup mul BAN BANW sub dup mul add 0.0001 add sqrt def /A AAN AANW sub Y mul def /B BAN BANW sub Y mul def /CAB A dup mul B dup mul add 0.0001 add sqrt def /hAB B A 0.0001 add atan def Icom 0 eq {%Icom=0,1 Y1i k Y put A1i k A put B1i k B put CAB1i k CAB put hAB1i k hAB put AAN1i k AAN put BAN1i k BAN put CAN1i k CAN put }%Icom=0 {%Icom=1 Y2i k Y put A2i k A put B2i k B put CAB2i k CAB put hAB2i k hAB put AAN2i k AAN put BAN2i k BAN put CAN2i k CAN put } ifelse %Icom=0,1 /D13 1 3 div def /D841_108 841 108 div def /D16_116 16 116 div def /D24_116 24 116 div 3 exp def X XW div D24_116 gt {/FXXN X XW div 0.0001 add D13 exp def} {/FXXN D841_108 X XW div mul D16_116 add def} ifelse Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def} {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse Z ZW div D24_116 gt {/FZZN Z ZW div 0.0001 add D13 exp def} {/FZZN D841_108 Z YW div mul D16_116 add def} ifelse /L* 116. FYYN mul 16. sub def /a* 500. FXXN FYYN sub mul def /b* 200. FYYN FZZN sub mul def /C*ab a* dup mul b* dup mul add 0.5 exp def /h*ab b* a* 0.000001 add atan def /a' X Y 0.0001 add div D13 exp 0.2191 mul def /b' Z Y 0.0001 add div D13 exp -0.08376 mul def /c' a' dup mul b' dup mul add 0.0001 add sqrt def Icom 0 eq {%Icom=0,1 L*1i k L* put a*1i k a* put b*1i k b* put C*ab1i k C*ab put h*ab1i k h*ab put a'1i k a' put b'1i k b' put c'1i k c' put }%Icom=0 {%Icom=1 L*2i k L* put a*2i k a* put b*2i k b* put C*ab2i k C*ab put h*ab2i k h*ab put a'2i k a' put b'2i k b' put c'2i k c' put } ifelse %Icom=0,1 %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 X def /FF2 Y def /FF3 Z def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0,1 id1i k INP put ic1i k IPN put }%Icom=0 {%Icom=1 id2i k INP put ic2i k IPN put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def } if %kNP>=0 %********************************************************* %0 1 1 0 setcmyk_olvcolor INP 0 ge {%INP>=0,-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow Icom 0 eq {%Icom=0,1 wd1i k DOWXIE1 0.03 add cvi put wdc1i k () put }%Icom=0 {%Icom=1 wd2i k DOWXIE1 0.03 add cvi put wdc2i k () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wd1i k DOWXIE2 0.03 add cvi put wdc1i k (c) put }%Icom=0 {%Icom=1 wd2i k DOWXIE2 0.03 add cvi put wdc2i k (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 %1 0 1 0 setcmyk_olvcolor IPN 0 ge {%IPN>=0,-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow Icom 0 eq {%Icom=0,1 wc1i k DOWXIE2 0.03 add cvi put wcc1i k () put }%Icom=0 {%Icom=1 wc2i k DOWXIE2 0.03 add cvi put wcc2i k () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wc1i k DOWXIE1 0.03 add cvi put wcc1i k (c) put }%Icom=0 {%Icom=1 wc2i k DOWXIE1 0.03 add cvi put wcc2i k (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 0 0 0 1 setcmyk_olvcolor } for %k=0,57 } for %Icom=0,1 only for part 1 %************************************************************* /RGB*16 16 array def /RGB*16 [(1.00 0.00 0.00) (1.00 0.25 0.00) (1.00 0.50 0.00) (1.00 0.75 0.00) (1.00 1.00 0.00) (0.75 1.00 0.00) (0.50 1.00 0.00) (0.25 1.00 0.00) (0.00 1.00 0.00) (0.00 1.00 0.50) (0.00 1.00 1.00) (0.00 0.50 1.00) (0.00 0.00 1.00) (0.50 0.00 1.00) (1.00 0.00 1.00) (1.00 0.00 0.50) ] def /RGBNM*16 16 array def /RGBNW*16 [(1.00 0.00 0.00) (0.50 0.00 0.00) (1.00 0.50 0.50) () (1.00 1.00 0.00) (0.50 0.50 0.00) (1.00 1.00 0.50) () (0.00 1.00 0.00) (0.00 0.50 0.00) (0.50 1.00 0.50) () (0.00 0.00 1.00) (0.00 0.00 0.50) (0.50 0.50 1.00) ()] def /RGB*005 05 array def /RGB*005 [(0.00 0.00 0.00) (0.25 0.25 0.25) (0.50 0.50 0.50) (0.75 0.75 0.75) (1.00 1.00 1.00)] def /RGB*009 09 array def /RGB*009 [ (0.000 0.000 0.000) (0.125 0.125 0.125) (0.250 0.250 0.250) (0.375 0.375 0.375) (0.500 0.500 0.500) (0.625 0.625 0.625) (0.750 0.750 0.750) (0.875 0.875 0.875) (1.000 1.000 1.000)] def /RGBOLV*73tx 73 array def /RGBOLV*73tx [ (1.000 0.000 0.000) (1.000 0.125 0.000) (1.000 0.250 0.000) (1.000 0.375 0.000) %O-Y (1.000 0.500 0.000) (1.000 0.625 0.000) (1.000 0.750 0.000) (1.000 0.875 0.000) (1.000 1.000 0.000) (0.875 1.000 0.000) (0.750 1.000 0.000) (0.625 1.000 0.000) %Y-L (0.500 1.000 0.000) (0.375 1.000 0.000) (0.250 1.000 0.000) (0.125 1.000 0.000) (0.000 1.000 0.000) (0.000 1.000 0.125) (0.000 1.000 0.250) (0.000 1.000 0.375) %L-C (0.000 1.000 0.500) (0.000 1.000 0.625) (0.000 1.000 0.750) (0.000 1.000 0.875) (0.000 1.000 1.000) (0.000 0.875 1.000) (0.000 0.750 1.000) (0.000 0.625 1.000) %C-V (0.000 0.500 1.000) (0.000 0.375 1.000) (0.000 0.250 1.000) (0.000 0.125 1.000) (0.000 0.000 1.000) (0.125 0.000 1.000) (0.250 0.000 1.000) (0.375 0.000 1.000) %V-M (0.500 0.000 1.000) (0.625 0.000 1.000) (0.750 0.000 1.000) (0.875 0.000 1.000) (1.000 0.000 1.000) (1.000 0.000 0.875) (1.000 0.000 0.750) (1.000 0.000 0.625) %M-O (1.000 0.000 0.500) (1.000 0.000 0.375) (1.000 0.000 0.250) (1.000 0.000 0.125) %repeat for range >360 degree (1.000 0.000 0.000) (1.000 0.125 0.000) (1.000 0.250 0.000) (1.000 0.375 0.000) %O-Y (1.000 0.500 0.000) (1.000 0.625 0.000) (1.000 0.750 0.000) (1.000 0.875 0.000) (1.000 1.000 0.000) (0.875 1.000 0.000) (0.750 1.000 0.000) (0.625 1.000 0.000) %Y-L (0.500 1.000 0.000) (0.375 1.000 0.000) (0.250 1.000 0.000) (0.125 1.000 0.000) %N-W (0.000 0.000 0.000) (0.125 0.125 0.125) (0.250 0.250 0.250) (0.375 0.375 0.375) (0.500 0.500 0.500) (0.625 0.625 0.625) (0.750 0.750 0.750) (0.875 0.875 0.875) (1.000 1.000 1.000) ] def /RGBOLV*219 219 array def /RGBOLV*219 [1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 %O-Y 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 0.000 %Y-L 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 0.000 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 %L-C 0.000 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 %C-V 0.000 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 1.000 %V-M 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 %M-O 1.000 0.000 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 %repeat for range >360 degree 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 %O-Y 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 0.000 %Y-L 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 %N-W 0.000 0.000 0.000 0.125 0.125 0.125 0.250 0.250 0.250 0.375 0.375 0.375 0.500 0.500 0.500 0.625 0.625 0.625 0.750 0.750 0.750 0.875 0.875 0.875 1.000 1.000 1.000 ] def %************************************************************************** /RGB0i_XYZi { %BEG procedure RGB0i_XYZj %transfers standard sRGB data (IEC 61966-2-1) to XYZ data %for 9x9x9=729 colours or 64+9=73 colours=48+16+9 colours %normalized XYZ data with Y=88.59 for display white, compare ISO 9241-306:2008. /IM0 73 def /IM1 IM0 1 sub def /iN 64 def /iW 72 def /Xi089 729 array def /Yi089 729 array def /Zi089 729 array def /Xi100 729 array def /Yi100 729 array def /Zi100 729 array def /R0i 729 array def /G0i 729 array def /B0i 729 array def %row no.1 and 2: 9xrgb %/imax 08 def %/jmax 08 def %/kmax 08 def %0 1 kmax {/k exch def %beg k=0,08 %0 1 jmax {/j exch def %beg j=0,jmax %0 1 imax {/i exch def %beg i=0,imax % /n i j 9 mul add k 81 mul add def % R0i n k kmax div 1000 mul put % G0i n j jmax div 1000 mul put % B0i n i imax div 1000 mul put % } for %end i=0,jmax % } for %end j=0,jmax % } for %end k=0,kmax 0 1 IM1 {/i exch def %i=0,IM1 /i3 i 3 mul def R0i i RGBOLV*219 i3 0 add get 1000 mul put G0i i RGBOLV*219 i3 1 add get 1000 mul put B0i i RGBOLV*219 i3 2 add get 1000 mul put } for %i=0,IM1 0 1 IM1 {/i exch def %i=0,IM1 R0i i get 0.04045 le %equations of IEC 61966-2-1:2003 {/RsRGB R0i i get 12.92 div def} {/RsRGB R0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse G0i i get 0.04045 le {/GsRGB G0i i get 12.92 div def} {/GsRGB G0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse B0i i get 0.04045 le {/BsRGB B0i i get 12.92 div def} {/BsRGB B0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse Xi100 i 0.4124 RsRGB mul 0.3576 GsRGB mul add 0.1805 BsRGB mul add 100 mul put Yi100 i 0.2126 RsRGB mul 0.7152 GsRGB mul add 0.0722 BsRGB mul add 100 mul put Zi100 i 0.0193 RsRGB mul 0.1192 GsRGB mul add 0.9505 BsRGB mul add 100 mul put } for %i=0,IM1 0 1 IM1 {/i exch def %i=0,IM1 Xi089 i Xi100 i get 0.8859 mul put Yi089 i Yi100 i get 0.8859 mul put Zi089 i Zi100 i get 0.8859 mul put } for %i=0,IM1 /XLN100 Xi100 iN get def /YLN100 Yi100 iN get def /ZLN100 Zi100 iN get def /XLW100 Xi100 iW get def /YLW100 Yi100 iW get def /ZLW100 Zi100 iW get def /XLN089 Xi089 iN get def /YLN089 Yi089 iN get def /ZLN089 Zi089 iN get def /XLW089 Xi089 iW get def /YLW089 Yi089 iW get def /ZLW089 Zi089 iW get def % achromatic (D65) colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLWD65089 95.04 0.8859 mul def /YLWD65089 100.00 0.8859 mul def /ZLWD65089 108.88 0.8859 mul def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def } bind def %END procedure RGB0i_XYZi for 729 colours %********************************************************************** /XYZi_Lab*i { %BEG Procedure XYZi_Lab*i %transfer from XYZi data to Lab*i CIELAB data for 9x9x9=729 colours %requires IM0, IM1, IN, IW %requires /Xi089,Yi089,Zi089 729 array def %max 729 %requires /Xi100,Yi100,Zi100 729 array def %max 729 %requires (XYZ)LWD65100, (XYZ)LWD65089 %new /L*i089,a*i089,b*i089 729 array def %max 729 %new /L*i100,a*i100,b*i100 729 array def %max 729 /L*i100 729 array def /a*i100 729 array def /b*i100 729 array def /L*i089 729 array def /a*i089 729 array def /b*i089 729 array def 0 1 IM1 {/i exch def %i=0,IM1 /XQ Xi089 i get XLWD65100 div def /YQ Yi089 i get YLWD65100 div def /ZQ Zi089 i get ZLWD65100 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if L*i089 i YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put a*i089 i XQ 0.008856 lt {7.787 XQ mul 16 116 div add} {XQ 0.33333333 exp} ifelse YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse sub 500 mul put b*i089 i YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add} {ZQ 0.33333333 exp} ifelse sub 200 mul put /XQ Xi100 i get XLWD65100 div def /YQ Yi100 i get YLWD65100 div def /ZQ Zi100 i get ZLWD65100 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if L*i100 i YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put a*i100 i XQ 0.008856 lt {7.787 XQ mul 16 116 div add} {XQ 0.33333333 exp} ifelse YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse sub 500 mul put b*i100 i YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add} {ZQ 0.33333333 exp} ifelse sub 200 mul put } for %i=0,IM1 /L*N100 L*i100 iN get def /a*N100 a*i100 iN get def /b*N100 b*i100 iN get def /L*W100 L*i100 iW get def /a*W100 a*i100 iW get def /b*W100 b*i100 iW get def /L*N089 L*i089 iN get def /a*N089 a*i089 iN get def /b*N089 b*i089 iN get def /L*W089 L*i089 iW get def /a*W089 a*i089 iW get def /b*W089 b*i089 iW get def } bind def %END XYZi_Lab*i %********************************************************************** /XYZi_ABi { %BEG Procedure XYZj_ABi %transfer from XYZj data to ABi YAB data for 9x9x9=729 colours %requires IM0, IM1, IN, IW %requires /Xi089,Yi089,Zi089 729 array def %max 729 %requires /Xi100,Yi100,Zi100 729 array def %max 729 %requires (XYZ)LWD65100, (XYZ)LWD65089 %new /Ai089,Bi089 729 array def %max 729 %new /Ai100,Bi100 729 array def %max 729 /Ai100 729 array def /Bi100 729 array def /Ai089 729 array def /Bi089 729 array def /XW100 XLWD65100 def /YW100 YLWD65100 def /ZW100 ZLWD65100 def 0 1 IM1 {/i exch def %i=0,IM1 Ai100 i Xi100 i get Yi100 i get 0.0001 add div XLWD65100 YLWD65100 0.0001 add div sub Yi100 i get mul put Bi100 i Zi100 i get Yi100 i get 0.0001 add div ZLWD65100 YLWD65100 0.0001 add div sub Yi100 i get mul 0.4 mul neg put Ai089 i Ai100 i get 0.8859 mul put Bi089 i Bi100 i get 0.8859 mul put } for %i=0,IM1 /AN100 Ai100 iN get def /BN100 Bi100 iN get def /AW100 Ai100 iW get def /BW100 Bi100 iW get def /AN089 Ai089 iN get def /BN089 Bi089 iN get def /AW089 Ai089 iW get def /BW089 Bi089 iW get def } bind def %END XYZi_ABi %********************************************************************** /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvishowb {cvi 6 string cvs show ( ) show} def /cvsshow1b {10 mul cvi 0.1 mul 7 string cvs show ( ) show} def /cvsshow2b {100 mul cvi 0.01 mul 7 string cvs show ( ) show} def /cvsshow3b {1000 mul cvi 0.001 mul 7 string cvs show ( ) show} def /cvishowr {0.5 add cvi 6 string cvs show} def /cvsshow1r {0.05 add 10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2r {0.005 add 100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3r {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show} def /cvi100 {100 mul cvi /xi exch def xi 0 lt {/vorz -1 def} {/vorz 1 def} ifelse /xia xi abs def vorz -1 eq {(\255) show} {(0) show} ifelse xia 0 ge xia 9 le {(0000) show} if xia 10 ge xia 99 le and {(000) show} if xia 100 ge xia 999 le and {(00) show} if xia 1000 ge xia 9999 le and {(0) show} if xia cvishow } bind def /cvi1000 {1000 mul cvi /xi exch def xi 0 ge xi 9 le {(000) show} if xi 10 ge xi 99 le and {(00) show} if xi 100 ge xi 999 le and {(0) show} if xi cvishow } bind def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def %72 90 translate %0.01 MM dup scale %TK %100 -180 moveto %(DG410-2N, ) show %(NCS colours) showea %(NCS\255Farben) showde %TK %(, normalized:) showea %(, normiert:) showde %TIK %( Yn = Yw) show %TK %( = 100) show %STOP1 RGB0i_XYZi %STOP2 XYZi_Lab*i %STOP3 XYZi_ABi %STOP /ymax 16600 def /idy 206 def /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /FAD 63 array def /FBD 63 array def /FCD 63 array def /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 /ix0 100 def /ix1 ix0 1400 add def /ixd 600 def /iymax 16550 def /idy 206 def /xtext 0 def xtext 1 eq {%itext=1 TBIK ix0 iymax idy add 50 add moveto (rgb) show TBS 0 -90 rmoveto (i) show 0 90 rmoveto TBK ix1 ixd 0 mul add 150 add iymax idy add 50 add moveto TBK (i) show ix1 ixd 1 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 1 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z, x, y) show TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 6 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 6 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBIK (, a', b', c') show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 14 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 14 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBIK (, a, b, c) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 22 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 22 mul add iymax idy add 50 add moveto TBK ([) show TBIK (i) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TBIK (i) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 26 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 26 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z) show TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 29 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 29 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 34 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 34 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK } if %itext=1 /D13 1 3 div def /a2D65 1 XLWD65100 0.0001 add div D13 exp def /b2D65 1 ZLWD65100 0.0001 add div D13 exp neg def TK %20000 15000 moveto a2D65 cvsshow3r (,) b2D65 cvsshow3r /aWD65100 XLWD65100 YLWD65100 0.0001 add div def /bWD65100 ZLWD65100 YLWD65100 0.0001 add div 0.4 mul neg def /aWD65089 XLWD65100 YLWD65100 0.0001 add div def /bWD65089 ZLWD65100 YLWD65100 0.0001 add div 0.4 mul neg def %20000 14000 moveto aWD65100 cvsshow3r (,) bWD65100 cvsshow3r /a'WD65100 XLWD65100 YLWD65100 0.0001 add div D13 exp a2D65 mul def /b'WD65100 ZLWD65100 YLWD65100 0.0001 add div D13 exp b2D65 mul def /a'WD65089 XLWD65100 YLWD65100 0.0001 add div D13 exp a2D65 mul def /b'WD65089 ZLWD65100 YLWD65100 0.0001 add div D13 exp b2D65 mul def %20000 13000 moveto a'WD65100 cvsshow3r (,) b'WD65100 cvsshow3r /itx -0.8 def 0 1 IM1 {/i exch def %i=0,IM1 % i IM1 ne {%i#IM1 % i i 8 idiv 8 mul eq {/itx itx 0.8 add def} if % } if %i#IM1 % /iy i itx add def %ix0 ixd 0 mul add iymax iy idy mul sub moveto %RGBOLV*73tx i get show %ix1 ixd 0 mul add 150 add iymax iy idy mul sub moveto %i 9 le {(0) show} if i cvishow /XD65100 Xi100 i get def /YD65100 Yi100 i get def /ZD65100 Zi100 i get def /SUM XD65100 YD65100 add ZD65100 add def /xD65100 XD65100 SUM 0.0001 add div def /yD65100 YD65100 SUM 0.0001 add div def %ix1 ixd 1 mul add iymax iy idy mul sub moveto XD65100 cvsshow1r %ix1 ixd 2 mul add iymax iy idy mul sub moveto YD65100 cvsshow1r %ix1 ixd 3 mul add iymax iy idy mul sub moveto ZD65100 cvsshow1r %ix1 ixd 4 mul add iymax iy idy mul sub moveto xD65100 cvsshow3r %ix1 ixd 5 mul add iymax iy idy mul sub moveto yD65100 cvsshow3r X3i i XD65100 put Y3i i YD65100 put Z3i i ZD65100 put %XAN3i i xD65100 put %YAN3i i yD65100 put /a'D65100 XD65100 YD65100 0.0001 add div D13 exp a2D65 mul def /b'D65100 ZD65100 YD65100 0.0001 add div D13 exp b2D65 mul def /c'D65100 a'D65100 a'WD65100 sub dup mul b'D65100 b'WD65100 sub dup mul add 0.0001 add sqrt def /L*D65100 L*i100 i get def /a*D65100 a*i100 i get def /b*D65100 b*i100 i get def /C*D65100 a*D65100 dup mul b*D65100 dup mul add 0.0001 add sqrt def /h*D65100 b*D65100 a*D65100 0.0001 add atan def %ix1 ixd 06 mul add iymax iy idy mul sub moveto L*D65100 cvsshow1r %ix1 ixd 07 mul add iymax iy idy mul sub moveto a*D65100 cvsshow1r %ix1 ixd 08 mul add iymax iy idy mul sub moveto b*D65100 cvsshow1r %ix1 ixd 09 mul add iymax iy idy mul sub moveto C*D65100 cvsshow1r %ix1 ixd 10 mul add iymax iy idy mul sub moveto h*D65100 cvsshow1r %ix1 ixd 11 mul add iymax iy idy mul sub moveto a'D65100 cvsshow3r %ix1 ixd 12 mul add iymax iy idy mul sub moveto b'D65100 cvsshow3r %ix1 ixd 13 mul add iymax iy idy mul sub moveto c'D65100 cvsshow3r L*3i i L*D65100 put a*3i i a*D65100 put b*3i i b*D65100 put C*ab3i i C*D65100 put h*ab3i i h*D65100 put %a'3i i a'D65100 put %b'3i i b'D65100 put %c'3i i c'D65100 put /aD65100 XD65100 YD65100 0.0001 add div def /bD65100 ZD65100 YD65100 0.0001 add div 0.4 mul neg def /cD65100 aD65100 aWD65100 sub dup mul bD65100 bWD65100 sub dup mul add 0.0001 add sqrt def /AD65100 XD65100 YD65100 0.0001 add div XLWD65100 YLWD65100 0.0001 add div sub YD65100 mul def /BD65100 ZD65100 YD65100 0.0001 add div ZLWD65100 YLWD65100 0.0001 add div sub YD65100 mul 0.4 mul neg def /CD65100 AD65100 dup mul BD65100 dup mul add 0.0001 add sqrt def /hD65100 BD65100 AD65100 0.0001 add atan def %ix1 ixd 14 mul add iymax iy idy mul sub moveto YD65100 cvsshow1r %ix1 ixd 15 mul add iymax iy idy mul sub moveto AD65100 cvsshow1r %ix1 ixd 16 mul add iymax iy idy mul sub moveto BD65100 cvsshow1r %ix1 ixd 17 mul add iymax iy idy mul sub moveto CD65100 cvsshow1r %ix1 ixd 18 mul add iymax iy idy mul sub moveto hD65100 cvsshow1r %ix1 ixd 19 mul add iymax iy idy mul sub moveto aD65100 cvsshow3r %ix1 ixd 20 mul add iymax iy idy mul sub moveto bD65100 cvsshow3r %ix1 ixd 21 mul add iymax iy idy mul sub moveto cD65100 cvsshow3r A3i i AD65100 put B3i i BD65100 put CAB3i i CD65100 put hAB3i i hD65100 put AAN3i i aD65100 put BAN3i i bD65100 put CAN3i i cD65100 put %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 XD65100 def /FF2 YD65100 def /FF3 ZD65100 def /U1 XLWD65100 def /U2 YLWD65100 def /U3 ZLWD65100 def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/j exch def %j=1,60 /TN FAD j get FXU1 mul FBD j get FXU2 mul add FCD j get FXU3 mul add def /TP FAD j 1 add get FXU1 mul FBD j 1 add get FXU2 mul add FCD j 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP j def exit} if } for %j=1,60 0 1 60 {/j exch def %j=1,60 /TN FAD j get FXU1 mul FBD j get FXU2 mul add FCD j get FXU3 mul add neg def /TP FAD j 1 add get FXU1 mul FBD j 1 add get FXU2 mul add FCD j 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN j def exit} if } for %j=1,60 /Icom 0 def %Icom=0 only for part 2 TM Icom 0 eq {%Icom=0,1 id3i i INP put ic3i i IPN put }%Icom=0 {%Icom=1 id4i i INP put ic4i i IPN put } ifelse %Icom=0,1 TLL %ix1 ixd 22 mul add iymax iy idy mul sub moveto INP cvishow %ix1 ixd 23 mul add iymax iy idy mul sub moveto IPN cvishow %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def } if %kNP>=0 %********************************************************* %0 1 1 0 setcmyk_olvcolor INP 0 ge {%INP>=0,-1 % ix1 ixd 24 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 cvishow Icom 0 eq {%Icom=0,1 wd3i i DOWXIE1 0.03 add cvi put wdc3i i () put }%Icom=0 {%Icom=1 wd4i i DOWXIE1 0.03 add cvi put wdc4i i () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % ix1 ixd 24 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 cvishow (c) show Icom 0 eq {%Icom=0,1 wd3i i DOWXIE2 0.03 add cvi put wdc3i i (c) put }%Icom=0 {%Icom=1 wd4i i DOWXIE2 0.03 add cvi put wdc4i i (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 %1 0 1 0 setcmyk_olvcolor IPN 0 ge {%IPN>=0,-1 % ix1 ixd 25 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 cvishow Icom 0 eq {%Icom=0,1 wc3i i DOWXIE2 0.03 add cvi put wcc3i i () put }%Icom=0 {%Icom=1 wc4i i DOWXIE2 0.03 add cvi put wcc4i i () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % ix1 ixd 25 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 cvishow (c) show Icom 0 eq {%Icom=0,1 wc3i i DOWXIE1 0.03 add cvi put wcc3i i (c) put }%Icom=0 {%Icom=1 wc4i i DOWXIE1 0.03 add cvi put wcc4i i (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 %********************************************************************** /XD65089 Xi089 i get def /YD65089 Yi089 i get def /ZD65089 Zi089 i get def %ix1 ixd 26 mul add iymax iy idy mul sub moveto XD65089 cvsshow1r %ix1 ixd 27 mul add iymax iy idy mul sub moveto YD65089 cvsshow1r %ix1 ixd 28 mul add iymax iy idy mul sub moveto ZD65089 cvsshow1r X4i i XD65089 put Y4i i YD65089 put Z4i i ZD65089 put %XAN4i i xD65089 put %YAN4i i yD65089 put /a'D65089 XD65089 YD65089 0.0001 add div D13 exp a2D65 mul def /b'D65089 ZD65089 YD65089 0.0001 add div D13 exp b2D65 mul def /c'D65089 a'D65089 a'WD65089 sub dup mul b'D65089 b'WD65089 sub dup mul add 0.0001 add sqrt def /L*D65089 L*i089 i get def /a*D65089 a*i089 i get def /b*D65089 b*i089 i get def /C*D65089 a*D65089 dup mul b*D65089 dup mul add 0.0001 add sqrt def /h*D65089 b*D65089 a*D65089 0.0001 add atan def %ix1 ixd 29 mul add iymax iy idy mul sub moveto L*D65089 cvsshow1r %ix1 ixd 30 mul add iymax iy idy mul sub moveto a*D65089 cvsshow1r %ix1 ixd 31 mul add iymax iy idy mul sub moveto b*D65089 cvsshow1r %ix1 ixd 32 mul add iymax iy idy mul sub moveto C*D65089 cvsshow1r %ix1 ixd 33 mul add iymax iy idy mul sub moveto h*D65089 cvsshow1r %ix1 ixd 11 mul add iymax iy idy mul sub moveto a'D65089 cvsshow3r %ix1 ixd 12 mul add iymax iy idy mul sub moveto b'D65089 cvsshow3r %ix1 ixd 13 mul add iymax iy idy mul sub moveto c'D65089 cvsshow3r L*4i i L*D65089 put a*4i i a*D65089 put b*4i i b*D65089 put C*ab4i i C*D65089 put h*ab4i i h*D65089 put %a'4i i a'D65089 put %b'4i i b'D65089 put %c'4i i c'D65089 put /aD65089 XD65089 YD65089 0.0001 add div def /bD65089 ZD65089 YD65089 0.0001 add div 0.4 mul neg def /cD65089 aD65089 aWD65089 sub dup mul bD65089 bWD65089 sub dup mul add 0.0001 add sqrt def /AD65089 XD65089 YD65089 0.0001 add div XLWD65089 YLWD65089 0.0001 add div sub YD65089 mul def /BD65089 ZD65089 YD65089 0.0001 add div ZLWD65089 YLWD65089 0.0001 add div sub YD65089 mul 0.4 mul neg def /CD65089 AD65089 dup mul BD65089 dup mul add 0.0001 add sqrt def /hD65089 BD65089 AD65089 0.0001 add atan def %ix1 ixd 34 mul add iymax iy idy mul sub moveto YD65089 cvsshow1r %ix1 ixd 35 mul add iymax iy idy mul sub moveto AD65089 cvsshow1r %ix1 ixd 36 mul add iymax iy idy mul sub moveto BD65089 cvsshow1r %ix1 ixd 37 mul add iymax iy idy mul sub moveto CD65089 cvsshow1r %ix1 ixd 38 mul add iymax iy idy mul sub moveto hD65089 cvsshow1r %ix1 ixd 19 mul add iymax iy idy mul sub moveto aD65089 cvsshow3r %ix1 ixd 20 mul add iymax iy idy mul sub moveto bD65089 cvsshow3r %ix1 ixd 21 mul add iymax iy idy mul sub moveto cD65089 cvsshow3r A4i i AD65089 put B4i i BD65089 put CAB4i i CD65089 put hAB4i i hD65089 put %a4i i aD65089 put %b4i i bD65089 put %c4i i cD65089 put } for %i=0,IM1 %STOP %************************************************************* /imshow {0 -50 rmoveto TBL (m) show 0 50 rmoveto TBIS} def /ioshow {0 -50 rmoveto TBL (o) show 0 50 rmoveto TBIS} def /idshow {0 -50 rmoveto TBL (d) show 0 50 rmoveto TBIS} def /ieshow {0 -50 rmoveto TBL (e) show 0 50 rmoveto TBIS} def %************************************************************* %xchart4=0-0 %STOP0-0 %BEG X,Y,Z = f(hAB) xchart4 0 eq {%xchart4=0 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [( 0) ( 20) ( 40) ( 60) ( 80) (100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1800 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwerte) showde (CIE tristimulus values) showea TBIS 1 0 0 setrgbcolor ( X) show 0 setgray (,) show 0 1 0 setrgbcolor ( Y) show 0 setgray (,) show 0 0 1 setrgbcolor ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP0-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP0-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift -1200 def proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 } if %iout2x=1 %************************************************************ %STOP0-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift 0000 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_XYZ_cur2 [] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout3x=1 } if %xchart4=0 %END X,Y,Z = f(hAB) %STOP0-4 %************************************************************* %xchart4=1-0 %STOP1-0 %BEG A,B,CAB = f(hAB) xchart4 1 eq {%xchart4=1 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show TBS ( und) showde (, and) showea TBS ( Buntwerte) showde ( chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (, ) show TBIS (C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP1-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP1-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 0 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP1-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_ABCY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=1 %END A,B,CAB = f(hAB) %STOP1-4 %************************************************************* %xchart4=2-0 %STOP2-0 %BEG L*,a*,b*,C*ab = f(hAB) xchart4 2 eq {%xchart4=2 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP2-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP2-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 0 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP2-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=2 %END L*,a*,b*,C*ab = f(hAB) %STOP2-4 %************************************************************* %xchart4=3-0 %STOP3-0 %BEG L*,a*,b*,C*ab = f(h*ab) xchart4 3 eq {%xchart4=3 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 200 sub iytt moveto TBIS (h*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP3-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_h*ab_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 1 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP3-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_h*ab_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 1 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP3-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 1 def %negativ data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=3 %END L*,a*,b*,C*ab = f(h*ab) %STOP3-4 %************************************************************* %xchart4=4-0 %STOP4-0 %BEG X,Y,Z = f(wd) xchart4 4 eq {%xchart4=4 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyY i get show -75 iyl moveto 150 0 rlineto stroke } for %no axis right /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (Normfarbwerte) showde (CIE tristimulus values) showea 1 0 0 setrgbcolor TBIS ( X) show TBS 0 setgray (,) show 0 1 0 setrgbcolor TBIS ( Y) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %***************************************************** %STOP4-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP4-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift -1200 def proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samRMB proc_tab_Ocolors2 } if %stext=1 } if %iout2x=1 %************************************************************ %STOP4-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift 0000 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_XYZ_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout3x=1 } if %xchart4=4 %END X,Y,Z = f(wd) %STOP4-4 %************************************************************* %xchart4=5-0 %STOP5-0 %BEG A,B,CAB = f(wd) xchart4 5 eq {%xchart4=5 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyA [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyA i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -320 3000 120 add moveto (A) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (B) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-60 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 300 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Buntwerte) showde (, and chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %************************************************* %STOP5-1 380 280 1200 add translate %shift of cero point by 1200 iout1x 1 eq {%iout1x=1 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP5-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP5-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_ABCY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=5 %END A,B,CAB = f(wd) %STOP5-4 %************************************************************* %xchart4=6-0 %STOP6-0 %BEG L*,a*,b*,C*ab = f(wd) xchart4 6 eq {%xchart4=6 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tya* [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tya* i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a*) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b*) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 250 sub 3000 250 add moveto (L*) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (CIELAB\255Helligkeiten) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b*) show TBS 0 setgray (,) show TBIS ( C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%KN=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %KN=0,1 380 neg 280 neg translate } if %iout0x=1 %****************************************************** %STOP6-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP6-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 1 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP6-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_hABw_LabC*_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 1200 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=6 %END L*,a*,b*,C*ab = f(wd) %STOP6-4 %************************************************************* %xchart4=7-0 %STOP7-0 %BEG Y/100, a, b, cab = f(wd) xchart4 7 eq {%xchart4=7 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a) show 20 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 250 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill 0 setgray /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwert) showde (tristimulus value) showea 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Farbarten) showde (, and chromaticities) showea 1 0 0 setrgbcolor TBIS ( a) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( c) show 0 -30 rmoveto TBL xchart14 0 eq {(ab0)}{(ab1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS KN 0 eq {%KN=0,1 (=0 bis 100) showde (=0 to 100) showea }%K=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %K=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************** %STOP7-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_wd_abcY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 %************************************************************* %STOP7-2 iout2x 1 eq {%iout2x=1 [100] 100 setdash /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 2 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 0 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %%used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 %1 1 0 setrgbcolor %0 setlinewidth % 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto % 400 12 mul 200 add neg 0 rlineto closepath clip %30 setlinewidth ctext 1 eq {%ctext=1 /yshift -0000 def proc_wd_abcY_cur2 } if %ctext=1 %stext 1 eq {%stext=1 %/yshift -1200 def %/xhh*w 2 def %/yYLC 0 def %proc_hh*w_YLC_samRMB %} if %stext=1 } if %iout2x=1 %************************************************************ %STOP7-3 iout3x 1 eq {%iout3x=1 [100] 100 setdash /imin 0 def /ij 47 def /i0 48 def /ix 49 def TLL /kx 3 def /xpn 0 def %positiv data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 0 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %%used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 ctext 1 eq {%ctext=1 /yshift 0000 def [100] 100 setdash proc_wd_abcY_cur2 [ ] 0 setdash } if %ctext=1 380 neg 280 0000 add neg translate %shift of cero point by 1200 } if %iout3x=1 } if %xchart4=7 %END a,b,c,Y = f(fw) %STOP7-4 %*************************************************************** showpage grestore } for %xchartl=0,7 %showpage %grestore %} for %xchart4=0,7 %showpage %grestore %} for %xcolorl=0,0 %%Trailer %%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 http://farbe.li.tu-berlin.de/DG41/DG411-2A 20180501 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark08 where {pop} {userdict /pdfmark08 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark08 [ /View [ /Fit ] /DOCVIEW pdfmark08 %END PDFDE011 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth r g b {setrgbcolor rec fill} bind def /colrecst %x y width heigth r g b {setrgbcolor rec stroke} bind def /TG {320 /Times-ISOL1 FS} bind def /TM {270 /Times-ISOL1 FS} bind def /TK {200 /Times-ISOL1 FS} bind def /TS {170 /Times-ISOL1 FS} bind def /TL {130 /Times-ISOL1 FS} bind def /TLL {100 /Times-ISOL1 FS} bind def /TIG {320 /TimesI-ISOL1 FS} bind def /TIM {270 /TimesI-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIS {170 /TimesI-ISOL1 FS} bind def /TIL {130 /TimesI-ISOL1 FS} bind def /TBG {320 /TimesB-ISOL1 FS} bind def /TBM {270 /TimesB-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBS {170 /TimesB-ISOL1 FS} bind def /TBL {130 /TimesB-ISOL1 FS} bind def /TBIG {320 /TimesBI-ISOL1 FS} bind def /TBIM {270 /TimesBI-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIS {170 /TimesBI-ISOL1 FS} bind def /TBIL {130 /TimesBI-ISOL1 FS} bind def /SG {320 /Symbol FS} bind def /SM {270 /Symbol FS} bind def /SK {200 /Symbol FS} bind def /SS {170 /Symbol FS} bind def /SL {130 /Symbol FS} bind def /CBG {320 /CourierB-ISOL1 FS} bind def /CBM {270 /CourierB-ISOL1 FS} bind def /CBK {200 /CourierB-ISOL1 FS} bind def /CBS {170 /CourierB-ISOL1 FS} bind def /CBL {130 /CourierB-ISOL1 FS} bind def %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def /FXD 63 array def /FYD 63 array def /FZD 63 array def /FAD 63 array def /FBD 63 array def /FCD 63 array def %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def %allways 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /xchart8 1 def % /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %calculation of transformation data /FARBE 33 array def /FARBE [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 470_570) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 570_470) %05 (G) (o) ( 520_570) %06 (R) (o) ( 570_780) %07 (N) (0) ( 380_770) %08 (W) (0) ( 380_770) %09 (W) (1) ( 380_770) %10 ] def %/FARBE [(R) (m) ( 565_770) %00 % (Y) (m) ( 495_770) %01 % (G) (m) ( 475_575) %02 % (C) (m) ( 380_565) %03 % (B) (m) ( 380_495) %04 % (M) (m) ( 575_475) %05 % (N) (0) ( 380_770) %06 % (W) (0) ( 380_770) %07 % (W) (1) ( 380_770) %08 % ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 800 array def %10x80 /RX0 [ %(%Ro 00 570_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Ym 01 520_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Gm 02 470_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Cm 03 380_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Bm 04 380_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%Mm 05 570_470) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%Go 06 520_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0000 0000 0000 0000 0000 0000 0000 0000 0500 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 0500 0000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 %(%N0(r=0,001) 07 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0001 0001 0001 0001 0001 0001 0001 0001 0001 0001 %(%W1(r=1,000) 08 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %(%W1(r=1,000) 09 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 ] def %************************************************** /proc_ALLi_def {%BEG proc_ALLi_def ij=ix-2 0 1 ij {/i exch def %i=0,ij kx 1 eq {Xxi i X1i i get put Yxi i Y1i i get put Zxi i Z1i i get put Axi i A1i i get put Bxi i B1i i get put L*xi i L*1i i get put a*xi i a*1i i get put b*xi i b*1i i get put AANxi i AAN1i i get put BANxi i BAN1i i get put CANxi i CAN1i i get put idxi i id1i i get put wdxi i wd1i i get put hABxi i hAB1i i get put h*abxi i h*ab1i i get put } if kx 2 eq {Xxi i X2i i get put Yxi i Y2i i get put Zxi i Z2i i get put Axi i A2i i get put Bxi i B2i i get put L*xi i L*2i i get put a*xi i a*2i i get put b*xi i b*2i i get put AANxi i AAN2i i get put BANxi i BAN2i i get put CANxi i CAN2i i get put idxi i id2i i get put wdxi i wd2i i get put hABxi i hAB2i i get put h*abxi i h*ab2i i get put } if } for %i=1,ij } bind def %END proc_ALLi_def %*********************************************************** /proc_ALLi_ALLin {%BEG proc_ALLi_ALLin %new order from front, new data amount ix=ij+2 hABxin 0 hABxi imin get 360 xpn 0 eq {add}{sub} ifelse put %351-360=-9 h*abxin 0 h*abxi imin get 360 xpn 0 eq {add}{sub} ifelse put wdxin 0 wdxi imin get xpn 0 eq {400 sub 769 add}{769 sub 400 add} ifelse put %769=700+564-495 Xxin 0 Xxi imin get put Yxin 0 Yxi imin get put Zxin 0 Zxi imin get put Axin 0 Axi imin get put Bxin 0 Bxi imin get put L*xin 0 L*xi imin get put a*xin 0 a*xi imin get put b*xin 0 b*xi imin get put AANxin 0 AANxi imin get put BANxin 0 BANxi imin get put CANxin 0 CANxi imin get put idxin 0 idxi imin get put imin1 1 ij {/i exch def %32_57 old, imin=31(h=38) imin1=32 /in i imin1 sub 1 add def %i=32_57-32+1=01_26 new hABxin in hABxi i get put %in=1,26=26 values h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for 0 1 imin {/i exch def %0-31 old /in ij imin sub i add 1 add def %in=57-31+i+1=26+i+1=26+31+1 hABxin in hABxi i get put h*abxin in h*abxi i get put wdxin in wdxi i get put Xxin in Xxi i get put Yxin in Yxi i get put Zxin in Zxi i get put Axin in Axi i get put Bxin in Bxi i get put L*xin in L*xi i get put a*xin in a*xi i get put b*xin in b*xi i get put AANxin in AANxi i get put BANxin in BANxi i get put CANxin in CANxi i get put idxin in idxi i get put } for hABxin ix hABxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put %2.4+360 h*abxin ix h*abxi imin1 get 360 xpn 0 eq {sub}{add} ifelse put wdxin ix wdxi imin1 get xpn 0 eq {769 sub 400 add}{400 sub 769 add} ifelse put %769=700+564-495 Xxin ix Xxi imin1 get put Yxin ix Yxi imin1 get put Zxin ix Zxi imin1 get put Axin ix Axi imin1 get put Bxin ix Bxi imin1 get put L*xin ix L*xi imin1 get put a*xin ix a*xi imin1 get put b*xin ix b*xi imin1 get put AANxin ix AANxi imin1 get put BANxin ix BANxi imin1 get put CANxin ix CANxi imin1 get put idxin ix idxi imin1 get put } bind def %END proc_ALLi_ALLin %******************************************************** /proc_hAB_min {%BEG proc_hAB_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 hABxi i get hABxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 hABxi i get hABxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (hABxi=) show hABxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (hABxi1=) show hABxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_hAB_min %******************************************************** /proc_h*ab_min {%BEG proc_h*ab_min 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 h*abxi i get h*abxi i 1 add get sub -100 le {/imin i def exit} if }%xpn=0 {%xpn=1 h*abxi i get h*abxi i 1 add get sub 100 ge {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (h*abxi=) show h*abxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (h*abxi1=) show h*abxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_h*ab_min %******************************************************** /proc_iwd_min {%BEG proc_iwd_min 1 1 ij {/i exch def %i=1,ij idxi i get -1 eq {wdxi i wdxi i get 495 sub 700 add put} if } for %i=1,ij 0 1 ij {/i exch def %i=0,ij xpn 0 eq {%xpn=0,1 idxi i get 0 gt idxi i 1 add get -1 eq and {/imin i def exit} if }%xpn=0 {%xpn=1 idxi i get -1 eq idxi i 1 add get 0 gt and {/imin i def exit} if } ifelse %xpn=0,1 } for %i=1,ij /imin1 imin 1 add def htext 1 eq {%htext=1 0100 2800 yshift add moveto (kx=) show kx cvishow (, imin=) show imin cvishow 1100 2800 yshift add moveto (iwdxi=) show idxi imin get cvishow (, ) show wdxi imin get cvsshow1 2100 2800 yshift add moveto (imin1=) show imin1 cvishow 3100 2800 yshift add moveto (iwdxi1=) show idxi imin1 get cvishow (, ) show wdxi imin1 get cvsshow1 } if %htext=1 } bind def %END proc_iwd_min %******************************************************** /proc_hAB_tab {%BEG proc_hAB_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show hABxin i get cvsshow1 } for %i=1,ix newpath 180 faktx mul 00 fakty mul 40 0 360 arc fill 180 faktx mul 20 fakty mul 40 0 360 arc fill 180 faktx mul 40 fakty mul 40 0 360 arc fill 0 faktx mul -20 fakty mul 40 0 360 arc fill 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_hAB_tab %******************************************************** /proc_h*ab_tab {%BEG proc_h*ab_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxi i get cvsshow1 } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 500 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show h*abxin i get cvsshow1 } for %i=1,ix %newpath %180 faktx mul 00 fakty mul 40 0 360 arc fill %180 faktx mul 20 fakty mul 40 0 360 arc fill %180 faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_h*ab_tab %******************************************************** /proc_iwd_tab {%BEG proc_iwd_tab /ymaxn 2600 yshift add def /ydelx ydel 1.5 div def 0 1 ij {/i exch def %i=1,ij /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxi i get cvishow (, ) show wdxi i get cvishow } for %i=1,ij /ymaxn 1200 yshift add def 0 1 ix {/i exch def %i=1,ix /i10 i 10 idiv def /ie i i 10 idiv 10 mul sub def /xn 100 ie 490 mul add def xn ymaxn i10 ydelx mul sub moveto i cvishow (,) show idxin i get cvishow (, ) show wdxin i get cvishow } for %i=1,ix %newpath %700 400 sub faktx mul 00 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 20 fakty mul 40 0 360 arc fill %700 400 sub faktx mul 40 fakty mul 40 0 360 arc fill % 0 faktx mul -20 fakty mul 40 0 360 arc fill % 0 faktx mul 20 fakty mul 40 0 360 arc fill } bind def %END proc_iwd_tab %********************************************************** /proc_hABw_XYZ_cur2 {%BEG proc_hABw_XYZ_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %X 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Xxin i get} {100 Xxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %Z 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Zxin i get} {100 Zxin i get sub} ifelse fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_XYZ_cur2 %******************************************************** /proc_hABw_ABCY_cur2 {%BEG proc_hABw_ABCY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %A 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %B 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Bxin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %CAB 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse Axin i get dup mul Bxin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icurm=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_ABCY_cur2 %******************************************************** /proc_hABw_LabC*_cur2 {%BEG proc_hABw_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %y-shift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix hw 0 eq {hABxin i get faktx mul} {wdxin i get 400 sub faktx mul} ifelse a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icurm=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_hABw_LabC*_cur2 %******************************************************** /proc_h*ab_LabC*_cur2 {%BEG proc_h*ab_LabC*_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul b*xin i get icur 1 eq {-1 mul} if fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %L* 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul icur 0 eq {L*xin i get} {100 L*xin i get sub} ifelse fakty mul 3 mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix h*abxin i get faktx mul a*xin i get dup mul b*xin i get dup mul add 0.0001 add sqrt fakty mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icur=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_h*ab_LabC*_cur2 %******************************************************** /proc_wd_abcY_cur2 {%BEG proc_wd_abcY_cur2 ctext 1 eq {%ctext=1 0 1 icurm {/icur exch def %icur=0,icurm iout3x 0 eq {%iout3x=0 icur 0 eq {[ ] 0 setdash} {[100] 100 setdash} ifelse } if %ioutx=0 1 0 0 setrgbcolor %a* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 0 1 setrgbcolor %b* 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul BANxin i get icur 1 eq {-1 mul} if faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix 0 1 0 setrgbcolor %Y 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul icur 0 eq {Yxin i get} {100 Yxin i get sub} ifelse fakty mul 1200 sub %yshift i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } for %icur=0,icurm icurm 1 eq {%icurm=1 [] 0 setdash 0 0 0 setrgbcolor %C*ab 0 1 ix {/i exch def %i=0,ix wdxin i get 400 sub faktx mul AANxin i get dup mul BANxin i get dup mul add 0.0001 add sqrt faktz mul i 0 eq {moveto} if i 1 ge i ix le and {lineto} if i ix eq {stroke} if } for %i=0,ix } if %icurm=1 [ ] 0 setdash } if %ctext=1 } bind def %END proc_wd_abcY_cur2 %************************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************** /tab_Ocolors2 64 array def %8*8 /tab_Ocolors2 %BEG tab_Ocolors2 [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 14 0.0 1.0 0.0 0100 -0050 (G) (O) 17 0.8 1.0 0.0 -0100 0100 (Y) (x) 23 1.0 1.0 0.0 -0100 0100 (Y) (O) 00 1.0 0.0 0.0 -0100 0100 (R) (O) 14 1.0 0.0 1.0 -0350 -0100 (M) (O) 17 0.2 0.0 1.0 -0100 -0250 (V) (n) 23 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors2 %********************************************************** /proc_tab_Ocolors2 {%BEG proc_tab_Ocolors2 %tab_Ocolors2 64 array def %8*8 defined before 0 1 7 {/iO exch def %iO=0,7 /i0 iO 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors2 i0 get def tab_Ocolors2 i1 get tab_Ocolors2 i2 get tab_Ocolors2 i3 get setrgbcolor /AnY0 xhh*w 0 eq {iO 3 le {hAB1i k get} {hAB2i k get} ifelse} if xhh*w 1 eq {iO 3 le {h*ab1i k get} {h*ab2i k get} ifelse} if xhh*w 2 eq {iO 3 le {wd1i k get iO 1 eq {/AnY01 wd1i k get def} if} {wd2i k get iO 5 eq {205 add} if} ifelse} if def /AnY AnY0 xhh*w 2 eq {400 sub} if faktx mul def /BnY0 yYLC 0 eq {iO 3 le {Y1i} {Y2i} ifelse k get} if yYLC 1 eq {iO 3 le {L*1i} {L*2i} ifelse k get} if %3 mul with AB and ab* yYLC 2 eq {iO 3 le {A1i k get dup mul B1i k get dup mul add} {A2i k get dup mul B2i k get dup mul add} ifelse 0.0001 add sqrt } if yYLC 3 eq {iO 3 le {a*1i k get dup mul b*1i k get dup mul add} {a*2i k get dup mul b*2i k get dup mul add} ifelse 0.0001 add sqrt } if def /BnY BnY0 yYLC 1 eq {3 mul} if fakty mul yshift add def AnY BnY 90 0 360 arc fill 0 0 0 setrgbcolor iO 3 gt {[100] 100 setdash} {[ ] 0 setdash} ifelse AnY BnY 90 0 360 arc stroke [ ] 0 setdash newpath AnY 80 add BnY 50 add moveto TBIL AnY0 cvishow (, ) show BnY0 cvishow xhh*w 2 eq iO 5 eq and {AnY 80 add BnY 150 sub moveto AnY01 cvishow (c) show } if newpath } for %iO=0,7 } bind def %END proc_tab_Ocolors2 /X1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1i 99 array def /Z1i 99 array def /hxy1i 99 array def /XAN1i 99 array def /YAN1i 99 array def /ZAN1i 99 array def /A1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1i 99 array def /CAB1i 99 array def /hAB1i 99 array def /AAN1i 99 array def /BAN1i 99 array def /CAN1i 99 array def /L*1i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1i 99 array def /b*1i 99 array def /C*ab1i 99 array def /h*ab1i 99 array def /a'1i 99 array def /b'1i 99 array def /c'1i 99 array def /i11i 99 array def /i21i 99 array def /id1i 99 array def /ic1i 99 array def /w11i 99 array def /w21i 99 array def /w1c1i 99 array def /w2c1i 99 array def /wd1i 99 array def /wc1i 99 array def /wdc1i 99 array def /wcc1i 99 array def /X1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y1in 99 array def /Z1in 99 array def /hxy1in 99 array def /XAN1in 99 array def /YAN1in 99 array def /ZAN1in 99 array def /A1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B1in 99 array def /CAB1in 99 array def /hAB1in 99 array def /AAN1in 99 array def /BAN1in 99 array def /CAN1in 99 array def /L*1in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*1in 99 array def /b*1in 99 array def /C*ab1in 99 array def /h*ab1in 99 array def /a'1in 99 array def /b'1in 99 array def /c'1in 99 array def /i11in 99 array def /i21in 99 array def /id1in 99 array def /ic1in 99 array def /w11in 99 array def /w21in 99 array def /w1c1in 99 array def /w2c1in 99 array def /wd1in 99 array def /wc1in 99 array def /wdc1in 99 array def /wcc1in 99 array def /X2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2i 99 array def /Z2i 99 array def /hxy2i 99 array def /XAN2i 99 array def /YAN2i 99 array def /ZAN2i 99 array def /A2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2i 99 array def /CAB2i 99 array def /hAB2i 99 array def /AAN2i 99 array def /BAN2i 99 array def /CAN2i 99 array def /L*2i 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2i 99 array def /b*2i 99 array def /C*ab2i 99 array def /h*ab2i 99 array def /a'2i 99 array def /b'2i 99 array def /c'2i 99 array def /i12i 99 array def /i22i 99 array def /id2i 99 array def /ic2i 99 array def /w12i 99 array def /w22i 99 array def /w1c2i 99 array def /w2c2i 99 array def /wd2i 99 array def /wc2i 99 array def /wdc2i 99 array def /wcc2i 99 array def /X2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Y2in 99 array def /Z2in 99 array def /hxy2in 99 array def /XAN2in 99 array def /YAN2in 99 array def /ZAN2in 99 array def /A2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /B2in 99 array def /CAB2in 99 array def /hAB2in 99 array def /AAN2in 99 array def /BAN2in 99 array def /CAN2in 99 array def /L*2in 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*2in 99 array def /b*2in 99 array def /C*ab2in 99 array def /h*ab2in 99 array def /a'2in 99 array def /b'2in 99 array def /c'2in 99 array def /i12in 99 array def /i22in 99 array def /id2in 99 array def /ic2in 99 array def /w12in 99 array def /w22in 99 array def /w1c2in 99 array def /w2c2in 99 array def /wd2in 99 array def /wc2in 99 array def /wdc2in 99 array def /wcc2in 99 array def %actual possible data (x=1,2,3,4) /Xxi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxi 99 array def /Zxi 99 array def /hxyxi 99 array def /XANxi 99 array def /YANxi 99 array def /ZANxi 99 array def /Axi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxi 99 array def /CABxi 99 array def /hABxi 99 array def /AANxi 99 array def /BANxi 99 array def /CANxi 99 array def /L*xi 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xi 99 array def /b*xi 99 array def /C*abxi 99 array def /h*abxi 99 array def /a'xi 99 array def /b'xi 99 array def /c'xi 99 array def /i1xi 99 array def /i2xi 99 array def /idxi 99 array def /icxi 99 array def /w1xi 99 array def /w2xi 99 array def /w1cxi 99 array def /w2cxi 99 array def /wdxi 99 array def /wcxi 99 array def /wdcxi 99 array def /wccxi 99 array def /Xxin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Yxin 99 array def /Zxin 99 array def /hxyxin 99 array def /XANxin 99 array def /YANxin 99 array def /ZANxin 99 array def /Axin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /Bxin 99 array def /CABxin 99 array def /hABxin 99 array def /AANxin 99 array def /BANxin 99 array def /CANxin 99 array def /L*xin 99 array def %max 99 colours or 6 device colour + 4 elementary colours /a*xin 99 array def /b*xin 99 array def /C*abxin 99 array def /h*abxin 99 array def /a'xin 99 array def /b'xin 99 array def /c'xin 99 array def /i1xin 99 array def /i2xin 99 array def /idxin 99 array def /icxin 99 array def /w1xin 99 array def /w2xin 99 array def /w1cxin 99 array def /w2cxin 99 array def /wdxin 99 array def /wcxin 99 array def /wdcxin 99 array def /wccxin 99 array def /FARBEda 79 array def /FARBEca 79 array def /FARBEd 79 array def /FARBEc 79 array def %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintP2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colseP2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %**************************************************** %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /xcolorl xcolor def %0 1 0 {/xcolorl exch def %xcolorl=0,0 %gsave xcolorl 1 eq {0 1 79 {/i exch def %i=0,79 F2 i F10 i get put } for %i=0,79 } if /NK 0 def %normalization NK=0 (Y=100), NK=1 (Y=88,6) /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /xdel 1005 def %/ydel 393 def %/ydel 275 def /ydel 175 def /x0 050 def /x1 -150 def /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin. /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 FARBEda 00 (Cm=380_561) put FARBEca 00 (Rm=561_770) put FARBEd 00 (C) put FARBEc 00 (R) put FARBEda 13 (Gm=470_570) put FARBEca 13 (Mm=570_470) put FARBEd 13 (G) put FARBEc 13 (M) put FARBEda 23 (Ym=520_770) put FARBEca 23 (Bm=380_520) put FARBEd 23 (Y) put FARBEc 23 (B) put FARBEda 18 (Ym=495_770) put FARBEca 18 (Bm=380_495) put FARBEd 18 (Y) put FARBEc 18 (B) put /iacol 23 def /xchart14 1 def %for a=x/y (0) and a=(x-0.171)/y (1) 0 setgray 5 /Times-ISOL1 FS 175 85 moveto (DG411-2A) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale gsave /xchartx xchart def 6 1 6 {/xchartx exch def %xchartx=0,7 gsave /xchartl 0 def %xchartl=0 to 7 for 8 pictures 0 1 01 {/xchartl exch def %xchartl=0,07 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto NK 0 eq {(DG410-) show} {(DG411-) show} ifelse xchartl 1 add cvishow (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 1 1 0 setrgbcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 colrecst %frame black %calculation of XW,YW,ZW for illuminant %D65, D50, P40, A00, E00, C00, P00, Q00 %P60, P55, P50, P45, P40, P35, P30, P25 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 %calculation of XW,YW,ZW for illuminant Pxx, Dxx 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 0 1 1 {/Icom exch def %Icom=0,1 only for part 1 Icom 0 eq {/xpos 100 def /xpos1 12100 def} {%/xpos 12100 def /xpos 100 def /xpos1 100 def} ifelse %/ymax 3700 def /ymax 3820 def TBS xpos 50 sub ymax ydel 0 mul sub moveto (CIE\255) show TELi xchartx get show (\255Daten von ) showde ( data of ) showea TBIS (\255Ostwald) showde ( Ostwald) showea TBS (\255Farben von maximalem Buntwert) showde ( colours of maximum chromatic value) showea TBIS ( C) show TBL 0 -60 rmoveto (AB) show 0 60 rmoveto xpos 50 sub ymax ydel 1 mul sub moveto TBIS (Y) show TBL 0 -60 rmoveto (w) show xcolorl 1 eq {(,10) show} if 0 60 rmoveto TBS NK 0 eq {(=100) show}{(=88,6) show} ifelse TBS (, ) show FARBEda iacol get show TBS (, ) show FARBEca iacol get show /icurm 1 def %0:dominant, 1:and complimentary colours %icurm=1: 1\255minus data (icurm=1) /iout0x 1 def %coordinate system /iout1x 1 def %iout1x=1:Ostwald colours 1 with procedures _cur2 %dominant (icurm=0) and complementary (icurm=1) /iout2x 0 def %iout2x=1:Ostwald colours 2 with procedures _cur2 /iout3x 0 def %sRGB colours, iout3x=1:sRGB data icurm 1 eq {%icurm=1 TBS (, and ) showea ( und ) showde (1\255minus data ( - -)) showea (1\255Minus\255Daten ( - -)) showde } if %icurm=1 iout2x 1 eq {%iout2x=1 TBS (, 2 calculation methods) showea (, 2 Berechnungsmethoden) showde } if %iout2x=1 iout3x 1 eq {%iout3x=1 TBS (, and ) showea ( und ) showde TBIS (sRGB) show TBS ( data ( - -)) showea (\255Daten ( - -)) showde } if %iout3x=1 %********************************************************* /WEL1 120 array def %irregular or regular definition /WEL2 120 array def %irregular or regular definition %0 1 2 3 4 5 6 7 8 9 /WEL1 [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def /WEL1 [405 410 415 420 425 430 435 440 445 450 455 460 465 470 475 480 485 490 495 500 505 510 515 520 525 530 535 540 545 550 555 560 565 570 575 580 585 590 595 600 605 610 615 620 625 630 635 640 645 650 655 660 665 670 675 680 685 690 695 700 ] def 0 1 57 {/k exch def %k=0,57 %wavelength 405..700nm /j WEL1 k get 400 sub 5 idiv def /FF1 FXD j get def %start at 405..700nm /FF2 FYD j get def /FF3 FZD j get def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0 i11i k INP put i21i k IPN put } { i12i k IPN put i22i k INP put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* Icom 0 eq {%Icom=0 INP 0 ge {%INP>=0 % xpos xdel 0 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow %includes rounding failure w11i k DOWXIE1 0.03 add cvi put w1c1i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow w21i k DOWXIE2 0.03 add cvi put w2c1i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show w21i k DOWXIE1 0.03 add cvi put w2c1i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 }%Icom=0 {%Icom=1 INP 0 ge {%INP>=0 % xpos xdel 1 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 0.03 add cvishow w22i k DOWXIE1 0.03 add cvi put w2c2i k () put /DOWEL1 DOWXIE1 def /DOWEL1c () def } if %INP>=0 IPN 0 ge {%IPN>=0 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE2 0.03 add cvishow w12i k DOWXIE2 0.03 add cvi put w1c2i k () put /DOWEL2 DOWXIE2 def /DOWEL2c () def } if %IPN>=0 IPN 0 lt {%IPN=-1 % xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto % DOWXIE1 cvishow (c) show w12i k DOWXIE1 0.03 add cvi put w1c2i k (c) put /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } if %IPN=-1 } ifelse %Icom=0,1 0 0 0 setrgbcolor %********************************************************* 0 1 79 {/i exch def %i=0,79 RA i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RA i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RA i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RA i1 0.5 put RA i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /X 0 def /Y 0 def /Z 0 def 0 1 079 {/i exch def %i=0,79 /X X F2N 00 i add get RA i get mul add def /Y Y F2N 80 i add get RA i get mul add def /Z Z F2N 160 i add get RA i get mul add def } for %i=0,79 NK 1 eq {%NK=1 /faktn 0.8859 def /X X faktn mul def /Y Y faktn mul def /Z Z faktn mul def % /faktw 0.025 faktn div def %approximately 2,8% % /Xc XW X sub def %c=antichromatic % /Yc YW Y sub def % /Zc ZW Z sub def % /X X Xc faktw mul add faktn mul def % /Y Y Yc faktw mul add faktn mul def % /Z Z Zc faktw mul add faktn mul def } if %NK=1 /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def %************************************************* Icom 1 eq {%Icom=1 /X XW X sub def /Y YW Y sub def /Z ZW Z sub def /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def } if %Icom=1 /hxy YAN YANW sub XAN XANW sub 0.0001 add atan def Icom 0 eq {%Icom=0,1 X1i k X put Y1i k Y put Z1i k Z put %hxy1i k hxy put XAN1i k XAN put YAN1i k YAN put ZAN1i k ZAN put }%Icom=0 {%Icom=1 X2i k X put Y2i k Y put Z2i k Z put %hxy2i k hxy put XAN2i k XAN put YAN2i k YAN put ZAN2i k ZAN put } ifelse %Icom=0,1 xchart14 0 eq {%xchart14=0 /AAN X Y 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AAN XAN 0.171 sub YAN 0.0001 add div def } if %xchart14=1 /BAN Z Y 0.0001 add div 0.4 mul neg def /CAN AAN AANW sub dup mul BAN BANW sub dup mul add 0.0001 add sqrt def /A AAN AANW sub Y mul def /B BAN BANW sub Y mul def /CAB A dup mul B dup mul add 0.0001 add sqrt def /hAB B A 0.0001 add atan def Icom 0 eq {%Icom=0,1 Y1i k Y put A1i k A put B1i k B put CAB1i k CAB put hAB1i k hAB put AAN1i k AAN put BAN1i k BAN put CAN1i k CAN put }%Icom=0 {%Icom=1 Y2i k Y put A2i k A put B2i k B put CAB2i k CAB put hAB2i k hAB put AAN2i k AAN put BAN2i k BAN put CAN2i k CAN put } ifelse %Icom=0,1 /D13 1 3 div def /D841_108 841 108 div def /D16_116 16 116 div def /D24_116 24 116 div 3 exp def X XW div D24_116 gt {/FXXN X XW div 0.0001 add D13 exp def} {/FXXN D841_108 X XW div mul D16_116 add def} ifelse Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def} {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse Z ZW div D24_116 gt {/FZZN Z ZW div 0.0001 add D13 exp def} {/FZZN D841_108 Z YW div mul D16_116 add def} ifelse /L* 116. FYYN mul 16. sub def /a* 500. FXXN FYYN sub mul def /b* 200. FYYN FZZN sub mul def /C*ab a* dup mul b* dup mul add 0.5 exp def /h*ab b* a* 0.000001 add atan def /a' X Y 0.0001 add div D13 exp 0.2191 mul def /b' Z Y 0.0001 add div D13 exp -0.08376 mul def /c' a' dup mul b' dup mul add 0.0001 add sqrt def Icom 0 eq {%Icom=0,1 L*1i k L* put a*1i k a* put b*1i k b* put C*ab1i k C*ab put h*ab1i k h*ab put a'1i k a' put b'1i k b' put c'1i k c' put }%Icom=0 {%Icom=1 L*2i k L* put a*2i k a* put b*2i k b* put C*ab2i k C*ab put h*ab2i k h*ab put a'2i k a' put b'2i k b' put c'2i k c' put } ifelse %Icom=0,1 %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 X def /FF2 Y def /FF3 Z def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM Icom 0 eq {%Icom=0,1 id1i k INP put ic1i k IPN put }%Icom=0 {%Icom=1 id2i k INP put ic2i k IPN put } ifelse %Icom=0,1 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def } if %kNP>=0 %********************************************************* INP 0 ge {%INP>=0,-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow Icom 0 eq {%Icom=0,1 wd1i k DOWXIE1 0.03 add cvi put wdc1i k () put }%Icom=0 {%Icom=1 wd2i k DOWXIE1 0.03 add cvi put wdc2i k () put } ifelse %Icom=0,1 /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wd1i k DOWXIE2 0.03 add cvi put wdc1i k (c) put }%Icom=0 {%Icom=1 wd2i k DOWXIE2 0.03 add cvi put wdc2i k (c) put } ifelse %Icom=0,1 /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 IPN 0 ge {%IPN>=0,-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE2 0.03 add cvishow Icom 0 eq {%Icom=0,1 wc1i k DOWXIE2 0.03 add cvi put wcc1i k () put }%Icom=0 {%Icom=1 wc2i k DOWXIE2 0.03 add cvi put wcc2i k () put } ifelse %Icom=0,1 /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto % DOWXIE1 0.03 add cvishow (c) show Icom 0 eq {%Icom=0,1 wc1i k DOWXIE1 0.03 add cvi put wcc1i k (c) put }%Icom=0 {%Icom=1 wc2i k DOWXIE1 0.03 add cvi put wcc2i k (c) put } ifelse %Icom=0,1 /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 0 0 0 setrgbcolor } for %k=0,57 } for %Icom=0,1 only for part 1 %************************************************************* /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvishowb {cvi 6 string cvs show ( ) show} def /cvsshow1b {10 mul cvi 0.1 mul 7 string cvs show ( ) show} def /cvsshow2b {100 mul cvi 0.01 mul 7 string cvs show ( ) show} def /cvsshow3b {1000 mul cvi 0.001 mul 7 string cvs show ( ) show} def /cvishowr {0.5 add cvi 6 string cvs show} def /cvsshow1r {0.05 add 10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2r {0.005 add 100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3r {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show} def /cvi100 {100 mul cvi /xi exch def xi 0 lt {/vorz -1 def} {/vorz 1 def} ifelse /xia xi abs def vorz -1 eq {(\255) show} {(0) show} ifelse xia 0 ge xia 9 le {(0000) show} if xia 10 ge xia 99 le and {(000) show} if xia 100 ge xia 999 le and {(00) show} if xia 1000 ge xia 9999 le and {(0) show} if xia cvishow } bind def /cvi1000 {1000 mul cvi /xi exch def xi 0 ge xi 9 le {(000) show} if xi 10 ge xi 99 le and {(00) show} if xi 100 ge xi 999 le and {(0) show} if xi cvishow } bind def /ymax 16600 def /idy 206 def /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def xchart14 0 eq {%xchart14=0 /AANW XW YW 0.0001 add div def } if %xchart14=0 xchart14 1 eq {%xchart14=1 /AANW XANW 0.171 sub YANW 0.0001 add div def } if %xchart14=1 /BANW ZW YW 0.0001 add div 0.4 mul neg def 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 /ix0 100 def /ix1 ix0 1400 add def /ixd 600 def /iymax 16550 def /idy 206 def /xtext 0 def xtext 1 eq {%itext=1 TBIK ix0 iymax idy add 50 add moveto (rgb) show TBS 0 -90 rmoveto (i) show 0 90 rmoveto TBK ix1 ixd 0 mul add 150 add iymax idy add 50 add moveto TBK (i) show ix1 ixd 1 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 1 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z, x, y) show TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 6 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 6 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBIK (, a', b', c') show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 14 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 14 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBIK (, a, b, c) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 22 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 22 mul add iymax idy add 50 add moveto TBK ([) show TBIK (i) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TBIK (i) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 26 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 26 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z) show TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 29 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 29 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 34 mul add 030 sub 0 moveto 0 17000 rlineto stroke ix1 ixd 34 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK } if %itext=1 %STOP %************************************************************* /imshow {0 -50 rmoveto TBL (m) show 0 50 rmoveto TBIS} def /ioshow {0 -50 rmoveto TBL (o) show 0 50 rmoveto TBIS} def /idshow {0 -50 rmoveto TBL (d) show 0 50 rmoveto TBIS} def /ieshow {0 -50 rmoveto TBL (e) show 0 50 rmoveto TBIS} def %************************************************************* %xchartl=0-0 %STOP0-0 %BEG X,Y,Z = f(hAB) xchartl 0 eq {%xchartl=0 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [( 0) ( 20) ( 40) ( 60) ( 80) (100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1800 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwerte) showde (CIE tristimulus values) showea TBIS 1 0 0 setrgbcolor ( X) show 0 setgray (,) show 0 1 0 setrgbcolor ( Y) show 0 setgray (,) show 0 0 1 setrgbcolor ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP0-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 0 def /yYLC 0 def proc_tab_Ocolors2 } if %stext=1 380 neg 280 0000 add neg translate %shift of cero point by 1000, no shift } if %iout1x=1 } if %xchartl=0 %END X,Y,Z = f(hAB) %STOP0-4 %************************************************************* %xchartl=1-0 %STOP1-0 %BEG A,B,CAB = f(hAB) xchartl 1 eq {%xchartl=1 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show TBS ( und) showde (, and) showea TBS ( Buntwerte) showde ( chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (, ) show TBIS (C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP1-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=1 %END A,B,CAB = f(hAB) %STOP1-4 %************************************************************* %xchartl=2-0 %STOP2-0 %BEG L*,a*,b*,C*ab = f(hAB) xchartl 2 eq {%xchartl=2 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 220 sub iytt moveto TBIS (h) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP2-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %/faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_hAB_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_hAB_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 0 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=2 %END L*,a*,b*,C*ab = f(hAB) %STOP2-4 %************************************************************* %xchartl=3-0 %STOP3-0 %BEG L*,a*,b*,C*ab = f(h*ab) xchartl 3 eq {%xchartl=3 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 400 12 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 400 12 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700) (400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1200 mul add} def /ixl { 000 i 1200 mul add} def % ixt -250 moveto txl i get exec show ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 200 sub iytt moveto TBIS (h*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto %SL (l) show %0 -30 rmoveto TL (d) show 0 30 rmoveto TS %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyte {-100 i 0600 mul add} def /iytY { 100 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyte moveto tye i get show 0 1 0 setrgbcolor -350 iytY moveto tyY i get show 0 setgray -75 iyl moveto 150 0 rlineto stroke } for /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (CIELAB\255Helligkeit) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show 0 setgray TBS (,) show 0 0 1 setrgbcolor TBIS ( b*) show 0 setgray TBS (, ) show TBIS (C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************************* %STOP3-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 0 def %positiv data order /hw 0 def %hue angle scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours /faktx 40 3 div def %scale hue angle %faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_h*ab_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_h*ab_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_h*ab_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 1 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=3 %END L*,a*,b*,C*ab = f(h*ab) %STOP3-4 %************************************************************* %xchartl=4-0 %STOP4-0 %BEG X,Y,Z = f(wd) xchartl 4 eq {%xchartl=4 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1500 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( 0)( 20)( 40) ( 60) ( 80)(100)] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke % ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyY i get show -75 iyl moveto 150 0 rlineto stroke } for %no axis right /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (Normfarbwerte) showde (CIE tristimulus values) showea 1 0 0 setrgbcolor TBIS ( X) show TBS 0 setgray (,) show 0 1 0 setrgbcolor TBIS ( Y) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( Z) show 0 setgray ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %***************************************************** %STOP4-1 iout1x 1 eq {%iout1x=1 380 280 0000 add translate %shift of cero point by 0000: no shift /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 proc_ALLi_def } if %dtext=1 /yshift 0000 def proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift 0000 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 0 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_XYZ_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift 0000 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=4 %END X,Y,Z = f(wd) %STOP4-4 %************************************************************* %xchartl=5-0 %STOP5-0 %BEG A,B,CAB = f(wd) xchartl 5 eq {%xchartl=5 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyA [(-40) (-20) ( 0) ( 20) ( 40) ( 60)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tyA i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -320 3000 120 add moveto (A) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (B) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-60 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 300 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (tristimulus value) showea (Normfarbwert) showde 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Buntwerte) showde (, and chromatic values) showea 1 0 0 setrgbcolor TBIS ( A) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( B) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( C) show 0 -30 rmoveto TBL xchart14 0 eq {(AB0)}{(AB1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %************************************************* %STOP5-1 380 280 1200 add translate %shift of cero point by 1200 iout1x 1 eq {%iout1x=1 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_ABCY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=5 %END A,B,CAB = f(wd) %STOP5-4 %************************************************************* %xchartl=6-0 %STOP6-0 %BEG L*,a*,b*,C*ab = f(wd) xchartl 6 eq {%xchartl=6 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tya* [(-120) (-60) ( 0) ( 60) (120) (180)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tya* i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a*) show 10 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b*) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 250 sub 3000 250 add moveto (L*) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS 0 setgray (CIELAB\255Helligkeiten) showde (CIELAB lightness) showea 0 1 0 setrgbcolor TBIS ( L*) show 0 setgray TBS ( und Buntheiten) showde (, and chroma) showea 1 0 0 setrgbcolor TBIS ( a*) show TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b*) show TBS 0 setgray (,) show TBIS ( C*) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%NK=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %NK=0,1 380 neg 280 neg translate } if %iout0x=1 %****************************************************** %STOP6-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength %/fakty 90 3 div def %scale XYZ, ABC /fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %not used dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_hABw_LabC*_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 1 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=6 %END L*,a*,b*,C*ab = f(wd) %STOP6-4 %************************************************************* %xchartl=7-0 %STOP7-0 %BEG Y/100, a, b, cab = f(wd) xchartl 7 eq {%xchartl=7 iout0x 1 eq {%iout0x=1 380 280 translate 30 setlinewidth 0 setgray 0 0 moveto 1200 3.72 mul 100 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke %icurm 1 eq {%icurm=1 [100] 100 setdash 0 1200 moveto 400 12 mul 300 add 0 rlineto stroke %cero line [ ] 0 setdash % } if %icurm=1 1200 3.72 mul 150 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /txl [ (400) (500) (600) (700;495c) (567c;400)] def /txw [ ( 0) ( 90) (180) (270) (360)] def /txc [() () () (494c,E) (561c,E)] def /tye [(-10) ( -5) ( 0) ( 5) ( 10) ( 15)] def /tyY [( ) ( 20) ( 40) ( 60) ( 80) (100) ] def %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 2 le {i} if i 3 eq {3 0.10 sub} if i 4 eq {3.72 0.15 sub} if 1200 mul add} def /ixl { 000 i 4 lt {i}{3.72} ifelse 1200 mul add} def ixt -250 moveto txl i get exec show % ixt -250 moveto txw i get exec show % ixt 200 sub 100 moveto txc i get show ixl 75 moveto 0 -150 rlineto stroke ixl 75 1200 add moveto 0 -150 rlineto stroke } for /ixtt 4 1200 mul def /iytt 150 def ixtt 150 sub iytt 200 sub moveto %TBIS (h) show 0 -30 rmoveto TBL (ab) show 0 30 rmoveto SS (l) show 0 -30 rmoveto TBL (d) show 0 30 rmoveto TS %!y-Achse (left): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -350 iyt moveto tye i get show -75 iyl moveto 150 0 rlineto stroke } for TBIS %coordinate name left 1 0 0 setrgbcolor -340 3000 120 add moveto (a) show 20 0 rmoveto %0 setgray (, ) show 0 0 1 setrgbcolor (b) show %!y-Achse (right): 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 0 setrgbcolor 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def 1200 4.07 mul -350 add iyt moveto tyY i get show 1200 4.07 mul -75 add iyl moveto 150 0 rlineto stroke } for TBIS 1200 4.07 mul 200 sub 3000 250 add moveto (Y) show %special (right) 1200 4.07 mul 0 moveto 0 3000 250 add rlineto stroke 1200 4.07 mul 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill 0 setgray /ixtt 0 def /iytt 5.3 600 mul def ixtt 150 add iytt 80 sub moveto TBS (Normfarbwert) showde (tristimulus value) showea 0 1 0 setrgbcolor TBIS ( Y) show 0 setgray TBS ( und Farbarten) showde (, and chromaticities) showea 1 0 0 setrgbcolor TBIS ( a) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show 0 0 1 setrgbcolor TBIS ( b) show 0 -30 rmoveto TBL xchart14 0 eq {(0)}{(1)} ifelse show 0 30 rmoveto TBS 0 setgray (,) show TBIS ( c) show 0 -30 rmoveto TBL xchart14 0 eq {(ab0)}{(ab1)} ifelse show 0 30 rmoveto TBS ixtt 150 add iytt 80 sub ydel sub moveto TBS (im Bereich) showde (in the range) showea TBIS ( Y) show TBS NK 0 eq {%NK=0,1 (=0 bis 100) showde (=0 to 100) showea }%K=0 {%K=1 (=0,0 bis 88,6) showde (=0,0 to 88,6) showea } ifelse %K=0,1 380 neg 280 neg translate } if %iout0x=1 %******************************************************** %STOP7-1 iout1x 1 eq {%iout1x=1 380 280 1200 add translate %shift of cero point by 1200 /imin 0 def /ij 57 def /i0 58 def /ix 59 def TLL /kx 1 def /xpn 1 def %negativ data order /hw 1 def %wavelength scale /dtext 1 def %d=definition /htext 0 def %h=hue /ttext 0 def %t=table /ctext 1 def %c=curve /stext 1 def %s=sample colours %/faktx 40 3 div def %scale hue angle /faktx 36 3 div def %scale wavelength /fakty 90 3 div def %scale XYZ, ABC, Y, L* %/fakty 30 3 div def %scale Lab* /faktz 90 3 div 4 mul def %used for a,b,c dtext 1 eq {%dtext=1 /yshift -1200 def proc_ALLi_def } if %dtext=1 proc_iwd_min %allways with imin if htext=1 proc_ALLi_ALLin %allways ttext 1 eq {%ttext=1 /yshift -1200 def proc_iwd_tab } if %ttext=1 1 1 0 setrgbcolor 0 setlinewidth 0 -1200 moveto 400 12 mul 200 add 0 rlineto 0 3250 rlineto 400 12 mul 200 add neg 0 rlineto closepath clip 30 setlinewidth ctext 1 eq {%ctext=1 /yshift 0000 def proc_wd_abcY_cur2 } if %ctext=1 stext 1 eq {%stext=1 /yshift -1200 def /xhh*w 2 def /yYLC 0 def %proc_hh*w_YLC_samCGY proc_tab_Ocolors2 } if %stext=1 } if %iout1x=1 } if %xchartl=7 %END a,b,c,Y = f(fw) %STOP7-4 %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer %%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 08 MM sub 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 http://farbe.li.tu-berlin.de/DG41/DG411-1A_1N 20180221 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark11 where {pop} {userdict /pdfmark11 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark11 [ /View [ /Fit ] /DOCVIEW pdfmark11 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SV {160 /Symbol FS} bind def /CV {160 /Courier-ISOL1 FS} bind def /CS {200 /Courier-ISOL1 FS} bind def /CK {240 /Courier-ISOL1 FS} bind def /CM {280 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBV {160 /CourierB-ISOL1 FS} bind def /CBS {200 /CourierB-ISOL1 FS} bind def /CBK {240 /CourierB-ISOL1 FS} bind def /CBM {280 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /ns {350 /Times-ISOL1 FS show} bind def /ks {350 /TimesI-ISOL1 FS show} bind def /bs {350 /TimesB-ISOL1 FS show} bind def /js {350 /TimesBI-ISOL1 FS show} bind def /sy {350 /Symbol FS show} bind def /is {280 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /es {280 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ib {280 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eb {280 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ip {280 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /ns2 {280 /Times-ISOL1 FS show TM} bind def /ks2 {280 /TimesI-ISOL1 FS show TM} bind def /bs2 {280 /TimesB-ISOL1 FS show TM} bind def /js2 {280 /TimesBI-ISOL1 FS show TM} bind def /sy2 {280 /Symbol FS show TM} bind def /is2 {240 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {240 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {240 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {240 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {240 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def /iy2 {240 /Symbol FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def %40% kleiner /ns4 {240 /Times-ISOL1 FS show TK} bind def /ks4 {240 /TimesI-ISOL1 FS show TK} bind def /bs4 {240 /TimesB-ISOL1 FS show TK} bind def /js4 {240 /TimesBI-ISOL1 FS show TK} bind def /ss4 {240 /Symbol FS show TK} bind def /is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def /iy4 {200 /Symbol FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def %60% kleiner /ns6 {200 /Times-ISOL1 FS show TS} bind def /ks6 {200 /TimesI-ISOL1 FS show TS} bind def /bs6 {200 /TimesB-ISOL1 FS show TS} bind def /js6 {200 /TimesBI-ISOL1 FS show TS} bind def /ss6 {200 /Symbol FS show TS} bind def /is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /es6 {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eb6 {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def /iy6 {160 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /cvicvs {cvi 6 string cvs} def /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.1234/99.0123/99.0010/99.0001 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10000 mul cvi /nxi exch def %nxi=991234/990123/990010/990000 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=1234/0123/0010/0001 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=1234/0123/0010/0001 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def /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 %************************************************* /proc_CIE_LMS0 {%BEG proc_CIE_LMS0 %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %Combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F02i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F10i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /FF02i 320 array def %80x4 CIE_F02 fundamental observer /FF10i 320 array def %80x4 CIE_F10 fundamental observer /FAi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /XZAi 17 array def /YZAi 17 array def /ZZAi 17 array def /XANZAi 17 array def /YANZAi 17 array def /ZANZAi 17 array def /FXAi 80 array def %unnormiert /FYAi 80 array def /FZAi 80 array def /FXNi 80 array def %Y-normiert /FYNi 80 array def /FZNi 80 array def /FXMi 80 array def %XYZ-normiert /FYMi 80 array def /FZMi 80 array def %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F02i CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 %400nm: 0.0143 0.0003 0.0678 /F02i %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 %X:380_775 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 %700:0.0113 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 %Y:380_775 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 %700: 0.0041 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 %Z:380-775 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10i %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /FF02i [%BEG FF02i Colour matching functions 5nm 02-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 3.769647E-03 4.146161E-04 1.847260E-02 %=390 385 3.769647E-03 4.146161E-04 1.847260E-02 %=390 390 3.769647E-03 4.146161E-04 1.847260E-02 395 9.382967E-03 1.059646E-03 4.609784E-02 400 2.214302E-02 2.452194E-03 1.096090E-01 405 4.742986E-02 4.971717E-03 2.369246E-01 410 8.953803E-02 9.079860E-03 4.508369E-01 415 1.446214E-01 1.429377E-02 7.378822E-01 420 2.035729E-01 2.027369E-02 1.051821E+00 425 2.488523E-01 2.612106E-02 1.305008E+00 430 2.918246E-01 3.319038E-02 1.552826E+00 435 3.227087E-01 4.157940E-02 1.748280E+00 440 3.482554E-01 5.033657E-02 1.917479E+00 445 3.418483E-01 5.743393E-02 1.918437E+00 450 3.224637E-01 6.472352E-02 1.848545E+00 455 2.826646E-01 7.238339E-02 1.664439E+00 460 2.485254E-01 8.514816E-02 1.522157E+00 465 2.219781E-01 1.060145E-01 1.428440E+00 470 1.806905E-01 1.298957E-01 1.250610E+00 475 1.291920E-01 1.535066E-01 9.991789E-01 480 8.182895E-02 1.788048E-01 7.552379E-01 485 4.600865E-02 2.064828E-01 5.617313E-01 490 2.083981E-02 2.379160E-01 4.099313E-01 495 7.097731E-03 2.850680E-01 3.105939E-01 500 2.461588E-03 3.483536E-01 2.376753E-01 505 3.649178E-03 4.277595E-01 1.720018E-01 510 1.556989E-02 5.204972E-01 1.176796E-01 515 4.315171E-02 6.206256E-01 8.283548E-02 520 7.962917E-02 7.180890E-01 5.650407E-02 525 1.268468E-01 7.946448E-01 3.751912E-02 530 1.818026E-01 8.575799E-01 2.438164E-02 535 2.405015E-01 9.071347E-01 1.566174E-02 540 3.098117E-01 9.544675E-01 9.846470E-03 545 3.804244E-01 9.814106E-01 6.131421E-03 550 4.494206E-01 9.890228E-01 3.790291E-03 555 5.280233E-01 9.994608E-01 2.327186E-03 560 6.133784E-01 9.967737E-01 1.432128E-03 565 7.016774E-01 9.902549E-01 8.822531E-04 570 7.967750E-01 9.732611E-01 5.452416E-04 575 8.853376E-01 9.424569E-01 3.386739E-04 580 9.638388E-01 8.963613E-01 2.117772E-04 585 1.051011E+00 8.587203E-01 1.335031E-04 590 1.109767E+00 8.115868E-01 8.494468E-05 595 1.143620E+00 7.544785E-01 5.460706E-05 600 1.151033E+00 6.918553E-01 3.549661E-05 605 1.134757E+00 6.270066E-01 2.334738E-05 610 1.083928E+00 5.583746E-01 1.554631E-05 615 1.007344E+00 4.895950E-01 1.048387E-05 620 9.142877E-01 4.229897E-01 0.000000E+00 625 8.135565E-01 3.609245E-01 0.000000E+00 630 6.924717E-01 2.980865E-01 0.000000E+00 635 5.755410E-01 2.416902E-01 0.000000E+00 640 4.731224E-01 1.943124E-01 0.000000E+00 645 3.844986E-01 1.547397E-01 0.000000E+00 650 2.997374E-01 1.193120E-01 0.000000E+00 655 2.277792E-01 8.979594E-02 0.000000E+00 660 1.707914E-01 6.671045E-02 0.000000E+00 665 1.263808E-01 4.899699E-02 0.000000E+00 670 9.224597E-02 3.559982E-02 0.000000E+00 675 6.639960E-02 2.554223E-02 0.000000E+00 680 4.710606E-02 1.807939E-02 0.000000E+00 685 3.292138E-02 1.261573E-02 0.000000E+00 690 2.262306E-02 8.661284E-03 0.000000E+00 695 1.575417E-02 6.027677E-03 0.000000E+00 700 1.096778E-02 4.195941E-03 0.000000E+00 705 7.608750E-03 2.910864E-03 0.000000E+00 710 5.214608E-03 1.995557E-03 0.000000E+00 715 3.569452E-03 1.367022E-03 0.000000E+00 720 2.464821E-03 9.447269E-04 0.000000E+00 725 1.703876E-03 6.537050E-04 0.000000E+00 730 1.186238E-03 4.555970E-04 0.000000E+00 735 8.269535E-04 3.179738E-04 0.000000E+00 740 5.758303E-04 2.217445E-04 0.000000E+00 745 4.058303E-04 1.565566E-04 0.000000E+00 750 2.856577E-04 1.103928E-04 0.000000E+00 755 2.021853E-04 7.827442E-05 0.000000E+00 760 1.438270E-04 5.578862E-05 0.000000E+00 765 1.024685E-04 3.981884E-05 0.000000E+00 770 7.347551E-05 2.860175E-05 0.000000E+00 775 5.259870E-05 2.051259E-05 0.000000E+00 %780 3.806114E-05 1.487243E-05 0.000000E+00 %785 2.758222E-05 1.080001E-05 0.000000E+00 %790 2.004122E-05 7.863920E-06 0.000000E+00 %795 1.458792E-05 5.736935E-06 0.000000E+00 %800 1.068141E-05 4.211597E-06 0.000000E+00 %805 7.857521E-06 3.106561E-06 0.000000E+00 %810 5.768284E-06 2.286786E-06 0.000000E+00 %815 4.259166E-06 1.693147E-06 0.000000E+00 %820 3.167765E-06 1.262556E-06 0.000000E+00 %825 2.358723E-06 9.422514E-07 0.000000E+00 %830 1.762465E-06 7.053860E-07 0.000000E+00 ] def %END CIEF_XYZ_02 Colour matching functions 5nm 02-degree /FF10i [%BEG CIEF_XYZ_10 Colour matching functions 5nm 10-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 2.952420E-03 4.076779E-04 1.318752E-02 %=390 385 2.952420E-03 4.076779E-04 1.318752E-02 %=390 390 2.952420E-03 4.076779E-04 1.318752E-02 395 7.641137E-03 1.078166E-03 3.424588E-02 400 1.879338E-02 2.589775E-03 8.508254E-02 405 4.204986E-02 5.474207E-03 1.927065E-01 410 8.277331E-02 1.041303E-02 3.832822E-01 415 1.395127E-01 1.712968E-02 6.568187E-01 420 2.077647E-01 2.576133E-02 9.933444E-01 425 2.688989E-01 3.529554E-02 1.308674E+00 430 3.281798E-01 4.698226E-02 1.624940E+00 435 3.693084E-01 6.047429E-02 1.867751E+00 440 4.026189E-01 7.468288E-02 2.075946E+00 445 4.042529E-01 8.820537E-02 2.132574E+00 450 3.932139E-01 1.039030E-01 2.128264E+00 455 3.482214E-01 1.195389E-01 1.946651E+00 460 3.013112E-01 1.414586E-01 1.768440E+00 465 2.534221E-01 1.701373E-01 1.582342E+00 470 1.914176E-01 1.999859E-01 1.310576E+00 475 1.283167E-01 2.312426E-01 1.010952E+00 480 7.593120E-02 2.682271E-01 7.516389E-01 485 3.836770E-02 3.109438E-01 5.549619E-01 490 1.400745E-02 3.554018E-01 3.978114E-01 495 3.446810E-03 4.148227E-01 2.905816E-01 500 5.652072E-03 4.780482E-01 2.078158E-01 505 1.561956E-02 5.491344E-01 1.394643E-01 510 3.778185E-02 6.248296E-01 8.852389E-02 515 7.538941E-02 7.012292E-01 5.824484E-02 520 1.201511E-01 7.788199E-01 3.784916E-02 525 1.756832E-01 8.376358E-01 2.431375E-02 530 2.380254E-01 8.829552E-01 1.539505E-02 535 3.046991E-01 9.233858E-01 9.753000E-03 540 3.841856E-01 9.665325E-01 6.083223E-03 545 4.633109E-01 9.886887E-01 3.769336E-03 550 5.374170E-01 9.907500E-01 2.323578E-03 555 6.230892E-01 9.997775E-01 1.426627E-03 560 7.123849E-01 9.944304E-01 8.779264E-04 565 8.016277E-01 9.848127E-01 5.408385E-04 570 8.933408E-01 9.640545E-01 3.342429E-04 575 9.721304E-01 9.286495E-01 2.076129E-04 580 1.034327E+00 8.775360E-01 1.298230E-04 585 1.106886E+00 8.370838E-01 8.183954E-05 590 1.147304E+00 7.869950E-01 5.207245E-05 595 1.160477E+00 7.272309E-01 3.347499E-05 600 1.148163E+00 6.629035E-01 2.175998E-05 605 1.113846E+00 5.970375E-01 1.431231E-05 610 1.048485E+00 5.282296E-01 9.530130E-06 615 9.617111E-01 4.601308E-01 6.426776E-06 620 8.629581E-01 3.950755E-01 0.000000E+00 625 7.603498E-01 3.351794E-01 0.000000E+00 630 6.413984E-01 2.751807E-01 0.000000E+00 635 5.290979E-01 2.219564E-01 0.000000E+00 640 4.323126E-01 1.776882E-01 0.000000E+00 645 3.496358E-01 1.410203E-01 0.000000E+00 650 2.714900E-01 1.083996E-01 0.000000E+00 655 2.056507E-01 8.137687E-02 0.000000E+00 660 1.538163E-01 6.033976E-02 0.000000E+00 665 1.136072E-01 4.425383E-02 0.000000E+00 670 8.281010E-02 3.211852E-02 0.000000E+00 675 5.954815E-02 2.302574E-02 0.000000E+00 680 4.221473E-02 1.628841E-02 0.000000E+00 685 2.948752E-02 1.136106E-02 0.000000E+00 690 2.025590E-02 7.797457E-03 0.000000E+00 695 1.410230E-02 5.425391E-03 0.000000E+00 700 9.816228E-03 3.776140E-03 0.000000E+00 705 6.809147E-03 2.619372E-03 0.000000E+00 710 4.666298E-03 1.795595E-03 0.000000E+00 715 3.194041E-03 1.229980E-03 0.000000E+00 720 2.205568E-03 8.499903E-04 0.000000E+00 725 1.524672E-03 5.881375E-04 0.000000E+00 730 1.061495E-03 4.098928E-04 0.000000E+00 735 7.400120E-04 2.860718E-04 0.000000E+00 740 5.153113E-04 1.994949E-04 0.000000E+00 745 3.631969E-04 1.408466E-04 0.000000E+00 750 2.556624E-04 9.931439E-05 0.000000E+00 755 1.809649E-04 7.041878E-05 0.000000E+00 760 1.287394E-04 5.018934E-05 0.000000E+00 765 9.172477E-05 3.582218E-05 0.000000E+00 770 6.577532E-05 2.573083E-05 0.000000E+00 775 4.708916E-05 1.845353E-05 0.000000E+00 %780 3.407653E-05 1.337946E-05 0.000000E+00 %785 2.469630E-05 9.715798E-06 0.000000E+00 %790 1.794555E-05 7.074424E-06 0.000000E+00 %795 1.306345E-05 5.160948E-06 0.000000E+00 %800 9.565993E-06 3.788729E-06 0.000000E+00 %805 7.037621E-06 2.794625E-06 0.000000E+00 %810 5.166853E-06 2.057152E-06 0.000000E+00 %815 3.815429E-06 1.523114E-06 0.000000E+00 %820 2.837980E-06 1.135758E-06 0.000000E+00 %825 2.113325E-06 8.476168E-07 0.000000E+00 %830 1.579199E-06 6.345380E-07 0.000000E+00 ] def %END CIEF_XYZ_10 Colour matching functions 5nm 10-degree xchart13 0 eq {%xchart13=0 %02 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F02i i get put } for %i=0,1,239 } if %xchart13=0 xchart13 1 eq {%xchart13=1 %10 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F10i i get put } for %i=0,1,239 } if %xchart13=1 xchart13 2 eq {%xchart13=2 %02 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF02i i4 1 add get put FAi 80 i add FF02i i4 2 add get put FAi 160 i add FF02i i4 3 add get put } for %i=0,1,79 } if %xchart13=2 xchart13 3 eq {%xchart13=3 %10 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF10i i4 1 add get put FAi 80 i add FF10i i4 2 add get put FAi 160 i add FF10i i4 3 add get put } for %i=0,1,79 } if %xchart13=3 xchart13 4 ge {%xchart13>=4 /CY 0.35 def /CY2 1.00 def /CX 50 def /W0 570 def /W1 540 def /W2 440 def %new /ILT 0 def ILT 0 eq {/tsa 0.000 def} if ILT 1 eq {/tsa 0.010 def} if %actual 2 or 10-degree CIE standard observer E, 80 data, 380-775nm, delta=5nm /lE1j 80 array def /mE1j 80 array def /sE1j 80 array def /lESj 80 array def /mESj 80 array def /sESj 80 array def /XE1j 80 array def /YE1j 80 array def /ZE1j 80 array def /xanE1j 80 array def /yanE1j 80 array def /zanE1j 80 array def /XESj 80 array def /YESj 80 array def /ZESj 80 array def /xanESj 80 array def /yanESj 80 array def /zanESj 80 array def /Xmi 88 array def /Ymi 88 array def /Ymi0 88 array def /Ymi1 88 array def /Ymi2 88 array def /Ymi3 88 array def /sASjk 80 array def 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put Xmi i get W2 le {/YEXP Xmi i get W2 sub CX div dup mul CY2 mul neg def} {/YEXP 0.0001 def} ifelse /EYEXP 10 YEXP exp 0.0001 add def sASjk i EYEXP put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put %s later with media absortion correction /YEXP Xmi i get W2 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi2 i EYEXP put %l later with 2% linear blue cone attribute /YEXP Xmi i get W0 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi0 i EYEXP put %m symmetric with no change /YEXP Xmi i get W1 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi1 i EYEXP put %y linear 0.5 l + 0.5 m Ymi3 i Ymi0 i get Ymi1 i get add 0.5 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 %s with media absortion correction sESj i Ymi2 i get sASjk i get mul put %l with 2% linear s cone attribute lESj i Ymi0 i get sESj i get 0.02 mul add put %m symmetric with no change mESj i Ymi1 i get put } for %i=0,1,79 %Normalisation of LMS to 100 /fslES 0 def /fsmES 0 def /fssES 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumLMS /fslES fslES lESj i get add def /fsmES fsmES mESj i get add def /fssES fssES sESj i get add def } for %i=0,79 %0 1 79 {/i exch def %i=0,1,79 %no normalisation LMS, multiply with 100 for E00 % lESj i lESj i get put % mESj i mESj i get put % sESj i sESj i get put % } for %i=0,1,79 %0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 % lESj i lESj i get 100 mul put % mESj i mESj i get fsmES 0.0001 add div 100 mul put % sESj i sESj i get 100 mul put % } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 lESj i lESj i get fslES 0.0001 add div 21.18 mul put mESj i mESj i get fsmES 0.0001 add div 21.18 mul put sESj i sESj i get fssES 0.0001 add div 21.18 mul put } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 /A11 1.3200 def %LMS -> x /A12 -0.6600 def /A13 0.3400 def /A21 0.5000 def %LMS -> y /A22 0.5000 def /A23 0.0000 def /A31 0.0000 def %LMS -> z /A32 0.0000 def /A33 1.0000 def 0 1 79 {/i exch def %i=0,1,79 FAi i 000 add lESj i get A11 mul mESj i get A12 mul add sESj i get A13 mul add put FAi i 080 add lESj i get A21 mul mESj i get A22 mul add sESj i get A23 mul add put FAi i 160 add lESj i get A31 mul mESj i get A32 mul add sESj i get A33 mul add put } for %i=0,1,79 } if %xchart13>=4 %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOWi 82 array def /DOWZi 17 array def /F02Zi 51 array def /F10Zi 51 array def /FF02Zi 51 array def /FF10Zi 51 array def /LMS0Zi 51 array def /LMS1Zi 51 array def /FAZi 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOWi i 380 i 5 mul add put } for %i=0,79 /DOWZi %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def %'cl80'CIE_Z_CL80_85.TXT 180326 %CIE_02 CL800-7R.PDF /.PS and MACPS2PDF /F02Zi [%CIE_02 3x17 data 700 ... 400 0.0113 0.0114 0.0115 0.0116 0.0117 0.0118 0.0118 0.0119 0.0119 0.0119 0.0120 0.0121 0.0121 0.0123 0.0125 0.0129 0.0143 0.0041 0.0040 0.0038 0.0036 0.0035 0.0035 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0030 0.0028 0.0026 0.0020 0.0003 0.0000 0.0011 0.0051 0.0074 0.0093 0.0106 0.0117 0.0125 0.0134 0.0145 0.0155 0.0170 0.0191 0.0220 0.0272 0.0377 0.0678] def %CIE_10 CL810-7R.PDF /.PS and MACPS2PDF /F10Zi [%CIE_10 3x17 data 700 ... 400 0.0100 0.0105 0.0107 0.0109 0.0110 0.0111 0.0112 0.0113 0.0114 0.0116 0.0118 0.0120 0.0124 0.0130 0.0145 0.0191 0.0191 0.0037 0.0036 0.0035 0.0035 0.0035 0.0034 0.0034 0.0034 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0028 0.0020 0.0020 0.0000 0.0052 0.0074 0.0088 0.0101 0.0110 0.0120 0.0130 0.0140 0.0153 0.0170 0.0194 0.0229 0.0289 0.0425 0.0859 0.0860] def %CIE_F02 CL820-7R.PDF /.PS and MACPS2PDF /FF02Zi [%CIE_F02 3x17 data 700 ... 400 0.0109 0.0113 0.0116 0.0118 0.0120 0.0121 0.0122 0.0123 0.0124 0.0125 0.0126 0.0128 0.0130 0.0134 0.0140 0.0155 0.0221 0.0041 0.0041 0.0040 0.0040 0.0040 0.0040 0.0039 0.0039 0.0039 0.0039 0.0039 0.0039 0.0038 0.0038 0.0037 0.0034 0.0024 0.0000 0.0035 0.0065 0.0088 0.0103 0.0116 0.0125 0.0133 0.0144 0.0155 0.0168 0.0185 0.0206 0.0242 0.0307 0.0448 0.1096] def %CIE_F10 CL830-7R.PDF /.PS and MACPS2PDF /FF10Zi [%CIE_F10 3x17 data 700 ... 400 0.0098 0.0104 0.0106 0.0107 0.0108 0.0109 0.0110 0.0111 0.0112 0.0114 0.0115 0.0118 0.0121 0.0128 0.0142 0.0187 0.0187 0.0037 0.0036 0.0036 0.0036 0.0036 0.0036 0.0036 0.0035 0.0035 0.0035 0.0035 0.0035 0.0034 0.0033 0.0031 0.0025 0.0025 0.0000 0.0057 0.0077 0.0090 0.0102 0.0112 0.0120 0.0128 0.0140 0.0152 0.0168 0.0191 0.0225 0.0283 0.0422 0.0849 0.0850] def %LMS_0.00 CL840-7R.PDF /.PS and MACPS2PDF /LMS0Zi [%LMS_17M3 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def %LMS_0.01 CL850-7R.PDF /.PS and MACPS2PDF identical CL840-7R.PDF /LMS1Zi [%LMS_17M4 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def 0 1 50 {/i exch def %i=0,50 xchart13 0 eq {FAZi i F02Zi i get put} if xchart13 1 eq {FAZi i F10Zi i get put} if xchart13 2 eq {FAZi i FF02Zi i get put} if xchart13 3 eq {FAZi i FF10Zi i get put} if xchart13 4 eq {FAZi i LMS0Zi i get put} if xchart13 5 eq {FAZi i LMS1Zi i get put} if } for %i=0,50 /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /Xi 82 array def /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /AAN1i 200 array def %actual data for plot, Munsell colours (M=1) /BAN1i 200 array def /AANXi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXi 200 array def /FXNZi 17 array def /FYNZi 17 array def /FZNZi 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 FXAi i FAi 00 i add get put FYAi i FAi 80 i add get put FZAi i FAi 160 i add get put } for %i=0,1,79 %STOPxx /XKSUM 0 def /YKSUM 0 def /ZKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /XKSUM XKSUM FXAi i get add def /YKSUM YKSUM FYAi i get add def /ZKSUM ZKSUM FZAi i get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXNi i FXAi i get YKSUM div 100 mul put FYNi i FYAi i get YKSUM div 100 mul put FZNi i FZAi i get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXMi i FXAi i get XKSUM div 100 mul put FYMi i FYAi i get YKSUM div 100 mul put FZMi i FZAi i get ZKSUM div 100 mul put } for %i=0,1,79 %STOPx 0 1 79 {/i exch def %i=0,80 %for any illuminant Xi i FXNi i get put Yi i FYNi i get put Zi i FZNi i get put /SUM FXNi i get FYNi i get add FZNi i get add 0.00001 add def XANi i FXNi i get SUM div put YANi i FYNi i get SUM div put ZANi i FZNi i get SUM div put } for %i=0,79 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZi i FAZi 00 i add get 100 mul YKSUM div 100 mul put FYNZi i FAZi 17 i add get 100 mul YKSUM div 100 mul put FZNZi i FAZi 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZi i get put YZi i FYNZi i get put ZZi i FZNZi i get put /SUMZ FXNZi i get FYNZi i get add FZNZi i get add def XANZi i FXNZi i get SUMZ div put YANZi i FYNZi i get SUMZ div put ZANZi i FZNZi i get SUMZ div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXNi i get add def /YW YW FYNi i get add def /ZW ZW FZNi i get add def } for %i=0,79 /SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANW XW SUMW FL add div def /YANW YW SUMW FL add div def /ZANW ZW SUMW FL add div def K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.8859 mul def /YK YW 0.8859 mul def /ZK ZW 0.8859 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANW def /YANWL YANW def /ZANWL ZANW def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYi 80 array def /BnYi 80 array def } bind def %END proc_CIE_LMS0 %**************************************************************** /proc_PDT_colours {%BEG proc_PDT_colours /l02Ii 77 array def /m02Ii 77 array def /s02Ii 77 array def /l02Mi 77 array def /m02Mi 77 array def /s02Mi 77 array def /X02Ii 77 array def /Y02Ii 77 array def /Z02Ii 77 array def /xan02Ii 77 array def /yan02Ii 77 array def /zan02Ii 77 array def /X02Mi 77 array def /Y02Mi 77 array def /Z02Mi 77 array def /xan02Mi 77 array def /yan02Mi 77 array def /zan02Mi 77 array def /ycuri 77 array def /l02Mi [ %LMS2.TXT %L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm 4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400 4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2 2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450 5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1 1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500 3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1 7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550 9.657395e-1 9.814541e-1 9.944890e-1 1 9.923160e-1 9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600 7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1 4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650 1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2 2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700 4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4 6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750 1.095065e-4 7.799195e-5 ] def /m02Mi [ %M2.DAT 3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400 4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2 3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450 9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1 2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500 5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1 9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95? 9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1 6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600 2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2 6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650 1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3 1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700 2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5 4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750 7.822762e-6 5.690886e-6 ] def /s02Mi [ %S2.DAT CIE 171.1:2006 9.547289e-3 9.547289e-3 9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410 3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1 9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460 7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1 2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510 4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560 4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5 4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610 5.418387e-6 0 0 0 0 0 0 0 0 0 %650 0 0 0 0 0 0 0 0 0 0 %700 0 0 0 0 0 0 0 0 0 0 %750 0 0 ] def %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23 /A11 1.94735469 def /A12 -1.41445123 def /A13 0.36476327 def /A21 0.68990272 def /A22 0.34832189 def /A33 1.93485343 def /fsl02Mi 0 def /fsm02Mi 0 def /fss02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Mi fsl02Mi l02Mi i get add def /fsm02Mi fsm02Mi m02Mi i get add def /fss02Mi fss02Mi s02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung LMS l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put m02Ii i m02Mi i get put s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put } for %i=0,76 /fsl02Ii 0 def /fsm02Ii 0 def /fss02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Ii fsl02Ii l02Ii i get add def /fsm02Ii fsm02Ii m02Ii i get add def /fss02Ii fss02Ii s02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 X02Ii i l02Mi i get A11 mul m02Mi i get A12 mul add s02Mi i get A13 mul add put Y02Ii i l02Mi i get A21 mul m02Mi i get A22 mul add put Z02Ii i s02Mi i get A33 mul put } for %i=0,76 /fsX02Ii 0 def /fsY02Ii 0 def /fsZ02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzIi /fsX02Ii fsX02Ii X02Ii i get add def /fsY02Ii fsY02Ii Y02Ii i get add def /fsZ02Ii fsZ02Ii Z02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ X02Mi i X02Ii i get 1.1510330 div put %max 600nm Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm } for %i=0,76 /fsX02Mi 0 def /fsY02Mi 0 def /fsZ02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzMi /fsX02Mi fsX02Mi X02Mi i get add def /fsY02Mi fsY02Mi Y02Mi i get add def /fsZ02Mi fsZ02Mi Z02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 xyzan /sumXYZ X02Ii i get Y02Ii i get add Z02Ii i get add def xan02Ii i X02Ii i get sumXYZ div put yan02Ii i Y02Ii i get sumXYZ div put zan02Ii i Z02Ii i get sumXYZ div put } for %i=0,76 } bind def %END proc_PDT_colours %************************************************* %STOP4 /proc_Munsell_colours {%BEG proc_Munsell_colours %calculation of transformation data /FARBE 27 array def /FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00 () () () %01 (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02 () () () %03 (L* about 10, 20, 50, 80, 90) () () %04 () () () %05 () () () %06 () () () %07 () () () %08 ] def %Input /xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data /xy_MUNSELL %BEG xy_MUNSELL [%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9 % 05 % 1 40 1 1 VALUE1 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296 % 1 40 02 2 VALUE2 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583 % 1 40 05 3 VALUE5 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912 % 1 40 08 4 VALUE8 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040 % 1 40 09 5 VALUE9 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051 ] def %END xy_MUNSELL /Y_MUNSELL 5 array def %5 Y*1000 data /Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100 [12100 31300 197700 591000 786600] def %here 4 decimal places! /xy_MUNSELL_C 2 array def %2 xy*1000 data /xy_MUNSELL_C %BEG xy_MUNSELL_C [3101 3162] def %END xy_MUNSELL_C /xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8 /xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex [% 1 01 2 4CR=2EX 3149 3086 % 1 01 5 5CR=2EX 3142 3234 % 1 01 8 6CR=2EX 3144 3275 ] def %END xy_MUNSELL_Ex %M=Munsell /XMi 200 array def %5*40 colour of chroma 2 /YMi 200 array def /ZMi 200 array def /XANMi 200 array def /YANMi 200 array def /ZANMi 200 array def /AANMi 200 array def /BANMi 200 array def 0 0 0 1 setcmykcolor /fscale 0.0001 def 0 1 199 {/k exch def %k=0,199 /k2 k 2 mul def XANMi k xy_MUNSELL k2 0 add get fscale mul put YANMi k xy_MUNSELL k2 1 add get fscale mul put ZANMi k 1. XANMi k get sub YANMi k get sub put /kV k 40 idiv def /YVALUE Y_MUNSELL kV get fscale mul def YMi k YVALUE put /SUMY YVALUE YANMi k get div def XMi k SUMY XANMi k get mul put ZMi k SUMY ZANMi k get mul put } for %k=0,199 %*********************** %XWM,YWM,ZWM and XKW,YKW,ZKW for white /YANWM xy_MUNSELL_C 0 get fscale mul def /YANWM xy_MUNSELL_C 1 get fscale mul def /ZANWM 1. YANWM sub YANWM sub def /YWM 100. def /SUMWM YWM YANWM div def /XWM SUMWM YANWM mul def /ZWM SUMWM ZANWM mul def /XKM XWM def /YKM YWM def /ZKM ZWM def } bind def %END proc_Munsell_colours %************************************************************************* /proc_Ostwald_colours {%BEG proc_Ostwald_colours %Input %/FAi 240 array def %CIE_02, CIE_10, CIE_F02, CIE_F10, LMS_17M3 %/SX01 80 array def %380 bis 775 mit deltalambda=05 %/SX02 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX05 80 array def %380 bis 775 mit deltalambda=05 %/SX06 80 array def %380 bis 775 mit deltalambda=05 %/SX07 80 array def %380 bis 775 mit deltalambda=05 /WEL1i 60 array def %irregular definition /WEL2i 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1i [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def %Calculation /RAOi 80 array def %380 bis 770 nm /FAOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /FANOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /SDAKOi 80 array def %380 bis 775 mit deltalambda=05 /SX00Oi 80 array def %380 bis 775 mit deltalambda=05 /SX01Oi 80 array def %380 bis 775 mit deltalambda=05 /SX02Oi 80 array def %380 bis 775 mit deltalambda=05 /SX03Oi 80 array def %380 bis 775 mit deltalambda=05 /SX04Oi 80 array def %380 bis 775 mit deltalambda=05 /SX05Oi 80 array def %380 bis 775 mit deltalambda=05 /SX06Oi 80 array def %380 bis 775 mit deltalambda=05 /SX07Oi 80 array def %380 bis 775 mit deltalambda=05 %special wavelength range with complementary colours for E? /FXDOi 80 array def /FYDOi 80 array def /FZDOi 80 array def /DOWOi 80 array def /FADOi 80 array def /FBDOi 80 array def /FCDOi 80 array def %Results /XOi 80 array def %usually 40 Ostwald COLOURS /YOi 80 array def /ZOi 80 array def /XANOi 80 array def %usually 40 Ostwald COLOURS /YANOi 80 array def /ZANOi 80 array def 0 1 239 {/i exch def %i=0,239 FAOi i FAi i get put } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO FAOi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add FAOi 00 i add get YKSUM div 100 mul put FANOi 80 i add FAOi 80 i add get YKSUM div 100 mul put FANOi 160 i add FAOi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 SX00Oi i SX00 i get put SX01Oi i SX01 i get put SX02Oi i SX02 i get put SX03Oi i SX03 i get put SX04Oi i SX04 i get put SX05Oi i SX05 i get put SX06Oi i SX06 i get put SX07Oi i SX07 i get put } for %i=0,79 %STOP6 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAKOi i xchartx 0 eq {SX00Oi i get} if xchartx 1 eq {SX01Oi i get} if xchartx 2 eq {SX02Oi i get} if xchartx 3 eq {SX03Oi i get} if xchartx 4 eq {SX04Oi i get} if xchartx 5 eq {SX05Oi i get} if xchartx 6 eq {SX06Oi i get} if xchartx 7 eq {SX07Oi i get} if put } for %i=0,79 %STOP7 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get FAOi 80 i add get mul add def } for %i=0,1,79 %STOP8 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add SDAKOi i get FAOi 00 i add get mul YKSUM div 100 mul put FANOi 80 i add SDAKOi i get FAOi 80 i add get mul YKSUM div 100 mul put FANOi 160 i add SDAKOi i get FAOi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %STOP11 /FXNOi 80 array def %FXN 0 = F2N imax /FYNOi 80 array def /FZNOi 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXNOi i FANOi 000 i add get put FYNOi i FANOi 080 i add get put FZNOi i FANOi 160 i add get put } for %i=0,79 %XWO,YWO,ZWO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 /SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWO XWO SUMWO div def /YANWO YWO SUMWO div def /ZANWO ZWO SUMWO div def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXDOi i FXNOi 005 i add get put FYDOi i FYNOi 005 i add get put FZDOi i FZNOi 005 i add get put DOWOi i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXDOi 61 FXDOi 60 get put FYDOi 61 FYDOi 60 get put FZDOi 61 FZDOi 60 get put FXDOi 62 FXDOi 60 get put FYDOi 62 FYDOi 60 get put FZDOi 62 FZDOi 60 get put 0 1 62 {/i exch def %i=0,62 FADOi i FXDOi i get put FBDOi i FYDOi i get put FCDOi i FZDOi i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %STOP12 %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FADO,FBDO,FCDO, KNPO %output FWERTiX/Y/Z (i=1,4) KNP 1 ge {/FWERT1X FADOi KNP 1 sub get def /FWERT1Y FBDOi KNP 1 sub get def /FWERT1Z FCDOi KNP 1 sub get def} {/FWERT1X FADOi 0 get def %again 400nm for i=0 /FWERT1Y FBDOi 0 get def /FWERT1Z FCDOi 0 get def} ifelse /FWERT2X FADOi KNP get def /FWERT2Y FBDOi KNP get def /FWERT2Z FCDOi KNP get def /FWERT3X FADOi KNP 1 add get def /FWERT3Y FBDOi KNP 1 add get def /FWERT3Z FCDOi KNP 1 add get def /FWERT4X FADOi KNP 2 add get def /FWERT4Y FBDOi KNP 2 add get def /FWERT4Z FCDOi KNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1i k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXDOi j get def %start at 405..700nm /FF2 FYDOi j get def /FF3 FZDOi j get def /U1 XWO def /U2 YWO def /U3 ZWO def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add neg def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /KNP INP def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /KNP IPN def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RAOi i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RAOi i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RAOi i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RAOi i1 0.5 put RAOi i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /XO 0 def /YO 0 def /ZO 0 def 0 1 079 {/i exch def %i=0,79 /XO XO FANOi 00 i add get RAOi i get mul add def /YO YO FANOi 80 i add get RAOi i get mul add def /ZO ZO FANOi 160 i add get RAOi i get mul add def } for %i=0,79 /SUMO XO YO add ZO add def /XANO XO SUMO FL add div def /YANO YO SUMO FL add div def /ZANO ZO SUMO FL add div def %************************************************* 0 0 0 1 setcmykcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 XOi k XO put YOi k YO put ZOi k ZO put XANOi k XANO put YANOi k YANO put ZANOi k ZANO put }%Icom=0 {%Icom=1 /kP 20 k add def XOi kP XWO XO sub put YOi kP YWO YO sub put ZOi kP ZWO ZO sub put /SUMO XOi kP get YOi kP get add ZOi kP get add def XANOi kP XOi kP get SUMO FL add div put YANOi kP YOi kP get SUMO FL add div put ZANOi kP ZOi kP get SUMO FL add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 XOi k XOi k get 0.8859 mul put YOi k YOi k get 0.8859 mul put ZOi k ZOi k get 0.8859 mul put XOi kP XOi kP get 0.8859 mul put YOi kP YOi kP get 0.8859 mul put ZOi kP ZOi kP get 0.8859 mul put } if %K=1 } for %k=0,19 %************************************** %XWO,YWO,ZWO and XKO,YKO,ZKO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XKO XWO def /YKO YWO def /ZKO ZWO def }%K=0 {%K=1 /XKO XWO 0.8859 mul def /YKO YWO 0.8859 mul def /ZKO ZWO 0.8859 mul def } ifelse %K=1 /SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKO XKO SUMKO div def /YANKO YKO SUMKO div def /ZANKO ZKO SUMKO div def /XANWL XANWO def /YANWL YANWO def /ZANWL ZANWO def } bind def %END proc_Ostwald_colours %********************************************************************** %**************************************************************** %allways /proc_DEF_colours {%BEG proc_DEF_colours %Colour Deficiencies /ip1 700 380 sub 5 idiv def %ip=64:700nm /XANP1 XANi ip1 get def /YANP1 YANi ip1 get def /ZANP1 ZANi ip1 get def /id1 505 380 sub 5 idiv def %ip=25:505nm /XAND1 XANi id1 get def /YAND1 YANi id1 get def /ZAND1 ZANi id1 get def /it1 400 380 sub 5 idiv def %ip=4:400nm /XANT1 XANi it1 get def /YANT1 YANi it1 get def /ZANT1 ZANi it1 get def %************************* /XANP XANP1 def /YANP YANP1 def /ZANP ZANP1 def /XAND 1.000 def /YAND 0.001 def /ZAND 0.999 def /XANT 0.171 def /YANT 0.001 def /ZANT 1.000 XANT sub YANT sub def %************************* /XAN00 0.3333 def %Illuminant E /YAN00 0.3333 def /mP YAN00 YANP sub XAN00 XANP sub div def %700nm /bP YAN00 XAN00 mP mul sub def /mD YAN00 YAND sub XAN00 XAND sub div def %xx /bD YAN00 XAN00 mD mul sub def /mT YAN00 YANT sub XAN00 XANT sub div def %xx /bT YAN00 XAN00 mT mul sub def %************************* /mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm /bP1 YAN00 XAN00 mP1 mul sub def %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /XAND1 XANZi i get def /YAND1 YANZi i get def /mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm /bD1 YAN00 XAN00 mD1 mul sub def /mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm /bT1 YAN00 XAN00 mT1 mul sub def /ishow {0 -40 rmoveto show 0 40 rmoveto} def /eshow {0 60 rmoveto show 0 -60 rmoveto} def /imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def /imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def /iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def } bind def %END proc_DEF_colours %allways if xchart6>=1 /proc_chromaticity {%BEG proc_chromaticity %chromaticity definitions xchartl 0 eq {%xchartl=0 %(x,y) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get put BANi i YANi i get put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 def /BANP1 YANP1 def /AAND1 XAND1 def /BAND1 YAND1 def /AANT1 XANT1 def /BANT1 YANT1 def /AANP XANP def /BANP YANP def /AAND XAND def /BAND YAND def /AANT XANT def /BANT YANT def %ACHROMATIC COLOUR /AANWL XANWL def /BANWL YANWL def /AANWC XANWC def /BANWC YANWC def } if %xchartl=0 %only for (x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=1 %only for (a0,b0) %***************** xchartl 2 eq {%xchartl=2 %(a1,b1) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=2 %only for (a1,b1) %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=3 %only for (a2,b2) %***************** xchartl 4 eq {%xchartl=4 %(a3,b3) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=4 %only for (a3,b3) %***************** xchartl 5 eq {%xchartl=5 %(a4,b4) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=5 %only for (a4,b4) %***************** xchartl 6 eq {%xchartl=6 %(a5,b5) /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def 0 1 79 {/i exch def %i=0,79 AANi i XANi i get A51 mul YANi i get A52 mul add A53 add YANi i get FL add div a2x mul put BANi i XANi i get B51 mul YANi i get B52 mul add B53 add YANi i get FL add div b2x mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get A51 mul YANZi i get A52 mul add A53 add YANZi i get FL add div a2x mul put BANZi i XANZi i get B51 mul YANZi i get B52 mul add B53 add YANZi i get FL add div b2x mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div a2x mul def /BANWL XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div b2x mul def /AANWC XANWC A51 mul YANWC A52 mul add A53 add YANWC FL add div a2x mul def /BANWC XANWC B51 mul YANWC B52 mul add B53 add YANWC FL add div b2x mul def } if %xchartl=6 %only for (a5,b5) %***************** xchartl 7 eq {%xchartl=7 %(a6,b6) %a=x/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=7 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_coor {%BEG proc_xaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1<=7 TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 3 eq or xchartl 7 eq or {%xchartl=1,3,7 TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,3,7 xchartl 2 eq xchartl 4 eq or xchartl 5 eq or {%xchartl=2,4,5 TBS (=\050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-0,171\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl#2,4,5 xchartl 6 eq {%xchartl=6 TBS (=\0508,61) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-7,20) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-0,269\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart=0,#0 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1,7 TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 2 eq or {%xchartl=1,2 TBS (=-0,40) show TBIS (z) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,2 xchartl 3 eq xchartl 5 eq or {%xchartl=3,5 TBS (=\050) show mP1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=3,5 xchartl 4 eq xchartl 7 eq or {%xchartl=4,7 TBS (=\050) show mD1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=4,7 xchartl 6 eq {%xchartl=6 TBS (=\0501,99) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+3,86) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-2,40\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart#0 } bind def %END proc_yaxis_xchartl_coor %********************************************************* /proc_chromaticity_lines {%BEG proc_chromaticity_lines for xchart6>=1 %chromaticity lines and with names for xchart6=2 xchartl 0 eq {%xchartl=0 %(x,y) /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolor 0 eq {(CIE 1931) show} if xcolor 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 M 0 000 000 (545) %33 1 050 050 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 L 1 050 050 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 100 -50 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 100 -50 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf XANWL fakt mul def /BANWLf YANWL fakt mul def /AANWCf XANWC fakt mul def /BANWCf YANWC fakt mul def /i 400 380 sub 5 idiv def %4 T /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0.5 0 0.5 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS /i 450 380 sub 5 idiv def %14 S /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S /i 475 380 sub 5 idiv def %18 B /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be (Lc) AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4 /i 495 380 sub 5 idiv def %23 Rc /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S) AANF 120 add BANF 400 sub moveto TIK (M) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 505 380 sub 5 idiv def %26 505c,E /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S) AANF 250 add BANF 300 sub moveto TIK (V') show 0 0 0 setrgbcolor AANF 050 add BANF 550 sub moveto TIK (V) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 520 380 sub 5 idiv def %28 G /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B) AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4 1 1 0 setrgbcolor AANF 100 sub BANF 700 sub moveto TIK (Y) show (l) iy4 TK (=) show 0 0 1 setrgbcolor TIK (B) show (l) iy4 /i 540 380 sub 5 idiv def %32 M /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %540 M AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4 /i 555 380 sub 5 idiv def %35 V /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M) AANF 000 add BANF 000 add moveto TIK (V) show (m) is4 /i 570 380 sub 5 idiv def %38 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %570 L %AANF 250 sub BANF 200 sub moveto TIK (Y) show %0 0 0 setrgbcolor AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4 /i 575 380 sub 5 idiv def %39 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %575 L AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4 /i 700 380 sub 5 idiv def %64 R /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %700 AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4 %Protanop PL 1 0 0 setrgbcolor AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans0 neg ytrans0 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=0 %(x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) %STOP9 /xtrans1a 0500 def /xtrans1 1300 def /ytrans1 3200 def xtrans1a ytrans1 translate 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans1a neg ytrans1 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans1 ytrans1 translate /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 1 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 200 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0050 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans1 neg ytrans1 neg translate %ENDE: 2 } if %xchartl=1 %(a0,b0) %*********************************************************** xchartl 2 eq {%xchartl=2 (a1,b1) /xtrans2a 0500 def /xtrans2 1300 def /ytrans2 3200 def xtrans2a ytrans2 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans2a neg ytrans2 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans2 ytrans2 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -250 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans2 neg ytrans2 neg translate %for text and grafic %ENDE: 2 } if %xchartl=2 %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) /xtrans3a 0500 def /xtrans3 1300 def /ytrans3 3200 def xtrans3a ytrans3 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans3a neg ytrans3 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans3 ytrans3 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 100 -050 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1700 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 0500 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0250 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans3 neg ytrans3 neg translate %for text and grafic %ENDE: 2 } if %xchartl=3 %*********************************************************** xchartl 4 eq {%xchartl=4 %(a3,b3) /xtrans4a 0500 def /xtrans4 1300 def /ytrans4 3200 def xtrans4a ytrans4 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans4a neg ytrans4 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans4 ytrans4 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -280 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2100 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0550 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans4 neg ytrans4 neg translate %for text and grafic %ENDE: 2 } if %xchartl=4 %*********************************************************** xchartl 5 eq {%xchartl=5 %(a4,b4) /xtrans5a 0500 def /xtrans5 1300 def /ytrans5 3200 def xtrans5a ytrans5 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans5a neg ytrans5 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans5 ytrans5 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 -050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -050 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -300 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0800 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0700 0080 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0300 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 0050 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans5 neg ytrans5 neg translate %for text and grafic %ENDE: 2 } if %xchartl=5 %*********************************************************** xchartl 6 eq {%xchartl=6 %(a5,b5) /xtrans6a 0500 def /xtrans6 1300 def /ytrans6 3200 def xtrans6a ytrans6 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans6a neg ytrans6 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans6 ytrans6 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 0 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans6 neg ytrans6 neg translate %for text and grafic %ENDE: 2 } if %xchartl=6 %*********************************************************** xchartl 7 eq {%xchartl=7 %(a6,b6) /xtrans7a 0500 def /xtrans7 1300 def /ytrans7 3200 def xtrans7a ytrans7 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans7a neg ytrans7 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans7 ytrans7 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 newpath TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 newpath newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 newpath TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 newpath /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1800 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans7 neg ytrans7 neg translate %for text and grafic %ENDE: 2 } if %xchartl=7 } bind def %END proc_chromaticity_lines /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt /proc_tab1N {%BEG proc_tab1N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab1N %******************************************************** /proc_tab2N {%BEG proc_tab2N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab2N %********************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} %new {/xchart5 2 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %STOP1 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolor cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow gsave %XCHA01.PS END 5 /Times-ISOL1 FS %175 85 moveto (DG411-1A_1N) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale 30 setlinewidth %xchart3 0 def %with Munsell colours %xchart3 1 def %with Ostwald colours %xchart3 2 det %without any colour /xchart3 1 def %diagram 0:Munsell colours, 1:Ostwald colours, 2:- %xchart5 0 def %without marc illuminant and text %xchart5 1 def %with marc illuminant %xchart5 2 def %with marc illuminant and text /xchart5 2 def %0:-, 1:illuminant, 2:illuminant and text %xchart6 0 def %without chromaticity_lines %xchart6 1 def %with chromaticity_lines %xchart6 2 def %with chromaticity_lines and names /xchart6 2 def %0:-, 1:chromaticity_lines 2:chromaticity_lines & names %xchart7 0 def %Ostwald colours without Name or Y %xchart7 1 def %Ostwald colours with Name %xchart7 2 def %Ostwald colours with CIE Y /xchart7 2 def %0:-, 1:Name, 2:Y %xchartl with 0 1 2 3 4 5 6 7 %xchart8 0 def %0:Pxx (P60, P55, P50, P45, P40, P35, P30, P25) colours %xchart8 1 def %1:Dxx (D65, D50, P40, A00, E00, C00, P00, Q00) colours /xchart8 1 def %0:Pxx, 1:Dxx colours %xchart9 0 def %for Y10-7R.EPS -> Table XYZ, not used here %xchart9 1 def %for Y10-7R.EPS -> Table CAB, not used here %xchart9 2 def %for Y10-7R.EPS -> Table (a,b), not used here /xchart9 0 def %Table 0:(XYZ), 1:(CAB), 2(ab) %xchart10 0 def %for Y10G00NP.PS6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10G00NP.PS6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10G00NP.PS6.PS -> chroma (A*i,B*i) /xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) %xchart13 0 def %CIE_02 %xchart13 1 def %CIE_10 %xchart13 2 def %CIE_F02 %xchart13 3 def %CIE_F10 %xchart13 4 def %LMS_17M3 %xchart13 5 def %LMS_17M4 /xchart13 4 def %xchart13=4(CIE_42),1(CIE_14),2(CIE_F42),3(CIE_F14),4/5 (model) %/xchart14 0 def %unnormiert %/xchart14 1 def %Yw-normiert %/xchart14 2 def %XYZw-normiert /xchart14 0 def %1:unnormiert, 2:Yw-normiert. 3:XYZw-normiert /posax 2700 def /posay 0550 def /posbx -350 def /posby -3150 def /FL 0.00001 def /Y18 18 def %grey background %/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i) /n1e 1.0000 def %allways %/n1e 0.3333 def %very special (a', b') xchart10 1 le {/n0e 1.0000 def} {/n0e 0.3333 def} ifelse gsave /xchartx xchart def 0 1 0 {/xchartx exch def %xchartx=0,7 %8 illuminants gsave 20 setlinewidth %0 0 11550 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey %0 0 11550 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz %STOP %allways proc_CIE_LMS0 %STOP1 proc_DEF_colours xchart3 0 eq {%BEG proc_Munsell_colours proc_Munsell_colours } if %END proc_Munsell_colours xchart3 1 eq {%BEG proc_Ostwald_colours proc_Ostwald_colours } if %END proc_Ostwald_colours %STOP2 /xchartl 05 def 00 1 00 {/xchartl exch def %xchartl=0,7 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto xchartl 7 le {(DG411-) show} {(DG411-) show} ifelse xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow} if xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow} if (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.3 setcmykcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 1.0 colrecst %frame black /xtexti 96 array def /ytexti 96 array def %BEG INC Y11_XCHART10_0/1/2.PS %line 5531 %******************************************************************** %BEG 'CL70'Y11_XCHART1A_1.PS FROM 'CL66'Y10-7R_66.EPS xchart10 1 eq {%xchart10=1 long loop 1700 lines! %/xxt -0.021 def /yyt -0.024 def %/xat 0.031 def /yat 0.029 def /xxt 0.000 def /yyt 0.000 def /xat 0.000 def /yat 0.000 def /proc_Yexp {%BEG proc_Yexp xchart10 0 eq {%chromaticity /Yexp 1 def } if %chromaticity xchart10 1 eq {%chromatic value xchart3 0 eq {%Munsell colours /Yexp YMi ikV40 get def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp YOi i get def } if %Ostwald colours } if %chromatic value xchart10 2 eq {%chroma xchart3 0 eq {%Munsell colours /Yexp Y18 YMi ikV40 get Y18 div n0e exp mul def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp Y18 YOi i get Y18 div n0e exp mul def } if %Ostwald colours } if %chroma } bind def %END proc_Yexp 0 0 0 1 setcmykcolor /xchart12 xchartl 12 mul def xchart3 0 eq {%xchart3=0 %Munsell_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Ostwald_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=1 %Ostwald_colours xchart3 1 eq xchartl 0 eq and {%xchart3=1 only for Ostwald colours and (x,y) xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name und Spektralbereich) showde %0DG411-7 00581 (Name and spectral range) showen %1DG411-7 00581 (Nombre y gama espectral) showes %2DG411-7 00581 (Nom et la gamma spectrale) showfr %3DG411-7 00581 (Nome e la gamma spettrale) showit %4DG411-7 00581 (Name and spectral range) showjp %5DG411-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBEO 0 get show TBV 0 -40 rmoveto FARBEO 1 get show 0 40 rmoveto TBIS FARBEO 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBEO 3 get show TBV 0 -40 rmoveto FARBEO 4 get show 0 40 rmoveto TBIS FARBEO 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBEO 6 get show TBV 0 -40 rmoveto FARBEO 7 get show 0 40 rmoveto TBIS FARBEO 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBEO 9 get show TBV 0 -40 rmoveto FARBEO 10 get show 0 40 rmoveto TBIS FARBEO 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBEO 12 get show TBV 0 -40 rmoveto FARBEO 13 get show 0 40 rmoveto TBIS FARBEO 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBEO 15 get show TBV 0 -40 rmoveto FARBEO 16 get show 0 40 rmoveto TBIS FARBEO 17 get show } if %xchart3=1 only for Ostwald colours TBS 0 0 0 1 setcmykcolor xchart3 0 eq {%xchart3=0 %Munsell_colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Munsell) show TBS (-System) showde %0DG411-7 02581 ( System) showea %1DG411-7 02581 TBIS (, Y) show (w) ib6 xcolor 1 eq {(,10) ib6} if TBS K 0 eq {(=100, ) show}{(=88,6, ) show} ifelse TELi xchartx get show xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (C=2, V=1, 2, 5, 8 & 9, ) show %0DG411-7 03581 TELi xchartx get show } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Optimal Colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Ostwald) showde TBS ( Farben (o)) showde %0DG411-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1DG411-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2DG411-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3DG411-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4DG411-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5DG411-7 02581 TBIS (, Y) show 0 -60 rmoveto (W) show 0 60 rmoveto TBS K 0 eq {(=100) show}{(=88,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (max (m) Buntwert, ) showde %0DG411-7 03581 (max (m) chromatic value, ) showen %1DG411-7 03581 (chromatic m\341x (m), ) showes %2DG411-7 03581 (max (m) chromatic valeur, ) showfr %3DG411-7 03581 (max (m) chromatic value, ) showit %4DG411-7 03581 (max (m) chromatic value, ) showjp %5DG411-7 03581 TELi xchartx get show } if %xchart3=1 %Optimal_colours %BEG For All Colours last line xtexti xchart12 2 add get ytexti xchart12 2 add get moveto proc_diagram_xchartl_txt %END For All Colours last line %*********************************************************** /imM 199 def %maximum Munsell Colours /imO 039 def %maximum Ostwald Colours %***************************************** 0 setgray xchartl 0 eq {%xchartl=0 %(x,y) %only for xchartl=0 proc_chromaticity proc_chromaticity_lines /fakt 4000 def /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic xchart3 0 eq {%xchart3=0 %BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 AnYi i XANMi i kV40 add get fakt mul put %x BnYi i YANMi i kV40 add get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath XANWL fakt mul YANWL fakt mul 40 0 360 arc stroke xchart5 2 eq {%xchart5=2 %+TELi XANWL fakt mul 200 sub 150 add YANWL fakt mul 500 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi xchart5 3 eq {%xchart5=3 %+V=1..9 1250 550 add 1316 250 add moveto (1) show 1250 350 add 1316 100 add moveto (2) show 1250 200 add 1316 050 add moveto (5) show } if %xchart5=3 %+V=1..9 } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 0 0 setrgbcolor 0 1 39 {/i exch def %i=0,39 AnYi i XANOi i get fakt mul put %x BnYi i YANOi i get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans0 neg ytrans0 neg translate %for scala and graphi } if %xchartl=0 %************************ %Special coordinate system for (Ax,Bx) digrams*************** %***************** xchartl 1 ge {%xchartl>=1 /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic %axis and scales 0 0 0 1 setcmyk_olvcolor -2250 0 moveto 3950 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1700 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-40) ( ) ( ) ( ) ( 40)] def /yt10x [(-40) ( ) ( ) ( ) (40)] def /fakt 40 def %default xchart3 0 eq {/xt10x [(-10) ( ) ( ) ( ) ( 10)] def /yt10x [(-10) ( ) ( ) ( ) (10) ] def} if %xchart3=0 %Munsell 0 0 0 1 setcmyk_olvcolor 0 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {%i=4 -1600 i 800 mul add 0 moveto -100 150 rmoveto TBIM (A) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1600 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {%i=4 -100 -1600 i 800 mul add moveto -250 150 rmoveto TBIM (B) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl>=1 %********************************************************** xchartl 1 eq {%xchartl=1 %(A0,B0) (a=x/y, b=-0.4*z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl=1 %(A0,B0) %***************************************************************** xchartl 2 eq {%xchartl=2 %(A1,B1) (a1=[x-XANT]/y, b1=z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans2 3500 def /ytrans2 2000 def xtrans2 ytrans2 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (T1) ib6 TBS (=) show 1.0 cvsshow3x (, ) show TBIS (b) show (T1) ib6 TBS (=) show XANT cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans2 neg ytrans2 neg translate %for scala and graphic } if %xchartl=2 %(A1,B1) %************************ xchartl 3 eq {%xchartl=1 %(A2,B2) (a2=x/y, b2=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans3 3500 def /ytrans3 2000 def xtrans3 ytrans3 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans3 neg ytrans3 neg translate %for scala and graphic } if %xchartl=3 %(A2,B2) %************************ xchartl 4 eq {%xchartl=04 %(A3,B3) (a3=[x-XANT]/y, b3=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans4 3500 def /ytrans4 2000 def xtrans4 ytrans4 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans4 neg ytrans4 neg translate %for scala and graphic } if %xchartl=4 %(A3,B3) %************************ xchartl 5 eq {%xchartl=5 %(A4,B4) (a4=(x-XANT)/y, b4=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans5 3500 def /ytrans5 2000 def xtrans5 ytrans5 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans5 neg ytrans5 neg translate %for scala and graphic } if %xchartl=5 %(A4,B4) %************************ xchartl 6 eq {%xchartl=6 %(A5,B5) (a5=[x-XANT]/y, b5=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def /xtrans6 3500 def /ytrans6 2000 def xtrans6 ytrans6 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (a) show (2x) ib6 TBS ([\050+) show A51 cvsshow2x TBIS (x) show TBS A52 cvsshow2x TBIS (y) show TBS A53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (b) show (2x) ib6 TBS ([\050+) show B51 cvsshow2x TBIS (x) show TBS (+) show B52 cvsshow2x TBIS (y) show TBS B53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (2x) ib6 TBS ( = ) show a2x cvsshow2x (, ) show TBIS (b) show (2x) ib6 TBS ( = ) show b2x cvsshow2x -3400 iyT idyT 7 mul sub moveto SS (l) show (B,G,Y,R) ib6 TBS (=475,503,574,494c,E nm) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get A51 mul YANMi ikV40 get A52 mul add A53 add YANMi ikV40 get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANMi ikV40 get B51 mul YANMi ikV40 get B52 mul add B53 add YANMi ikV40 get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get A51 mul YANOi i get A52 mul add A53 add YANOi i get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANOi i get B51 mul YANOi i get B52 mul add B53 add YANOi i get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans6 neg ytrans6 neg translate %for scala and graphic } if %xchartl=6 %(A5,B5) %************************ xchartl 7 eq {%xchartl=7 %(A6,B6) (a6=x/y, b6=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans7 3500 def /ytrans7 2000 def xtrans7 ytrans7 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans7 neg ytrans7 neg translate %for scala and graphic } if %xchartl=7 } if %xchart10=1 long loop 1700 lines! %END 'CL70'Y11_XCHART1A_1.PS %*************************************************************** %END INC Y11_XCHART10_0/1/2.PS %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer %%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 http://farbe.li.tu-berlin.de/DG41/DG411-3A_4N_2N 20180221 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark12 where {pop} {userdict /pdfmark12 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark12 [ /View [ /Fit ] /DOCVIEW pdfmark12 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SV {160 /Symbol FS} bind def /CV {160 /Courier-ISOL1 FS} bind def /CS {200 /Courier-ISOL1 FS} bind def /CK {240 /Courier-ISOL1 FS} bind def /CM {280 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBV {160 /CourierB-ISOL1 FS} bind def /CBS {200 /CourierB-ISOL1 FS} bind def /CBK {240 /CourierB-ISOL1 FS} bind def /CBM {280 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /ns {350 /Times-ISOL1 FS show} bind def /ks {350 /TimesI-ISOL1 FS show} bind def /bs {350 /TimesB-ISOL1 FS show} bind def /js {350 /TimesBI-ISOL1 FS show} bind def /sy {350 /Symbol FS show} bind def /is {280 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /es {280 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ib {280 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eb {280 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ip {280 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /ns2 {280 /Times-ISOL1 FS show TM} bind def /ks2 {280 /TimesI-ISOL1 FS show TM} bind def /bs2 {280 /TimesB-ISOL1 FS show TM} bind def /js2 {280 /TimesBI-ISOL1 FS show TM} bind def /sy2 {280 /Symbol FS show TM} bind def /is2 {240 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {240 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {240 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {240 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {240 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def /iy2 {240 /Symbol FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def %40% kleiner /ns4 {240 /Times-ISOL1 FS show TK} bind def /ks4 {240 /TimesI-ISOL1 FS show TK} bind def /bs4 {240 /TimesB-ISOL1 FS show TK} bind def /js4 {240 /TimesBI-ISOL1 FS show TK} bind def /ss4 {240 /Symbol FS show TK} bind def /is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def /iy4 {200 /Symbol FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def %60% kleiner /ns6 {200 /Times-ISOL1 FS show TS} bind def /ks6 {200 /TimesI-ISOL1 FS show TS} bind def /bs6 {200 /TimesB-ISOL1 FS show TS} bind def /js6 {200 /TimesBI-ISOL1 FS show TS} bind def /ss6 {200 /Symbol FS show TS} bind def /is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /es6 {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eb6 {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def /iy6 {160 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /cvicvs {cvi 6 string cvs} def /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.1234/99.0123/99.0010/99.0001 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10000 mul cvi /nxi exch def %nxi=991234/990123/990010/990000 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=1234/0123/0010/0001 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=1234/0123/0010/0001 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def /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 %************************************************* /proc_CIE_LMS0 {%BEG proc_CIE_LMS0 %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %Combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F02i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F10i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /FF02i 320 array def %80x4 CIE_F02 fundamental observer /FF10i 320 array def %80x4 CIE_F10 fundamental observer /FAi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /XZAi 17 array def /YZAi 17 array def /ZZAi 17 array def /XANZAi 17 array def /YANZAi 17 array def /ZANZAi 17 array def /FXAi 80 array def %unnormiert /FYAi 80 array def /FZAi 80 array def /FXNi 80 array def %Y-normiert /FYNi 80 array def /FZNi 80 array def /FXMi 80 array def %XYZ-normiert /FYMi 80 array def /FZMi 80 array def %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F02i CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 %400nm: 0.0143 0.0003 0.0678 /F02i %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 %X:380_775 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 %700:0.0113 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 %Y:380_775 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 %700: 0.0041 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 %Z:380-775 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10i %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /FF02i [%BEG FF02i Colour matching functions 5nm 02-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 3.769647E-03 4.146161E-04 1.847260E-02 %=390 385 3.769647E-03 4.146161E-04 1.847260E-02 %=390 390 3.769647E-03 4.146161E-04 1.847260E-02 395 9.382967E-03 1.059646E-03 4.609784E-02 400 2.214302E-02 2.452194E-03 1.096090E-01 405 4.742986E-02 4.971717E-03 2.369246E-01 410 8.953803E-02 9.079860E-03 4.508369E-01 415 1.446214E-01 1.429377E-02 7.378822E-01 420 2.035729E-01 2.027369E-02 1.051821E+00 425 2.488523E-01 2.612106E-02 1.305008E+00 430 2.918246E-01 3.319038E-02 1.552826E+00 435 3.227087E-01 4.157940E-02 1.748280E+00 440 3.482554E-01 5.033657E-02 1.917479E+00 445 3.418483E-01 5.743393E-02 1.918437E+00 450 3.224637E-01 6.472352E-02 1.848545E+00 455 2.826646E-01 7.238339E-02 1.664439E+00 460 2.485254E-01 8.514816E-02 1.522157E+00 465 2.219781E-01 1.060145E-01 1.428440E+00 470 1.806905E-01 1.298957E-01 1.250610E+00 475 1.291920E-01 1.535066E-01 9.991789E-01 480 8.182895E-02 1.788048E-01 7.552379E-01 485 4.600865E-02 2.064828E-01 5.617313E-01 490 2.083981E-02 2.379160E-01 4.099313E-01 495 7.097731E-03 2.850680E-01 3.105939E-01 500 2.461588E-03 3.483536E-01 2.376753E-01 505 3.649178E-03 4.277595E-01 1.720018E-01 510 1.556989E-02 5.204972E-01 1.176796E-01 515 4.315171E-02 6.206256E-01 8.283548E-02 520 7.962917E-02 7.180890E-01 5.650407E-02 525 1.268468E-01 7.946448E-01 3.751912E-02 530 1.818026E-01 8.575799E-01 2.438164E-02 535 2.405015E-01 9.071347E-01 1.566174E-02 540 3.098117E-01 9.544675E-01 9.846470E-03 545 3.804244E-01 9.814106E-01 6.131421E-03 550 4.494206E-01 9.890228E-01 3.790291E-03 555 5.280233E-01 9.994608E-01 2.327186E-03 560 6.133784E-01 9.967737E-01 1.432128E-03 565 7.016774E-01 9.902549E-01 8.822531E-04 570 7.967750E-01 9.732611E-01 5.452416E-04 575 8.853376E-01 9.424569E-01 3.386739E-04 580 9.638388E-01 8.963613E-01 2.117772E-04 585 1.051011E+00 8.587203E-01 1.335031E-04 590 1.109767E+00 8.115868E-01 8.494468E-05 595 1.143620E+00 7.544785E-01 5.460706E-05 600 1.151033E+00 6.918553E-01 3.549661E-05 605 1.134757E+00 6.270066E-01 2.334738E-05 610 1.083928E+00 5.583746E-01 1.554631E-05 615 1.007344E+00 4.895950E-01 1.048387E-05 620 9.142877E-01 4.229897E-01 0.000000E+00 625 8.135565E-01 3.609245E-01 0.000000E+00 630 6.924717E-01 2.980865E-01 0.000000E+00 635 5.755410E-01 2.416902E-01 0.000000E+00 640 4.731224E-01 1.943124E-01 0.000000E+00 645 3.844986E-01 1.547397E-01 0.000000E+00 650 2.997374E-01 1.193120E-01 0.000000E+00 655 2.277792E-01 8.979594E-02 0.000000E+00 660 1.707914E-01 6.671045E-02 0.000000E+00 665 1.263808E-01 4.899699E-02 0.000000E+00 670 9.224597E-02 3.559982E-02 0.000000E+00 675 6.639960E-02 2.554223E-02 0.000000E+00 680 4.710606E-02 1.807939E-02 0.000000E+00 685 3.292138E-02 1.261573E-02 0.000000E+00 690 2.262306E-02 8.661284E-03 0.000000E+00 695 1.575417E-02 6.027677E-03 0.000000E+00 700 1.096778E-02 4.195941E-03 0.000000E+00 705 7.608750E-03 2.910864E-03 0.000000E+00 710 5.214608E-03 1.995557E-03 0.000000E+00 715 3.569452E-03 1.367022E-03 0.000000E+00 720 2.464821E-03 9.447269E-04 0.000000E+00 725 1.703876E-03 6.537050E-04 0.000000E+00 730 1.186238E-03 4.555970E-04 0.000000E+00 735 8.269535E-04 3.179738E-04 0.000000E+00 740 5.758303E-04 2.217445E-04 0.000000E+00 745 4.058303E-04 1.565566E-04 0.000000E+00 750 2.856577E-04 1.103928E-04 0.000000E+00 755 2.021853E-04 7.827442E-05 0.000000E+00 760 1.438270E-04 5.578862E-05 0.000000E+00 765 1.024685E-04 3.981884E-05 0.000000E+00 770 7.347551E-05 2.860175E-05 0.000000E+00 775 5.259870E-05 2.051259E-05 0.000000E+00 %780 3.806114E-05 1.487243E-05 0.000000E+00 %785 2.758222E-05 1.080001E-05 0.000000E+00 %790 2.004122E-05 7.863920E-06 0.000000E+00 %795 1.458792E-05 5.736935E-06 0.000000E+00 %800 1.068141E-05 4.211597E-06 0.000000E+00 %805 7.857521E-06 3.106561E-06 0.000000E+00 %810 5.768284E-06 2.286786E-06 0.000000E+00 %815 4.259166E-06 1.693147E-06 0.000000E+00 %820 3.167765E-06 1.262556E-06 0.000000E+00 %825 2.358723E-06 9.422514E-07 0.000000E+00 %830 1.762465E-06 7.053860E-07 0.000000E+00 ] def %END CIEF_XYZ_02 Colour matching functions 5nm 02-degree /FF10i [%BEG CIEF_XYZ_10 Colour matching functions 5nm 10-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 2.952420E-03 4.076779E-04 1.318752E-02 %=390 385 2.952420E-03 4.076779E-04 1.318752E-02 %=390 390 2.952420E-03 4.076779E-04 1.318752E-02 395 7.641137E-03 1.078166E-03 3.424588E-02 400 1.879338E-02 2.589775E-03 8.508254E-02 405 4.204986E-02 5.474207E-03 1.927065E-01 410 8.277331E-02 1.041303E-02 3.832822E-01 415 1.395127E-01 1.712968E-02 6.568187E-01 420 2.077647E-01 2.576133E-02 9.933444E-01 425 2.688989E-01 3.529554E-02 1.308674E+00 430 3.281798E-01 4.698226E-02 1.624940E+00 435 3.693084E-01 6.047429E-02 1.867751E+00 440 4.026189E-01 7.468288E-02 2.075946E+00 445 4.042529E-01 8.820537E-02 2.132574E+00 450 3.932139E-01 1.039030E-01 2.128264E+00 455 3.482214E-01 1.195389E-01 1.946651E+00 460 3.013112E-01 1.414586E-01 1.768440E+00 465 2.534221E-01 1.701373E-01 1.582342E+00 470 1.914176E-01 1.999859E-01 1.310576E+00 475 1.283167E-01 2.312426E-01 1.010952E+00 480 7.593120E-02 2.682271E-01 7.516389E-01 485 3.836770E-02 3.109438E-01 5.549619E-01 490 1.400745E-02 3.554018E-01 3.978114E-01 495 3.446810E-03 4.148227E-01 2.905816E-01 500 5.652072E-03 4.780482E-01 2.078158E-01 505 1.561956E-02 5.491344E-01 1.394643E-01 510 3.778185E-02 6.248296E-01 8.852389E-02 515 7.538941E-02 7.012292E-01 5.824484E-02 520 1.201511E-01 7.788199E-01 3.784916E-02 525 1.756832E-01 8.376358E-01 2.431375E-02 530 2.380254E-01 8.829552E-01 1.539505E-02 535 3.046991E-01 9.233858E-01 9.753000E-03 540 3.841856E-01 9.665325E-01 6.083223E-03 545 4.633109E-01 9.886887E-01 3.769336E-03 550 5.374170E-01 9.907500E-01 2.323578E-03 555 6.230892E-01 9.997775E-01 1.426627E-03 560 7.123849E-01 9.944304E-01 8.779264E-04 565 8.016277E-01 9.848127E-01 5.408385E-04 570 8.933408E-01 9.640545E-01 3.342429E-04 575 9.721304E-01 9.286495E-01 2.076129E-04 580 1.034327E+00 8.775360E-01 1.298230E-04 585 1.106886E+00 8.370838E-01 8.183954E-05 590 1.147304E+00 7.869950E-01 5.207245E-05 595 1.160477E+00 7.272309E-01 3.347499E-05 600 1.148163E+00 6.629035E-01 2.175998E-05 605 1.113846E+00 5.970375E-01 1.431231E-05 610 1.048485E+00 5.282296E-01 9.530130E-06 615 9.617111E-01 4.601308E-01 6.426776E-06 620 8.629581E-01 3.950755E-01 0.000000E+00 625 7.603498E-01 3.351794E-01 0.000000E+00 630 6.413984E-01 2.751807E-01 0.000000E+00 635 5.290979E-01 2.219564E-01 0.000000E+00 640 4.323126E-01 1.776882E-01 0.000000E+00 645 3.496358E-01 1.410203E-01 0.000000E+00 650 2.714900E-01 1.083996E-01 0.000000E+00 655 2.056507E-01 8.137687E-02 0.000000E+00 660 1.538163E-01 6.033976E-02 0.000000E+00 665 1.136072E-01 4.425383E-02 0.000000E+00 670 8.281010E-02 3.211852E-02 0.000000E+00 675 5.954815E-02 2.302574E-02 0.000000E+00 680 4.221473E-02 1.628841E-02 0.000000E+00 685 2.948752E-02 1.136106E-02 0.000000E+00 690 2.025590E-02 7.797457E-03 0.000000E+00 695 1.410230E-02 5.425391E-03 0.000000E+00 700 9.816228E-03 3.776140E-03 0.000000E+00 705 6.809147E-03 2.619372E-03 0.000000E+00 710 4.666298E-03 1.795595E-03 0.000000E+00 715 3.194041E-03 1.229980E-03 0.000000E+00 720 2.205568E-03 8.499903E-04 0.000000E+00 725 1.524672E-03 5.881375E-04 0.000000E+00 730 1.061495E-03 4.098928E-04 0.000000E+00 735 7.400120E-04 2.860718E-04 0.000000E+00 740 5.153113E-04 1.994949E-04 0.000000E+00 745 3.631969E-04 1.408466E-04 0.000000E+00 750 2.556624E-04 9.931439E-05 0.000000E+00 755 1.809649E-04 7.041878E-05 0.000000E+00 760 1.287394E-04 5.018934E-05 0.000000E+00 765 9.172477E-05 3.582218E-05 0.000000E+00 770 6.577532E-05 2.573083E-05 0.000000E+00 775 4.708916E-05 1.845353E-05 0.000000E+00 %780 3.407653E-05 1.337946E-05 0.000000E+00 %785 2.469630E-05 9.715798E-06 0.000000E+00 %790 1.794555E-05 7.074424E-06 0.000000E+00 %795 1.306345E-05 5.160948E-06 0.000000E+00 %800 9.565993E-06 3.788729E-06 0.000000E+00 %805 7.037621E-06 2.794625E-06 0.000000E+00 %810 5.166853E-06 2.057152E-06 0.000000E+00 %815 3.815429E-06 1.523114E-06 0.000000E+00 %820 2.837980E-06 1.135758E-06 0.000000E+00 %825 2.113325E-06 8.476168E-07 0.000000E+00 %830 1.579199E-06 6.345380E-07 0.000000E+00 ] def %END CIEF_XYZ_10 Colour matching functions 5nm 10-degree xchart13 0 eq {%xchart13=0 %02 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F02i i get put } for %i=0,1,239 } if %xchart13=0 xchart13 1 eq {%xchart13=1 %10 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F10i i get put } for %i=0,1,239 } if %xchart13=1 xchart13 2 eq {%xchart13=2 %02 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF02i i4 1 add get put FAi 80 i add FF02i i4 2 add get put FAi 160 i add FF02i i4 3 add get put } for %i=0,1,79 } if %xchart13=2 xchart13 3 eq {%xchart13=3 %10 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF10i i4 1 add get put FAi 80 i add FF10i i4 2 add get put FAi 160 i add FF10i i4 3 add get put } for %i=0,1,79 } if %xchart13=3 xchart13 4 ge {%xchart13>=4 /CY 0.35 def /CY2 1.00 def /CX 50 def /W0 570 def /W1 540 def /W2 440 def %new /ILT 0 def ILT 0 eq {/tsa 0.000 def} if ILT 1 eq {/tsa 0.010 def} if %actual 2 or 10-degree CIE standard observer E, 80 data, 380-775nm, delta=5nm /lE1j 80 array def /mE1j 80 array def /sE1j 80 array def /lESj 80 array def /mESj 80 array def /sESj 80 array def /XE1j 80 array def /YE1j 80 array def /ZE1j 80 array def /xanE1j 80 array def /yanE1j 80 array def /zanE1j 80 array def /XESj 80 array def /YESj 80 array def /ZESj 80 array def /xanESj 80 array def /yanESj 80 array def /zanESj 80 array def /Xmi 88 array def /Ymi 88 array def /Ymi0 88 array def /Ymi1 88 array def /Ymi2 88 array def /Ymi3 88 array def /sASjk 80 array def 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put Xmi i get W2 le {/YEXP Xmi i get W2 sub CX div dup mul CY2 mul neg def} {/YEXP 0.0001 def} ifelse /EYEXP 10 YEXP exp 0.0001 add def sASjk i EYEXP put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put %s later with media absortion correction /YEXP Xmi i get W2 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi2 i EYEXP put %l later with 2% linear blue cone attribute /YEXP Xmi i get W0 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi0 i EYEXP put %m symmetric with no change /YEXP Xmi i get W1 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi1 i EYEXP put %y linear 0.5 l + 0.5 m Ymi3 i Ymi0 i get Ymi1 i get add 0.5 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 %s with media absortion correction sESj i Ymi2 i get sASjk i get mul put %l with 2% linear s cone attribute lESj i Ymi0 i get sESj i get 0.02 mul add put %m symmetric with no change mESj i Ymi1 i get put } for %i=0,1,79 %Normalisation of LMS to 100 /fslES 0 def /fsmES 0 def /fssES 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumLMS /fslES fslES lESj i get add def /fsmES fsmES mESj i get add def /fssES fssES sESj i get add def } for %i=0,79 %0 1 79 {/i exch def %i=0,1,79 %no normalisation LMS, multiply with 100 for E00 % lESj i lESj i get put % mESj i mESj i get put % sESj i sESj i get put % } for %i=0,1,79 %0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 % lESj i lESj i get 100 mul put % mESj i mESj i get fsmES 0.0001 add div 100 mul put % sESj i sESj i get 100 mul put % } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 lESj i lESj i get fslES 0.0001 add div 21.18 mul put mESj i mESj i get fsmES 0.0001 add div 21.18 mul put sESj i sESj i get fssES 0.0001 add div 21.18 mul put } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 /A11 1.3200 def %LMS -> x /A12 -0.6600 def /A13 0.3400 def /A21 0.5000 def %LMS -> y /A22 0.5000 def /A23 0.0000 def /A31 0.0000 def %LMS -> z /A32 0.0000 def /A33 1.0000 def 0 1 79 {/i exch def %i=0,1,79 FAi i 000 add lESj i get A11 mul mESj i get A12 mul add sESj i get A13 mul add put FAi i 080 add lESj i get A21 mul mESj i get A22 mul add sESj i get A23 mul add put FAi i 160 add lESj i get A31 mul mESj i get A32 mul add sESj i get A33 mul add put } for %i=0,1,79 } if %xchart13>=4 %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOWi 82 array def /DOWZi 17 array def /F02Zi 51 array def /F10Zi 51 array def /FF02Zi 51 array def /FF10Zi 51 array def /LMS0Zi 51 array def /LMS1Zi 51 array def /FAZi 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOWi i 380 i 5 mul add put } for %i=0,79 /DOWZi %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def %'cl80'CIE_Z_CL80_85.TXT 180326 %CIE_02 CL800-7R.PDF /.PS and MACPS2PDF /F02Zi [%CIE_02 3x17 data 700 ... 400 0.0113 0.0114 0.0115 0.0116 0.0117 0.0118 0.0118 0.0119 0.0119 0.0119 0.0120 0.0121 0.0121 0.0123 0.0125 0.0129 0.0143 0.0041 0.0040 0.0038 0.0036 0.0035 0.0035 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0030 0.0028 0.0026 0.0020 0.0003 0.0000 0.0011 0.0051 0.0074 0.0093 0.0106 0.0117 0.0125 0.0134 0.0145 0.0155 0.0170 0.0191 0.0220 0.0272 0.0377 0.0678] def %CIE_10 CL810-7R.PDF /.PS and MACPS2PDF /F10Zi [%CIE_10 3x17 data 700 ... 400 0.0100 0.0105 0.0107 0.0109 0.0110 0.0111 0.0112 0.0113 0.0114 0.0116 0.0118 0.0120 0.0124 0.0130 0.0145 0.0191 0.0191 0.0037 0.0036 0.0035 0.0035 0.0035 0.0034 0.0034 0.0034 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0028 0.0020 0.0020 0.0000 0.0052 0.0074 0.0088 0.0101 0.0110 0.0120 0.0130 0.0140 0.0153 0.0170 0.0194 0.0229 0.0289 0.0425 0.0859 0.0860] def %CIE_F02 CL820-7R.PDF /.PS and MACPS2PDF /FF02Zi [%CIE_F02 3x17 data 700 ... 400 0.0109 0.0113 0.0116 0.0118 0.0120 0.0121 0.0122 0.0123 0.0124 0.0125 0.0126 0.0128 0.0130 0.0134 0.0140 0.0155 0.0221 0.0041 0.0041 0.0040 0.0040 0.0040 0.0040 0.0039 0.0039 0.0039 0.0039 0.0039 0.0039 0.0038 0.0038 0.0037 0.0034 0.0024 0.0000 0.0035 0.0065 0.0088 0.0103 0.0116 0.0125 0.0133 0.0144 0.0155 0.0168 0.0185 0.0206 0.0242 0.0307 0.0448 0.1096] def %CIE_F10 CL830-7R.PDF /.PS and MACPS2PDF /FF10Zi [%CIE_F10 3x17 data 700 ... 400 0.0098 0.0104 0.0106 0.0107 0.0108 0.0109 0.0110 0.0111 0.0112 0.0114 0.0115 0.0118 0.0121 0.0128 0.0142 0.0187 0.0187 0.0037 0.0036 0.0036 0.0036 0.0036 0.0036 0.0036 0.0035 0.0035 0.0035 0.0035 0.0035 0.0034 0.0033 0.0031 0.0025 0.0025 0.0000 0.0057 0.0077 0.0090 0.0102 0.0112 0.0120 0.0128 0.0140 0.0152 0.0168 0.0191 0.0225 0.0283 0.0422 0.0849 0.0850] def %LMS_0.00 CL840-7R.PDF /.PS and MACPS2PDF /LMS0Zi [%LMS_17M3 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def %LMS_0.01 CL850-7R.PDF /.PS and MACPS2PDF identical CL840-7R.PDF /LMS1Zi [%LMS_17M4 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def 0 1 50 {/i exch def %i=0,50 xchart13 0 eq {FAZi i F02Zi i get put} if xchart13 1 eq {FAZi i F10Zi i get put} if xchart13 2 eq {FAZi i FF02Zi i get put} if xchart13 3 eq {FAZi i FF10Zi i get put} if xchart13 4 eq {FAZi i LMS0Zi i get put} if xchart13 5 eq {FAZi i LMS1Zi i get put} if } for %i=0,50 /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /Xi 82 array def /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /AAN1i 200 array def %actual data for plot, Munsell colours (M=1) /BAN1i 200 array def /AANXi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXi 200 array def /FXNZi 17 array def /FYNZi 17 array def /FZNZi 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 FXAi i FAi 00 i add get put FYAi i FAi 80 i add get put FZAi i FAi 160 i add get put } for %i=0,1,79 %STOPxx /XKSUM 0 def /YKSUM 0 def /ZKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /XKSUM XKSUM FXAi i get add def /YKSUM YKSUM FYAi i get add def /ZKSUM ZKSUM FZAi i get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXNi i FXAi i get YKSUM div 100 mul put FYNi i FYAi i get YKSUM div 100 mul put FZNi i FZAi i get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXMi i FXAi i get XKSUM div 100 mul put FYMi i FYAi i get YKSUM div 100 mul put FZMi i FZAi i get ZKSUM div 100 mul put } for %i=0,1,79 %STOPx 0 1 79 {/i exch def %i=0,80 %for any illuminant Xi i FXNi i get put Yi i FYNi i get put Zi i FZNi i get put /SUM FXNi i get FYNi i get add FZNi i get add 0.00001 add def XANi i FXNi i get SUM div put YANi i FYNi i get SUM div put ZANi i FZNi i get SUM div put } for %i=0,79 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZi i FAZi 00 i add get 100 mul YKSUM div 100 mul put FYNZi i FAZi 17 i add get 100 mul YKSUM div 100 mul put FZNZi i FAZi 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZi i get put YZi i FYNZi i get put ZZi i FZNZi i get put /SUMZ FXNZi i get FYNZi i get add FZNZi i get add def XANZi i FXNZi i get SUMZ div put YANZi i FYNZi i get SUMZ div put ZANZi i FZNZi i get SUMZ div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXNi i get add def /YW YW FYNi i get add def /ZW ZW FZNi i get add def } for %i=0,79 /SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANW XW SUMW FL add div def /YANW YW SUMW FL add div def /ZANW ZW SUMW FL add div def K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.8859 mul def /YK YW 0.8859 mul def /ZK ZW 0.8859 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANW def /YANWL YANW def /ZANWL ZANW def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYi 80 array def /BnYi 80 array def } bind def %END proc_CIE_LMS0 %**************************************************************** /proc_PDT_colours {%BEG proc_PDT_colours /l02Ii 77 array def /m02Ii 77 array def /s02Ii 77 array def /l02Mi 77 array def /m02Mi 77 array def /s02Mi 77 array def /X02Ii 77 array def /Y02Ii 77 array def /Z02Ii 77 array def /xan02Ii 77 array def /yan02Ii 77 array def /zan02Ii 77 array def /X02Mi 77 array def /Y02Mi 77 array def /Z02Mi 77 array def /xan02Mi 77 array def /yan02Mi 77 array def /zan02Mi 77 array def /ycuri 77 array def /l02Mi [ %LMS2.TXT %L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm 4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400 4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2 2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450 5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1 1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500 3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1 7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550 9.657395e-1 9.814541e-1 9.944890e-1 1 9.923160e-1 9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600 7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1 4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650 1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2 2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700 4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4 6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750 1.095065e-4 7.799195e-5 ] def /m02Mi [ %M2.DAT 3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400 4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2 3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450 9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1 2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500 5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1 9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95? 9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1 6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600 2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2 6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650 1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3 1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700 2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5 4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750 7.822762e-6 5.690886e-6 ] def /s02Mi [ %S2.DAT CIE 171.1:2006 9.547289e-3 9.547289e-3 9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410 3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1 9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460 7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1 2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510 4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560 4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5 4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610 5.418387e-6 0 0 0 0 0 0 0 0 0 %650 0 0 0 0 0 0 0 0 0 0 %700 0 0 0 0 0 0 0 0 0 0 %750 0 0 ] def %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23 /A11 1.94735469 def /A12 -1.41445123 def /A13 0.36476327 def /A21 0.68990272 def /A22 0.34832189 def /A33 1.93485343 def /fsl02Mi 0 def /fsm02Mi 0 def /fss02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Mi fsl02Mi l02Mi i get add def /fsm02Mi fsm02Mi m02Mi i get add def /fss02Mi fss02Mi s02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung LMS l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put m02Ii i m02Mi i get put s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put } for %i=0,76 /fsl02Ii 0 def /fsm02Ii 0 def /fss02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Ii fsl02Ii l02Ii i get add def /fsm02Ii fsm02Ii m02Ii i get add def /fss02Ii fss02Ii s02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 X02Ii i l02Mi i get A11 mul m02Mi i get A12 mul add s02Mi i get A13 mul add put Y02Ii i l02Mi i get A21 mul m02Mi i get A22 mul add put Z02Ii i s02Mi i get A33 mul put } for %i=0,76 /fsX02Ii 0 def /fsY02Ii 0 def /fsZ02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzIi /fsX02Ii fsX02Ii X02Ii i get add def /fsY02Ii fsY02Ii Y02Ii i get add def /fsZ02Ii fsZ02Ii Z02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ X02Mi i X02Ii i get 1.1510330 div put %max 600nm Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm } for %i=0,76 /fsX02Mi 0 def /fsY02Mi 0 def /fsZ02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzMi /fsX02Mi fsX02Mi X02Mi i get add def /fsY02Mi fsY02Mi Y02Mi i get add def /fsZ02Mi fsZ02Mi Z02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 xyzan /sumXYZ X02Ii i get Y02Ii i get add Z02Ii i get add def xan02Ii i X02Ii i get sumXYZ div put yan02Ii i Y02Ii i get sumXYZ div put zan02Ii i Z02Ii i get sumXYZ div put } for %i=0,76 } bind def %END proc_PDT_colours %************************************************* %STOP4 /proc_Munsell_colours {%BEG proc_Munsell_colours %calculation of transformation data /FARBE 27 array def /FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00 () () () %01 (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02 () () () %03 (L* about 10, 20, 50, 80, 90) () () %04 () () () %05 () () () %06 () () () %07 () () () %08 ] def %Input /xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data /xy_MUNSELL %BEG xy_MUNSELL [%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9 % 05 % 1 40 1 1 VALUE1 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296 % 1 40 02 2 VALUE2 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583 % 1 40 05 3 VALUE5 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912 % 1 40 08 4 VALUE8 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040 % 1 40 09 5 VALUE9 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051 ] def %END xy_MUNSELL /Y_MUNSELL 5 array def %5 Y*1000 data /Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100 [12100 31300 197700 591000 786600] def %here 4 decimal places! /xy_MUNSELL_C 2 array def %2 xy*1000 data /xy_MUNSELL_C %BEG xy_MUNSELL_C [3101 3162] def %END xy_MUNSELL_C /xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8 /xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex [% 1 01 2 4CR=2EX 3149 3086 % 1 01 5 5CR=2EX 3142 3234 % 1 01 8 6CR=2EX 3144 3275 ] def %END xy_MUNSELL_Ex %M=Munsell /XMi 200 array def %5*40 colour of chroma 2 /YMi 200 array def /ZMi 200 array def /XANMi 200 array def /YANMi 200 array def /ZANMi 200 array def /AANMi 200 array def /BANMi 200 array def 0 0 0 1 setcmykcolor /fscale 0.0001 def 0 1 199 {/k exch def %k=0,199 /k2 k 2 mul def XANMi k xy_MUNSELL k2 0 add get fscale mul put YANMi k xy_MUNSELL k2 1 add get fscale mul put ZANMi k 1. XANMi k get sub YANMi k get sub put /kV k 40 idiv def /YVALUE Y_MUNSELL kV get fscale mul def YMi k YVALUE put /SUMY YVALUE YANMi k get div def XMi k SUMY XANMi k get mul put ZMi k SUMY ZANMi k get mul put } for %k=0,199 %*********************** %XWM,YWM,ZWM and XKW,YKW,ZKW for white /YANWM xy_MUNSELL_C 0 get fscale mul def /YANWM xy_MUNSELL_C 1 get fscale mul def /ZANWM 1. YANWM sub YANWM sub def /YWM 100. def /SUMWM YWM YANWM div def /XWM SUMWM YANWM mul def /ZWM SUMWM ZANWM mul def /XKM XWM def /YKM YWM def /ZKM ZWM def } bind def %END proc_Munsell_colours %************************************************************************* /proc_Ostwald_colours {%BEG proc_Ostwald_colours %Input %/FAi 240 array def %CIE_02, CIE_10, CIE_F02, CIE_F10, LMS_17M3 %/SX01 80 array def %380 bis 775 mit deltalambda=05 %/SX02 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX05 80 array def %380 bis 775 mit deltalambda=05 %/SX06 80 array def %380 bis 775 mit deltalambda=05 %/SX07 80 array def %380 bis 775 mit deltalambda=05 /WEL1i 60 array def %irregular definition /WEL2i 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1i [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def %Calculation /RAOi 80 array def %380 bis 770 nm /FAOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /FANOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /SDAKOi 80 array def %380 bis 775 mit deltalambda=05 /SX00Oi 80 array def %380 bis 775 mit deltalambda=05 /SX01Oi 80 array def %380 bis 775 mit deltalambda=05 /SX02Oi 80 array def %380 bis 775 mit deltalambda=05 /SX03Oi 80 array def %380 bis 775 mit deltalambda=05 /SX04Oi 80 array def %380 bis 775 mit deltalambda=05 /SX05Oi 80 array def %380 bis 775 mit deltalambda=05 /SX06Oi 80 array def %380 bis 775 mit deltalambda=05 /SX07Oi 80 array def %380 bis 775 mit deltalambda=05 %special wavelength range with complementary colours for E? /FXDOi 80 array def /FYDOi 80 array def /FZDOi 80 array def /DOWOi 80 array def /FADOi 80 array def /FBDOi 80 array def /FCDOi 80 array def %Results /XOi 80 array def %usually 40 Ostwald COLOURS /YOi 80 array def /ZOi 80 array def /XANOi 80 array def %usually 40 Ostwald COLOURS /YANOi 80 array def /ZANOi 80 array def 0 1 239 {/i exch def %i=0,239 FAOi i FAi i get put } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO FAOi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add FAOi 00 i add get YKSUM div 100 mul put FANOi 80 i add FAOi 80 i add get YKSUM div 100 mul put FANOi 160 i add FAOi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 SX00Oi i SX00 i get put SX01Oi i SX01 i get put SX02Oi i SX02 i get put SX03Oi i SX03 i get put SX04Oi i SX04 i get put SX05Oi i SX05 i get put SX06Oi i SX06 i get put SX07Oi i SX07 i get put } for %i=0,79 %STOP6 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAKOi i xchartx 0 eq {SX00Oi i get} if xchartx 1 eq {SX01Oi i get} if xchartx 2 eq {SX02Oi i get} if xchartx 3 eq {SX03Oi i get} if xchartx 4 eq {SX04Oi i get} if xchartx 5 eq {SX05Oi i get} if xchartx 6 eq {SX06Oi i get} if xchartx 7 eq {SX07Oi i get} if put } for %i=0,79 %STOP7 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get FAOi 80 i add get mul add def } for %i=0,1,79 %STOP8 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add SDAKOi i get FAOi 00 i add get mul YKSUM div 100 mul put FANOi 80 i add SDAKOi i get FAOi 80 i add get mul YKSUM div 100 mul put FANOi 160 i add SDAKOi i get FAOi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %STOP11 /FXNOi 80 array def %FXN 0 = F2N imax /FYNOi 80 array def /FZNOi 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXNOi i FANOi 000 i add get put FYNOi i FANOi 080 i add get put FZNOi i FANOi 160 i add get put } for %i=0,79 %XWO,YWO,ZWO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 /SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWO XWO SUMWO div def /YANWO YWO SUMWO div def /ZANWO ZWO SUMWO div def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXDOi i FXNOi 005 i add get put FYDOi i FYNOi 005 i add get put FZDOi i FZNOi 005 i add get put DOWOi i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXDOi 61 FXDOi 60 get put FYDOi 61 FYDOi 60 get put FZDOi 61 FZDOi 60 get put FXDOi 62 FXDOi 60 get put FYDOi 62 FYDOi 60 get put FZDOi 62 FZDOi 60 get put 0 1 62 {/i exch def %i=0,62 FADOi i FXDOi i get put FBDOi i FYDOi i get put FCDOi i FZDOi i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %STOP12 %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FADO,FBDO,FCDO, KNPO %output FWERTiX/Y/Z (i=1,4) KNP 1 ge {/FWERT1X FADOi KNP 1 sub get def /FWERT1Y FBDOi KNP 1 sub get def /FWERT1Z FCDOi KNP 1 sub get def} {/FWERT1X FADOi 0 get def %again 400nm for i=0 /FWERT1Y FBDOi 0 get def /FWERT1Z FCDOi 0 get def} ifelse /FWERT2X FADOi KNP get def /FWERT2Y FBDOi KNP get def /FWERT2Z FCDOi KNP get def /FWERT3X FADOi KNP 1 add get def /FWERT3Y FBDOi KNP 1 add get def /FWERT3Z FCDOi KNP 1 add get def /FWERT4X FADOi KNP 2 add get def /FWERT4Y FBDOi KNP 2 add get def /FWERT4Z FCDOi KNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1i k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXDOi j get def %start at 405..700nm /FF2 FYDOi j get def /FF3 FZDOi j get def /U1 XWO def /U2 YWO def /U3 ZWO def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add neg def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /KNP INP def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /KNP IPN def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RAOi i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RAOi i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RAOi i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RAOi i1 0.5 put RAOi i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /XO 0 def /YO 0 def /ZO 0 def 0 1 079 {/i exch def %i=0,79 /XO XO FANOi 00 i add get RAOi i get mul add def /YO YO FANOi 80 i add get RAOi i get mul add def /ZO ZO FANOi 160 i add get RAOi i get mul add def } for %i=0,79 /SUMO XO YO add ZO add def /XANO XO SUMO FL add div def /YANO YO SUMO FL add div def /ZANO ZO SUMO FL add div def %************************************************* 0 0 0 1 setcmykcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 XOi k XO put YOi k YO put ZOi k ZO put XANOi k XANO put YANOi k YANO put ZANOi k ZANO put }%Icom=0 {%Icom=1 /kP 20 k add def XOi kP XWO XO sub put YOi kP YWO YO sub put ZOi kP ZWO ZO sub put /SUMO XOi kP get YOi kP get add ZOi kP get add def XANOi kP XOi kP get SUMO FL add div put YANOi kP YOi kP get SUMO FL add div put ZANOi kP ZOi kP get SUMO FL add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 XOi k XOi k get 0.8859 mul put YOi k YOi k get 0.8859 mul put ZOi k ZOi k get 0.8859 mul put XOi kP XOi kP get 0.8859 mul put YOi kP YOi kP get 0.8859 mul put ZOi kP ZOi kP get 0.8859 mul put } if %K=1 } for %k=0,19 %************************************** %XWO,YWO,ZWO and XKO,YKO,ZKO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XKO XWO def /YKO YWO def /ZKO ZWO def }%K=0 {%K=1 /XKO XWO 0.8859 mul def /YKO YWO 0.8859 mul def /ZKO ZWO 0.8859 mul def } ifelse %K=1 /SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKO XKO SUMKO div def /YANKO YKO SUMKO div def /ZANKO ZKO SUMKO div def /XANWL XANWO def /YANWL YANWO def /ZANWL ZANWO def } bind def %END proc_Ostwald_colours %********************************************************************** %**************************************************************** %allways /proc_DEF_colours {%BEG proc_DEF_colours %Colour Deficiencies /ip1 700 380 sub 5 idiv def %ip=64:700nm /XANP1 XANi ip1 get def /YANP1 YANi ip1 get def /ZANP1 ZANi ip1 get def /id1 505 380 sub 5 idiv def %ip=25:505nm /XAND1 XANi id1 get def /YAND1 YANi id1 get def /ZAND1 ZANi id1 get def /it1 400 380 sub 5 idiv def %ip=4:400nm /XANT1 XANi it1 get def /YANT1 YANi it1 get def /ZANT1 ZANi it1 get def %************************* /XANP XANP1 def /YANP YANP1 def /ZANP ZANP1 def /XAND 1.000 def /YAND 0.001 def /ZAND 0.999 def /XANT 0.171 def /YANT 0.001 def /ZANT 1.000 XANT sub YANT sub def %************************* /XAN00 0.3333 def %Illuminant E /YAN00 0.3333 def /mP YAN00 YANP sub XAN00 XANP sub div def %700nm /bP YAN00 XAN00 mP mul sub def /mD YAN00 YAND sub XAN00 XAND sub div def %xx /bD YAN00 XAN00 mD mul sub def /mT YAN00 YANT sub XAN00 XANT sub div def %xx /bT YAN00 XAN00 mT mul sub def %************************* /mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm /bP1 YAN00 XAN00 mP1 mul sub def %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /XAND1 XANZi i get def /YAND1 YANZi i get def /mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm /bD1 YAN00 XAN00 mD1 mul sub def /mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm /bT1 YAN00 XAN00 mT1 mul sub def /ishow {0 -40 rmoveto show 0 40 rmoveto} def /eshow {0 60 rmoveto show 0 -60 rmoveto} def /imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def /imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def /iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def } bind def %END proc_DEF_colours %allways if xchart6>=1 /proc_chromaticity {%BEG proc_chromaticity %chromaticity definitions xchartl 0 eq {%xchartl=0 %(x,y) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get put BANi i YANi i get put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 def /BANP1 YANP1 def /AAND1 XAND1 def /BAND1 YAND1 def /AANT1 XANT1 def /BANT1 YANT1 def /AANP XANP def /BANP YANP def /AAND XAND def /BAND YAND def /AANT XANT def /BANT YANT def %ACHROMATIC COLOUR /AANWL XANWL def /BANWL YANWL def /AANWC XANWC def /BANWC YANWC def } if %xchartl=0 %only for (x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=1 %only for (a0,b0) %***************** xchartl 2 eq {%xchartl=2 %(a1,b1) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=2 %only for (a1,b1) %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=3 %only for (a2,b2) %***************** xchartl 4 eq {%xchartl=4 %(a3,b3) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=4 %only for (a3,b3) %***************** xchartl 5 eq {%xchartl=5 %(a4,b4) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=5 %only for (a4,b4) %***************** xchartl 6 eq {%xchartl=6 %(a5,b5) /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def 0 1 79 {/i exch def %i=0,79 AANi i XANi i get A51 mul YANi i get A52 mul add A53 add YANi i get FL add div a2x mul put BANi i XANi i get B51 mul YANi i get B52 mul add B53 add YANi i get FL add div b2x mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get A51 mul YANZi i get A52 mul add A53 add YANZi i get FL add div a2x mul put BANZi i XANZi i get B51 mul YANZi i get B52 mul add B53 add YANZi i get FL add div b2x mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div a2x mul def /BANWL XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div b2x mul def /AANWC XANWC A51 mul YANWC A52 mul add A53 add YANWC FL add div a2x mul def /BANWC XANWC B51 mul YANWC B52 mul add B53 add YANWC FL add div b2x mul def } if %xchartl=6 %only for (a5,b5) %***************** xchartl 7 eq {%xchartl=7 %(a6,b6) %a=x/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=7 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_coor {%BEG proc_xaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1<=7 TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 3 eq or xchartl 7 eq or {%xchartl=1,3,7 TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,3,7 xchartl 2 eq xchartl 4 eq or xchartl 5 eq or {%xchartl=2,4,5 TBS (=\050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-0,171\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl#2,4,5 xchartl 6 eq {%xchartl=6 TBS (=\0508,61) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-7,20) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-0,269\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart=0,#0 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1,7 TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 2 eq or {%xchartl=1,2 TBS (=-0,40) show TBIS (z) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,2 xchartl 3 eq xchartl 5 eq or {%xchartl=3,5 TBS (=\050) show mP1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=3,5 xchartl 4 eq xchartl 7 eq or {%xchartl=4,7 TBS (=\050) show mD1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=4,7 xchartl 6 eq {%xchartl=6 TBS (=\0501,99) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+3,86) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-2,40\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart#0 } bind def %END proc_yaxis_xchartl_coor %********************************************************* /proc_chromaticity_lines {%BEG proc_chromaticity_lines for xchart6>=1 %chromaticity lines and with names for xchart6=2 xchartl 0 eq {%xchartl=0 %(x,y) /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolor 0 eq {(CIE 1931) show} if xcolor 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 M 0 000 000 (545) %33 1 050 050 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 L 1 050 050 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 100 -50 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 100 -50 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf XANWL fakt mul def /BANWLf YANWL fakt mul def /AANWCf XANWC fakt mul def /BANWCf YANWC fakt mul def /i 400 380 sub 5 idiv def %4 T /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0.5 0 0.5 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS /i 450 380 sub 5 idiv def %14 S /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S /i 475 380 sub 5 idiv def %18 B /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be (Lc) AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4 /i 495 380 sub 5 idiv def %23 Rc /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S) AANF 120 add BANF 400 sub moveto TIK (M) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 505 380 sub 5 idiv def %26 505c,E /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S) AANF 250 add BANF 300 sub moveto TIK (V') show 0 0 0 setrgbcolor AANF 050 add BANF 550 sub moveto TIK (V) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 520 380 sub 5 idiv def %28 G /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B) AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4 1 1 0 setrgbcolor AANF 100 sub BANF 700 sub moveto TIK (Y) show (l) iy4 TK (=) show 0 0 1 setrgbcolor TIK (B) show (l) iy4 /i 540 380 sub 5 idiv def %32 M /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %540 M AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4 /i 555 380 sub 5 idiv def %35 V /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M) AANF 000 add BANF 000 add moveto TIK (V) show (m) is4 /i 570 380 sub 5 idiv def %38 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %570 L %AANF 250 sub BANF 200 sub moveto TIK (Y) show %0 0 0 setrgbcolor AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4 /i 575 380 sub 5 idiv def %39 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %575 L AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4 /i 700 380 sub 5 idiv def %64 R /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %700 AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4 %Protanop PL 1 0 0 setrgbcolor AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans0 neg ytrans0 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=0 %(x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) %STOP9 /xtrans1a 0500 def /xtrans1 1300 def /ytrans1 3200 def xtrans1a ytrans1 translate 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans1a neg ytrans1 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans1 ytrans1 translate /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 1 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 200 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0050 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans1 neg ytrans1 neg translate %ENDE: 2 } if %xchartl=1 %(a0,b0) %*********************************************************** xchartl 2 eq {%xchartl=2 (a1,b1) /xtrans2a 0500 def /xtrans2 1300 def /ytrans2 3200 def xtrans2a ytrans2 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans2a neg ytrans2 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans2 ytrans2 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -250 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans2 neg ytrans2 neg translate %for text and grafic %ENDE: 2 } if %xchartl=2 %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) /xtrans3a 0500 def /xtrans3 1300 def /ytrans3 3200 def xtrans3a ytrans3 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans3a neg ytrans3 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans3 ytrans3 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 100 -050 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1700 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 0500 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0250 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans3 neg ytrans3 neg translate %for text and grafic %ENDE: 2 } if %xchartl=3 %*********************************************************** xchartl 4 eq {%xchartl=4 %(a3,b3) /xtrans4a 0500 def /xtrans4 1300 def /ytrans4 3200 def xtrans4a ytrans4 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans4a neg ytrans4 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans4 ytrans4 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -280 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2100 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0550 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans4 neg ytrans4 neg translate %for text and grafic %ENDE: 2 } if %xchartl=4 %*********************************************************** xchartl 5 eq {%xchartl=5 %(a4,b4) /xtrans5a 0500 def /xtrans5 1300 def /ytrans5 3200 def xtrans5a ytrans5 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans5a neg ytrans5 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans5 ytrans5 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 -050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -050 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -300 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0800 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0700 0080 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0300 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 0050 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans5 neg ytrans5 neg translate %for text and grafic %ENDE: 2 } if %xchartl=5 %*********************************************************** xchartl 6 eq {%xchartl=6 %(a5,b5) /xtrans6a 0500 def /xtrans6 1300 def /ytrans6 3200 def xtrans6a ytrans6 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans6a neg ytrans6 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans6 ytrans6 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 0 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans6 neg ytrans6 neg translate %for text and grafic %ENDE: 2 } if %xchartl=6 %*********************************************************** xchartl 7 eq {%xchartl=7 %(a6,b6) /xtrans7a 0500 def /xtrans7 1300 def /ytrans7 3200 def xtrans7a ytrans7 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans7a neg ytrans7 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans7 ytrans7 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 newpath TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 newpath newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 newpath TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 newpath /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1800 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans7 neg ytrans7 neg translate %for text and grafic %ENDE: 2 } if %xchartl=7 } bind def %END proc_chromaticity_lines /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt /proc_tab1N {%BEG proc_tab1N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab1N %******************************************************** /proc_tab2N {%BEG proc_tab2N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab2N %********************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} %new {/xchart5 2 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %STOP1 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolor cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow gsave %XCHA01.PS END 5 /Times-ISOL1 FS %175 85 moveto (DG411-3A_4N_2N) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale 30 setlinewidth %xchart3 0 def %with Munsell colours %xchart3 1 def %with Ostwald colours %xchart3 2 det %without any colour /xchart3 1 def %diagram 0:Munsell colours, 1:Ostwald colours, 2:- %xchart5 0 def %without marc illuminant and text %xchart5 1 def %with marc illuminant %xchart5 2 def %with marc illuminant and text /xchart5 2 def %0:-, 1:illuminant, 2:illuminant and text %xchart6 0 def %without chromaticity_lines %xchart6 1 def %with chromaticity_lines %xchart6 2 def %with chromaticity_lines and names /xchart6 2 def %0:-, 1:chromaticity_lines 2:chromaticity_lines & names %xchart7 0 def %Ostwald colours without Name or Y %xchart7 1 def %Ostwald colours with Name %xchart7 2 def %Ostwald colours with CIE Y /xchart7 2 def %0:-, 1:Name, 2:Y %xchartl with 0 1 2 3 4 5 6 7 %xchart8 0 def %0:Pxx (P60, P55, P50, P45, P40, P35, P30, P25) colours %xchart8 1 def %1:Dxx (D65, D50, P40, A00, E00, C00, P00, Q00) colours /xchart8 1 def %0:Pxx, 1:Dxx colours %xchart9 0 def %for Y10-7R.EPS -> Table XYZ, not used here %xchart9 1 def %for Y10-7R.EPS -> Table CAB, not used here %xchart9 2 def %for Y10-7R.EPS -> Table (a,b), not used here /xchart9 0 def %Table 0:(XYZ), 1:(CAB), 2(ab) %xchart10 0 def %for Y10G00NP.PS6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10G00NP.PS6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10G00NP.PS6.PS -> chroma (A*i,B*i) /xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) %xchart13 0 def %CIE_02 %xchart13 1 def %CIE_10 %xchart13 2 def %CIE_F02 %xchart13 3 def %CIE_F10 %xchart13 4 def %LMS_17M3 %xchart13 5 def %LMS_17M4 /xchart13 4 def %xchart13=4(CIE_42),1(CIE_14),2(CIE_F42),3(CIE_F14),4/5 (model) %/xchart14 0 def %unnormiert %/xchart14 1 def %Yw-normiert %/xchart14 2 def %XYZw-normiert /xchart14 0 def %1:unnormiert, 2:Yw-normiert. 3:XYZw-normiert /posax 2700 def /posay 0550 def /posbx -350 def /posby -3150 def /FL 0.00001 def /Y18 18 def %grey background %/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i) /n1e 1.0000 def %allways %/n1e 0.3333 def %very special (a', b') xchart10 1 le {/n0e 1.0000 def} {/n0e 0.3333 def} ifelse gsave /xchartx xchart def 0 1 0 {/xchartx exch def %xchartx=0,7 %8 illuminants gsave 20 setlinewidth %0 0 11550 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey %0 0 11550 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz %STOP %allways proc_CIE_LMS0 %STOP1 proc_DEF_colours xchart3 0 eq {%BEG proc_Munsell_colours proc_Munsell_colours } if %END proc_Munsell_colours xchart3 1 eq {%BEG proc_Ostwald_colours proc_Ostwald_colours } if %END proc_Ostwald_colours %STOP2 /xchartl 05 def 02 1 02 {/xchartl exch def %xchartl=0,7 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto xchartl 7 le {(DG411-) show} {(DG411-) show} ifelse xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow} if xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow} if (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.3 setcmykcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 1.0 colrecst %frame black /xtexti 96 array def /ytexti 96 array def %BEG INC Y11_XCHART10_0/1/2.PS %line 5531 %******************************************************************** %BEG 'CL70'Y11_XCHART1A_1.PS FROM 'CL66'Y10-7R_66.EPS xchart10 1 eq {%xchart10=1 long loop 1700 lines! %/xxt -0.021 def /yyt -0.024 def %/xat 0.031 def /yat 0.029 def /xxt 0.000 def /yyt 0.000 def /xat 0.000 def /yat 0.000 def /proc_Yexp {%BEG proc_Yexp xchart10 0 eq {%chromaticity /Yexp 1 def } if %chromaticity xchart10 1 eq {%chromatic value xchart3 0 eq {%Munsell colours /Yexp YMi ikV40 get def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp YOi i get def } if %Ostwald colours } if %chromatic value xchart10 2 eq {%chroma xchart3 0 eq {%Munsell colours /Yexp Y18 YMi ikV40 get Y18 div n0e exp mul def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp Y18 YOi i get Y18 div n0e exp mul def } if %Ostwald colours } if %chroma } bind def %END proc_Yexp 0 0 0 1 setcmykcolor /xchart12 xchartl 12 mul def xchart3 0 eq {%xchart3=0 %Munsell_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Ostwald_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=1 %Ostwald_colours xchart3 1 eq xchartl 0 eq and {%xchart3=1 only for Ostwald colours and (x,y) xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name und Spektralbereich) showde %0DG411-7 00581 (Name and spectral range) showen %1DG411-7 00581 (Nombre y gama espectral) showes %2DG411-7 00581 (Nom et la gamma spectrale) showfr %3DG411-7 00581 (Nome e la gamma spettrale) showit %4DG411-7 00581 (Name and spectral range) showjp %5DG411-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBEO 0 get show TBV 0 -40 rmoveto FARBEO 1 get show 0 40 rmoveto TBIS FARBEO 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBEO 3 get show TBV 0 -40 rmoveto FARBEO 4 get show 0 40 rmoveto TBIS FARBEO 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBEO 6 get show TBV 0 -40 rmoveto FARBEO 7 get show 0 40 rmoveto TBIS FARBEO 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBEO 9 get show TBV 0 -40 rmoveto FARBEO 10 get show 0 40 rmoveto TBIS FARBEO 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBEO 12 get show TBV 0 -40 rmoveto FARBEO 13 get show 0 40 rmoveto TBIS FARBEO 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBEO 15 get show TBV 0 -40 rmoveto FARBEO 16 get show 0 40 rmoveto TBIS FARBEO 17 get show } if %xchart3=1 only for Ostwald colours TBS 0 0 0 1 setcmykcolor xchart3 0 eq {%xchart3=0 %Munsell_colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Munsell) show TBS (-System) showde %0DG411-7 02581 ( System) showea %1DG411-7 02581 TBIS (, Y) show (w) ib6 xcolor 1 eq {(,10) ib6} if TBS K 0 eq {(=100, ) show}{(=88,6, ) show} ifelse TELi xchartx get show xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (C=2, V=1, 2, 5, 8 & 9, ) show %0DG411-7 03581 TELi xchartx get show } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Optimal Colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Ostwald) showde TBS ( Farben (o)) showde %0DG411-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1DG411-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2DG411-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3DG411-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4DG411-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5DG411-7 02581 TBIS (, Y) show 0 -60 rmoveto (W) show 0 60 rmoveto TBS K 0 eq {(=100) show}{(=88,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (max (m) Buntwert, ) showde %0DG411-7 03581 (max (m) chromatic value, ) showen %1DG411-7 03581 (chromatic m\341x (m), ) showes %2DG411-7 03581 (max (m) chromatic valeur, ) showfr %3DG411-7 03581 (max (m) chromatic value, ) showit %4DG411-7 03581 (max (m) chromatic value, ) showjp %5DG411-7 03581 TELi xchartx get show } if %xchart3=1 %Optimal_colours %BEG For All Colours last line xtexti xchart12 2 add get ytexti xchart12 2 add get moveto proc_diagram_xchartl_txt %END For All Colours last line %*********************************************************** /imM 199 def %maximum Munsell Colours /imO 039 def %maximum Ostwald Colours %***************************************** 0 setgray xchartl 0 eq {%xchartl=0 %(x,y) %only for xchartl=0 proc_chromaticity proc_chromaticity_lines /fakt 4000 def /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic xchart3 0 eq {%xchart3=0 %BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 AnYi i XANMi i kV40 add get fakt mul put %x BnYi i YANMi i kV40 add get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath XANWL fakt mul YANWL fakt mul 40 0 360 arc stroke xchart5 2 eq {%xchart5=2 %+TELi XANWL fakt mul 200 sub 150 add YANWL fakt mul 500 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi xchart5 3 eq {%xchart5=3 %+V=1..9 1250 550 add 1316 250 add moveto (1) show 1250 350 add 1316 100 add moveto (2) show 1250 200 add 1316 050 add moveto (5) show } if %xchart5=3 %+V=1..9 } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 0 0 setrgbcolor 0 1 39 {/i exch def %i=0,39 AnYi i XANOi i get fakt mul put %x BnYi i YANOi i get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans0 neg ytrans0 neg translate %for scala and graphi } if %xchartl=0 %************************ %Special coordinate system for (Ax,Bx) digrams*************** %***************** xchartl 1 ge {%xchartl>=1 /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic %axis and scales 0 0 0 1 setcmyk_olvcolor -2250 0 moveto 3950 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1700 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-40) ( ) ( ) ( ) ( 40)] def /yt10x [(-40) ( ) ( ) ( ) (40)] def /fakt 40 def %default xchart3 0 eq {/xt10x [(-10) ( ) ( ) ( ) ( 10)] def /yt10x [(-10) ( ) ( ) ( ) (10) ] def} if %xchart3=0 %Munsell 0 0 0 1 setcmyk_olvcolor 0 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {%i=4 -1600 i 800 mul add 0 moveto -100 150 rmoveto TBIM (A) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1600 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {%i=4 -100 -1600 i 800 mul add moveto -250 150 rmoveto TBIM (B) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl>=1 %********************************************************** xchartl 1 eq {%xchartl=1 %(A0,B0) (a=x/y, b=-0.4*z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl=1 %(A0,B0) %***************************************************************** xchartl 2 eq {%xchartl=2 %(A1,B1) (a1=[x-XANT]/y, b1=z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans2 3500 def /ytrans2 2000 def xtrans2 ytrans2 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (T1) ib6 TBS (=) show 1.0 cvsshow3x (, ) show TBIS (b) show (T1) ib6 TBS (=) show XANT cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans2 neg ytrans2 neg translate %for scala and graphic } if %xchartl=2 %(A1,B1) %************************ xchartl 3 eq {%xchartl=1 %(A2,B2) (a2=x/y, b2=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans3 3500 def /ytrans3 2000 def xtrans3 ytrans3 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans3 neg ytrans3 neg translate %for scala and graphic } if %xchartl=3 %(A2,B2) %************************ xchartl 4 eq {%xchartl=04 %(A3,B3) (a3=[x-XANT]/y, b3=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans4 3500 def /ytrans4 2000 def xtrans4 ytrans4 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans4 neg ytrans4 neg translate %for scala and graphic } if %xchartl=4 %(A3,B3) %************************ xchartl 5 eq {%xchartl=5 %(A4,B4) (a4=(x-XANT)/y, b4=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans5 3500 def /ytrans5 2000 def xtrans5 ytrans5 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans5 neg ytrans5 neg translate %for scala and graphic } if %xchartl=5 %(A4,B4) %************************ xchartl 6 eq {%xchartl=6 %(A5,B5) (a5=[x-XANT]/y, b5=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def /xtrans6 3500 def /ytrans6 2000 def xtrans6 ytrans6 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (a) show (2x) ib6 TBS ([\050+) show A51 cvsshow2x TBIS (x) show TBS A52 cvsshow2x TBIS (y) show TBS A53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (b) show (2x) ib6 TBS ([\050+) show B51 cvsshow2x TBIS (x) show TBS (+) show B52 cvsshow2x TBIS (y) show TBS B53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (2x) ib6 TBS ( = ) show a2x cvsshow2x (, ) show TBIS (b) show (2x) ib6 TBS ( = ) show b2x cvsshow2x -3400 iyT idyT 7 mul sub moveto SS (l) show (B,G,Y,R) ib6 TBS (=475,503,574,494c,E nm) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get A51 mul YANMi ikV40 get A52 mul add A53 add YANMi ikV40 get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANMi ikV40 get B51 mul YANMi ikV40 get B52 mul add B53 add YANMi ikV40 get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get A51 mul YANOi i get A52 mul add A53 add YANOi i get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANOi i get B51 mul YANOi i get B52 mul add B53 add YANOi i get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans6 neg ytrans6 neg translate %for scala and graphic } if %xchartl=6 %(A5,B5) %************************ xchartl 7 eq {%xchartl=7 %(A6,B6) (a6=x/y, b6=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans7 3500 def /ytrans7 2000 def xtrans7 ytrans7 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans7 neg ytrans7 neg translate %for scala and graphic } if %xchartl=7 } if %xchart10=1 long loop 1700 lines! %END 'CL70'Y11_XCHART1A_1.PS %*************************************************************** %END INC Y11_XCHART10_0/1/2.PS %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 08 MM sub 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 http://farbe.li.tu-berlin.de/DG41/DG411-1A_3N 20180221 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark13 where {pop} {userdict /pdfmark13 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark13 [ /View [ /Fit ] /DOCVIEW pdfmark13 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SV {160 /Symbol FS} bind def /CV {160 /Courier-ISOL1 FS} bind def /CS {200 /Courier-ISOL1 FS} bind def /CK {240 /Courier-ISOL1 FS} bind def /CM {280 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBV {160 /CourierB-ISOL1 FS} bind def /CBS {200 /CourierB-ISOL1 FS} bind def /CBK {240 /CourierB-ISOL1 FS} bind def /CBM {280 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /ns {350 /Times-ISOL1 FS show} bind def /ks {350 /TimesI-ISOL1 FS show} bind def /bs {350 /TimesB-ISOL1 FS show} bind def /js {350 /TimesBI-ISOL1 FS show} bind def /sy {350 /Symbol FS show} bind def /is {280 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /es {280 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ib {280 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eb {280 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ip {280 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /ns2 {280 /Times-ISOL1 FS show TM} bind def /ks2 {280 /TimesI-ISOL1 FS show TM} bind def /bs2 {280 /TimesB-ISOL1 FS show TM} bind def /js2 {280 /TimesBI-ISOL1 FS show TM} bind def /sy2 {280 /Symbol FS show TM} bind def /is2 {240 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {240 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {240 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {240 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {240 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def /iy2 {240 /Symbol FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def %40% kleiner /ns4 {240 /Times-ISOL1 FS show TK} bind def /ks4 {240 /TimesI-ISOL1 FS show TK} bind def /bs4 {240 /TimesB-ISOL1 FS show TK} bind def /js4 {240 /TimesBI-ISOL1 FS show TK} bind def /ss4 {240 /Symbol FS show TK} bind def /is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def /iy4 {200 /Symbol FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def %60% kleiner /ns6 {200 /Times-ISOL1 FS show TS} bind def /ks6 {200 /TimesI-ISOL1 FS show TS} bind def /bs6 {200 /TimesB-ISOL1 FS show TS} bind def /js6 {200 /TimesBI-ISOL1 FS show TS} bind def /ss6 {200 /Symbol FS show TS} bind def /is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /es6 {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eb6 {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def /iy6 {160 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /cvicvs {cvi 6 string cvs} def /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.1234/99.0123/99.0010/99.0001 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10000 mul cvi /nxi exch def %nxi=991234/990123/990010/990000 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=1234/0123/0010/0001 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=1234/0123/0010/0001 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def /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 %************************************************* /proc_CIE_LMS0 {%BEG proc_CIE_LMS0 %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %Combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F02i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F10i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /FF02i 320 array def %80x4 CIE_F02 fundamental observer /FF10i 320 array def %80x4 CIE_F10 fundamental observer /FAi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /XZAi 17 array def /YZAi 17 array def /ZZAi 17 array def /XANZAi 17 array def /YANZAi 17 array def /ZANZAi 17 array def /FXAi 80 array def %unnormiert /FYAi 80 array def /FZAi 80 array def /FXNi 80 array def %Y-normiert /FYNi 80 array def /FZNi 80 array def /FXMi 80 array def %XYZ-normiert /FYMi 80 array def /FZMi 80 array def %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F02i CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 %400nm: 0.0143 0.0003 0.0678 /F02i %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 %X:380_775 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 %700:0.0113 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 %Y:380_775 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 %700: 0.0041 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 %Z:380-775 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10i %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /FF02i [%BEG FF02i Colour matching functions 5nm 02-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 3.769647E-03 4.146161E-04 1.847260E-02 %=390 385 3.769647E-03 4.146161E-04 1.847260E-02 %=390 390 3.769647E-03 4.146161E-04 1.847260E-02 395 9.382967E-03 1.059646E-03 4.609784E-02 400 2.214302E-02 2.452194E-03 1.096090E-01 405 4.742986E-02 4.971717E-03 2.369246E-01 410 8.953803E-02 9.079860E-03 4.508369E-01 415 1.446214E-01 1.429377E-02 7.378822E-01 420 2.035729E-01 2.027369E-02 1.051821E+00 425 2.488523E-01 2.612106E-02 1.305008E+00 430 2.918246E-01 3.319038E-02 1.552826E+00 435 3.227087E-01 4.157940E-02 1.748280E+00 440 3.482554E-01 5.033657E-02 1.917479E+00 445 3.418483E-01 5.743393E-02 1.918437E+00 450 3.224637E-01 6.472352E-02 1.848545E+00 455 2.826646E-01 7.238339E-02 1.664439E+00 460 2.485254E-01 8.514816E-02 1.522157E+00 465 2.219781E-01 1.060145E-01 1.428440E+00 470 1.806905E-01 1.298957E-01 1.250610E+00 475 1.291920E-01 1.535066E-01 9.991789E-01 480 8.182895E-02 1.788048E-01 7.552379E-01 485 4.600865E-02 2.064828E-01 5.617313E-01 490 2.083981E-02 2.379160E-01 4.099313E-01 495 7.097731E-03 2.850680E-01 3.105939E-01 500 2.461588E-03 3.483536E-01 2.376753E-01 505 3.649178E-03 4.277595E-01 1.720018E-01 510 1.556989E-02 5.204972E-01 1.176796E-01 515 4.315171E-02 6.206256E-01 8.283548E-02 520 7.962917E-02 7.180890E-01 5.650407E-02 525 1.268468E-01 7.946448E-01 3.751912E-02 530 1.818026E-01 8.575799E-01 2.438164E-02 535 2.405015E-01 9.071347E-01 1.566174E-02 540 3.098117E-01 9.544675E-01 9.846470E-03 545 3.804244E-01 9.814106E-01 6.131421E-03 550 4.494206E-01 9.890228E-01 3.790291E-03 555 5.280233E-01 9.994608E-01 2.327186E-03 560 6.133784E-01 9.967737E-01 1.432128E-03 565 7.016774E-01 9.902549E-01 8.822531E-04 570 7.967750E-01 9.732611E-01 5.452416E-04 575 8.853376E-01 9.424569E-01 3.386739E-04 580 9.638388E-01 8.963613E-01 2.117772E-04 585 1.051011E+00 8.587203E-01 1.335031E-04 590 1.109767E+00 8.115868E-01 8.494468E-05 595 1.143620E+00 7.544785E-01 5.460706E-05 600 1.151033E+00 6.918553E-01 3.549661E-05 605 1.134757E+00 6.270066E-01 2.334738E-05 610 1.083928E+00 5.583746E-01 1.554631E-05 615 1.007344E+00 4.895950E-01 1.048387E-05 620 9.142877E-01 4.229897E-01 0.000000E+00 625 8.135565E-01 3.609245E-01 0.000000E+00 630 6.924717E-01 2.980865E-01 0.000000E+00 635 5.755410E-01 2.416902E-01 0.000000E+00 640 4.731224E-01 1.943124E-01 0.000000E+00 645 3.844986E-01 1.547397E-01 0.000000E+00 650 2.997374E-01 1.193120E-01 0.000000E+00 655 2.277792E-01 8.979594E-02 0.000000E+00 660 1.707914E-01 6.671045E-02 0.000000E+00 665 1.263808E-01 4.899699E-02 0.000000E+00 670 9.224597E-02 3.559982E-02 0.000000E+00 675 6.639960E-02 2.554223E-02 0.000000E+00 680 4.710606E-02 1.807939E-02 0.000000E+00 685 3.292138E-02 1.261573E-02 0.000000E+00 690 2.262306E-02 8.661284E-03 0.000000E+00 695 1.575417E-02 6.027677E-03 0.000000E+00 700 1.096778E-02 4.195941E-03 0.000000E+00 705 7.608750E-03 2.910864E-03 0.000000E+00 710 5.214608E-03 1.995557E-03 0.000000E+00 715 3.569452E-03 1.367022E-03 0.000000E+00 720 2.464821E-03 9.447269E-04 0.000000E+00 725 1.703876E-03 6.537050E-04 0.000000E+00 730 1.186238E-03 4.555970E-04 0.000000E+00 735 8.269535E-04 3.179738E-04 0.000000E+00 740 5.758303E-04 2.217445E-04 0.000000E+00 745 4.058303E-04 1.565566E-04 0.000000E+00 750 2.856577E-04 1.103928E-04 0.000000E+00 755 2.021853E-04 7.827442E-05 0.000000E+00 760 1.438270E-04 5.578862E-05 0.000000E+00 765 1.024685E-04 3.981884E-05 0.000000E+00 770 7.347551E-05 2.860175E-05 0.000000E+00 775 5.259870E-05 2.051259E-05 0.000000E+00 %780 3.806114E-05 1.487243E-05 0.000000E+00 %785 2.758222E-05 1.080001E-05 0.000000E+00 %790 2.004122E-05 7.863920E-06 0.000000E+00 %795 1.458792E-05 5.736935E-06 0.000000E+00 %800 1.068141E-05 4.211597E-06 0.000000E+00 %805 7.857521E-06 3.106561E-06 0.000000E+00 %810 5.768284E-06 2.286786E-06 0.000000E+00 %815 4.259166E-06 1.693147E-06 0.000000E+00 %820 3.167765E-06 1.262556E-06 0.000000E+00 %825 2.358723E-06 9.422514E-07 0.000000E+00 %830 1.762465E-06 7.053860E-07 0.000000E+00 ] def %END CIEF_XYZ_02 Colour matching functions 5nm 02-degree /FF10i [%BEG CIEF_XYZ_10 Colour matching functions 5nm 10-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 2.952420E-03 4.076779E-04 1.318752E-02 %=390 385 2.952420E-03 4.076779E-04 1.318752E-02 %=390 390 2.952420E-03 4.076779E-04 1.318752E-02 395 7.641137E-03 1.078166E-03 3.424588E-02 400 1.879338E-02 2.589775E-03 8.508254E-02 405 4.204986E-02 5.474207E-03 1.927065E-01 410 8.277331E-02 1.041303E-02 3.832822E-01 415 1.395127E-01 1.712968E-02 6.568187E-01 420 2.077647E-01 2.576133E-02 9.933444E-01 425 2.688989E-01 3.529554E-02 1.308674E+00 430 3.281798E-01 4.698226E-02 1.624940E+00 435 3.693084E-01 6.047429E-02 1.867751E+00 440 4.026189E-01 7.468288E-02 2.075946E+00 445 4.042529E-01 8.820537E-02 2.132574E+00 450 3.932139E-01 1.039030E-01 2.128264E+00 455 3.482214E-01 1.195389E-01 1.946651E+00 460 3.013112E-01 1.414586E-01 1.768440E+00 465 2.534221E-01 1.701373E-01 1.582342E+00 470 1.914176E-01 1.999859E-01 1.310576E+00 475 1.283167E-01 2.312426E-01 1.010952E+00 480 7.593120E-02 2.682271E-01 7.516389E-01 485 3.836770E-02 3.109438E-01 5.549619E-01 490 1.400745E-02 3.554018E-01 3.978114E-01 495 3.446810E-03 4.148227E-01 2.905816E-01 500 5.652072E-03 4.780482E-01 2.078158E-01 505 1.561956E-02 5.491344E-01 1.394643E-01 510 3.778185E-02 6.248296E-01 8.852389E-02 515 7.538941E-02 7.012292E-01 5.824484E-02 520 1.201511E-01 7.788199E-01 3.784916E-02 525 1.756832E-01 8.376358E-01 2.431375E-02 530 2.380254E-01 8.829552E-01 1.539505E-02 535 3.046991E-01 9.233858E-01 9.753000E-03 540 3.841856E-01 9.665325E-01 6.083223E-03 545 4.633109E-01 9.886887E-01 3.769336E-03 550 5.374170E-01 9.907500E-01 2.323578E-03 555 6.230892E-01 9.997775E-01 1.426627E-03 560 7.123849E-01 9.944304E-01 8.779264E-04 565 8.016277E-01 9.848127E-01 5.408385E-04 570 8.933408E-01 9.640545E-01 3.342429E-04 575 9.721304E-01 9.286495E-01 2.076129E-04 580 1.034327E+00 8.775360E-01 1.298230E-04 585 1.106886E+00 8.370838E-01 8.183954E-05 590 1.147304E+00 7.869950E-01 5.207245E-05 595 1.160477E+00 7.272309E-01 3.347499E-05 600 1.148163E+00 6.629035E-01 2.175998E-05 605 1.113846E+00 5.970375E-01 1.431231E-05 610 1.048485E+00 5.282296E-01 9.530130E-06 615 9.617111E-01 4.601308E-01 6.426776E-06 620 8.629581E-01 3.950755E-01 0.000000E+00 625 7.603498E-01 3.351794E-01 0.000000E+00 630 6.413984E-01 2.751807E-01 0.000000E+00 635 5.290979E-01 2.219564E-01 0.000000E+00 640 4.323126E-01 1.776882E-01 0.000000E+00 645 3.496358E-01 1.410203E-01 0.000000E+00 650 2.714900E-01 1.083996E-01 0.000000E+00 655 2.056507E-01 8.137687E-02 0.000000E+00 660 1.538163E-01 6.033976E-02 0.000000E+00 665 1.136072E-01 4.425383E-02 0.000000E+00 670 8.281010E-02 3.211852E-02 0.000000E+00 675 5.954815E-02 2.302574E-02 0.000000E+00 680 4.221473E-02 1.628841E-02 0.000000E+00 685 2.948752E-02 1.136106E-02 0.000000E+00 690 2.025590E-02 7.797457E-03 0.000000E+00 695 1.410230E-02 5.425391E-03 0.000000E+00 700 9.816228E-03 3.776140E-03 0.000000E+00 705 6.809147E-03 2.619372E-03 0.000000E+00 710 4.666298E-03 1.795595E-03 0.000000E+00 715 3.194041E-03 1.229980E-03 0.000000E+00 720 2.205568E-03 8.499903E-04 0.000000E+00 725 1.524672E-03 5.881375E-04 0.000000E+00 730 1.061495E-03 4.098928E-04 0.000000E+00 735 7.400120E-04 2.860718E-04 0.000000E+00 740 5.153113E-04 1.994949E-04 0.000000E+00 745 3.631969E-04 1.408466E-04 0.000000E+00 750 2.556624E-04 9.931439E-05 0.000000E+00 755 1.809649E-04 7.041878E-05 0.000000E+00 760 1.287394E-04 5.018934E-05 0.000000E+00 765 9.172477E-05 3.582218E-05 0.000000E+00 770 6.577532E-05 2.573083E-05 0.000000E+00 775 4.708916E-05 1.845353E-05 0.000000E+00 %780 3.407653E-05 1.337946E-05 0.000000E+00 %785 2.469630E-05 9.715798E-06 0.000000E+00 %790 1.794555E-05 7.074424E-06 0.000000E+00 %795 1.306345E-05 5.160948E-06 0.000000E+00 %800 9.565993E-06 3.788729E-06 0.000000E+00 %805 7.037621E-06 2.794625E-06 0.000000E+00 %810 5.166853E-06 2.057152E-06 0.000000E+00 %815 3.815429E-06 1.523114E-06 0.000000E+00 %820 2.837980E-06 1.135758E-06 0.000000E+00 %825 2.113325E-06 8.476168E-07 0.000000E+00 %830 1.579199E-06 6.345380E-07 0.000000E+00 ] def %END CIEF_XYZ_10 Colour matching functions 5nm 10-degree xchart13 0 eq {%xchart13=0 %02 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F02i i get put } for %i=0,1,239 } if %xchart13=0 xchart13 1 eq {%xchart13=1 %10 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F10i i get put } for %i=0,1,239 } if %xchart13=1 xchart13 2 eq {%xchart13=2 %02 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF02i i4 1 add get put FAi 80 i add FF02i i4 2 add get put FAi 160 i add FF02i i4 3 add get put } for %i=0,1,79 } if %xchart13=2 xchart13 3 eq {%xchart13=3 %10 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF10i i4 1 add get put FAi 80 i add FF10i i4 2 add get put FAi 160 i add FF10i i4 3 add get put } for %i=0,1,79 } if %xchart13=3 xchart13 4 ge {%xchart13>=4 /CY 0.35 def /CY2 1.00 def /CX 50 def /W0 570 def /W1 540 def /W2 440 def %new /ILT 0 def ILT 0 eq {/tsa 0.000 def} if ILT 1 eq {/tsa 0.010 def} if %actual 2 or 10-degree CIE standard observer E, 80 data, 380-775nm, delta=5nm /lE1j 80 array def /mE1j 80 array def /sE1j 80 array def /lESj 80 array def /mESj 80 array def /sESj 80 array def /XE1j 80 array def /YE1j 80 array def /ZE1j 80 array def /xanE1j 80 array def /yanE1j 80 array def /zanE1j 80 array def /XESj 80 array def /YESj 80 array def /ZESj 80 array def /xanESj 80 array def /yanESj 80 array def /zanESj 80 array def /Xmi 88 array def /Ymi 88 array def /Ymi0 88 array def /Ymi1 88 array def /Ymi2 88 array def /Ymi3 88 array def /sASjk 80 array def 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put Xmi i get W2 le {/YEXP Xmi i get W2 sub CX div dup mul CY2 mul neg def} {/YEXP 0.0001 def} ifelse /EYEXP 10 YEXP exp 0.0001 add def sASjk i EYEXP put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put %s later with media absortion correction /YEXP Xmi i get W2 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi2 i EYEXP put %l later with 2% linear blue cone attribute /YEXP Xmi i get W0 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi0 i EYEXP put %m symmetric with no change /YEXP Xmi i get W1 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi1 i EYEXP put %y linear 0.5 l + 0.5 m Ymi3 i Ymi0 i get Ymi1 i get add 0.5 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 %s with media absortion correction sESj i Ymi2 i get sASjk i get mul put %l with 2% linear s cone attribute lESj i Ymi0 i get sESj i get 0.02 mul add put %m symmetric with no change mESj i Ymi1 i get put } for %i=0,1,79 %Normalisation of LMS to 100 /fslES 0 def /fsmES 0 def /fssES 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumLMS /fslES fslES lESj i get add def /fsmES fsmES mESj i get add def /fssES fssES sESj i get add def } for %i=0,79 %0 1 79 {/i exch def %i=0,1,79 %no normalisation LMS, multiply with 100 for E00 % lESj i lESj i get put % mESj i mESj i get put % sESj i sESj i get put % } for %i=0,1,79 %0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 % lESj i lESj i get 100 mul put % mESj i mESj i get fsmES 0.0001 add div 100 mul put % sESj i sESj i get 100 mul put % } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 lESj i lESj i get fslES 0.0001 add div 21.18 mul put mESj i mESj i get fsmES 0.0001 add div 21.18 mul put sESj i sESj i get fssES 0.0001 add div 21.18 mul put } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 /A11 1.3200 def %LMS -> x /A12 -0.6600 def /A13 0.3400 def /A21 0.5000 def %LMS -> y /A22 0.5000 def /A23 0.0000 def /A31 0.0000 def %LMS -> z /A32 0.0000 def /A33 1.0000 def 0 1 79 {/i exch def %i=0,1,79 FAi i 000 add lESj i get A11 mul mESj i get A12 mul add sESj i get A13 mul add put FAi i 080 add lESj i get A21 mul mESj i get A22 mul add sESj i get A23 mul add put FAi i 160 add lESj i get A31 mul mESj i get A32 mul add sESj i get A33 mul add put } for %i=0,1,79 } if %xchart13>=4 %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOWi 82 array def /DOWZi 17 array def /F02Zi 51 array def /F10Zi 51 array def /FF02Zi 51 array def /FF10Zi 51 array def /LMS0Zi 51 array def /LMS1Zi 51 array def /FAZi 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOWi i 380 i 5 mul add put } for %i=0,79 /DOWZi %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def %'cl80'CIE_Z_CL80_85.TXT 180326 %CIE_02 CL800-7R.PDF /.PS and MACPS2PDF /F02Zi [%CIE_02 3x17 data 700 ... 400 0.0113 0.0114 0.0115 0.0116 0.0117 0.0118 0.0118 0.0119 0.0119 0.0119 0.0120 0.0121 0.0121 0.0123 0.0125 0.0129 0.0143 0.0041 0.0040 0.0038 0.0036 0.0035 0.0035 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0030 0.0028 0.0026 0.0020 0.0003 0.0000 0.0011 0.0051 0.0074 0.0093 0.0106 0.0117 0.0125 0.0134 0.0145 0.0155 0.0170 0.0191 0.0220 0.0272 0.0377 0.0678] def %CIE_10 CL810-7R.PDF /.PS and MACPS2PDF /F10Zi [%CIE_10 3x17 data 700 ... 400 0.0100 0.0105 0.0107 0.0109 0.0110 0.0111 0.0112 0.0113 0.0114 0.0116 0.0118 0.0120 0.0124 0.0130 0.0145 0.0191 0.0191 0.0037 0.0036 0.0035 0.0035 0.0035 0.0034 0.0034 0.0034 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0028 0.0020 0.0020 0.0000 0.0052 0.0074 0.0088 0.0101 0.0110 0.0120 0.0130 0.0140 0.0153 0.0170 0.0194 0.0229 0.0289 0.0425 0.0859 0.0860] def %CIE_F02 CL820-7R.PDF /.PS and MACPS2PDF /FF02Zi [%CIE_F02 3x17 data 700 ... 400 0.0109 0.0113 0.0116 0.0118 0.0120 0.0121 0.0122 0.0123 0.0124 0.0125 0.0126 0.0128 0.0130 0.0134 0.0140 0.0155 0.0221 0.0041 0.0041 0.0040 0.0040 0.0040 0.0040 0.0039 0.0039 0.0039 0.0039 0.0039 0.0039 0.0038 0.0038 0.0037 0.0034 0.0024 0.0000 0.0035 0.0065 0.0088 0.0103 0.0116 0.0125 0.0133 0.0144 0.0155 0.0168 0.0185 0.0206 0.0242 0.0307 0.0448 0.1096] def %CIE_F10 CL830-7R.PDF /.PS and MACPS2PDF /FF10Zi [%CIE_F10 3x17 data 700 ... 400 0.0098 0.0104 0.0106 0.0107 0.0108 0.0109 0.0110 0.0111 0.0112 0.0114 0.0115 0.0118 0.0121 0.0128 0.0142 0.0187 0.0187 0.0037 0.0036 0.0036 0.0036 0.0036 0.0036 0.0036 0.0035 0.0035 0.0035 0.0035 0.0035 0.0034 0.0033 0.0031 0.0025 0.0025 0.0000 0.0057 0.0077 0.0090 0.0102 0.0112 0.0120 0.0128 0.0140 0.0152 0.0168 0.0191 0.0225 0.0283 0.0422 0.0849 0.0850] def %LMS_0.00 CL840-7R.PDF /.PS and MACPS2PDF /LMS0Zi [%LMS_17M3 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def %LMS_0.01 CL850-7R.PDF /.PS and MACPS2PDF identical CL840-7R.PDF /LMS1Zi [%LMS_17M4 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def 0 1 50 {/i exch def %i=0,50 xchart13 0 eq {FAZi i F02Zi i get put} if xchart13 1 eq {FAZi i F10Zi i get put} if xchart13 2 eq {FAZi i FF02Zi i get put} if xchart13 3 eq {FAZi i FF10Zi i get put} if xchart13 4 eq {FAZi i LMS0Zi i get put} if xchart13 5 eq {FAZi i LMS1Zi i get put} if } for %i=0,50 /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /Xi 82 array def /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /AAN1i 200 array def %actual data for plot, Munsell colours (M=1) /BAN1i 200 array def /AANXi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXi 200 array def /FXNZi 17 array def /FYNZi 17 array def /FZNZi 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 FXAi i FAi 00 i add get put FYAi i FAi 80 i add get put FZAi i FAi 160 i add get put } for %i=0,1,79 %STOPxx /XKSUM 0 def /YKSUM 0 def /ZKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /XKSUM XKSUM FXAi i get add def /YKSUM YKSUM FYAi i get add def /ZKSUM ZKSUM FZAi i get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXNi i FXAi i get YKSUM div 100 mul put FYNi i FYAi i get YKSUM div 100 mul put FZNi i FZAi i get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXMi i FXAi i get XKSUM div 100 mul put FYMi i FYAi i get YKSUM div 100 mul put FZMi i FZAi i get ZKSUM div 100 mul put } for %i=0,1,79 %STOPx 0 1 79 {/i exch def %i=0,80 %for any illuminant Xi i FXNi i get put Yi i FYNi i get put Zi i FZNi i get put /SUM FXNi i get FYNi i get add FZNi i get add 0.00001 add def XANi i FXNi i get SUM div put YANi i FYNi i get SUM div put ZANi i FZNi i get SUM div put } for %i=0,79 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZi i FAZi 00 i add get 100 mul YKSUM div 100 mul put FYNZi i FAZi 17 i add get 100 mul YKSUM div 100 mul put FZNZi i FAZi 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZi i get put YZi i FYNZi i get put ZZi i FZNZi i get put /SUMZ FXNZi i get FYNZi i get add FZNZi i get add def XANZi i FXNZi i get SUMZ div put YANZi i FYNZi i get SUMZ div put ZANZi i FZNZi i get SUMZ div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXNi i get add def /YW YW FYNi i get add def /ZW ZW FZNi i get add def } for %i=0,79 /SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANW XW SUMW FL add div def /YANW YW SUMW FL add div def /ZANW ZW SUMW FL add div def K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.8859 mul def /YK YW 0.8859 mul def /ZK ZW 0.8859 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANW def /YANWL YANW def /ZANWL ZANW def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYi 80 array def /BnYi 80 array def } bind def %END proc_CIE_LMS0 %**************************************************************** /proc_PDT_colours {%BEG proc_PDT_colours /l02Ii 77 array def /m02Ii 77 array def /s02Ii 77 array def /l02Mi 77 array def /m02Mi 77 array def /s02Mi 77 array def /X02Ii 77 array def /Y02Ii 77 array def /Z02Ii 77 array def /xan02Ii 77 array def /yan02Ii 77 array def /zan02Ii 77 array def /X02Mi 77 array def /Y02Mi 77 array def /Z02Mi 77 array def /xan02Mi 77 array def /yan02Mi 77 array def /zan02Mi 77 array def /ycuri 77 array def /l02Mi [ %LMS2.TXT %L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm 4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400 4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2 2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450 5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1 1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500 3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1 7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550 9.657395e-1 9.814541e-1 9.944890e-1 1 9.923160e-1 9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600 7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1 4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650 1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2 2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700 4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4 6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750 1.095065e-4 7.799195e-5 ] def /m02Mi [ %M2.DAT 3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400 4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2 3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450 9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1 2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500 5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1 9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95? 9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1 6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600 2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2 6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650 1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3 1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700 2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5 4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750 7.822762e-6 5.690886e-6 ] def /s02Mi [ %S2.DAT CIE 171.1:2006 9.547289e-3 9.547289e-3 9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410 3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1 9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460 7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1 2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510 4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560 4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5 4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610 5.418387e-6 0 0 0 0 0 0 0 0 0 %650 0 0 0 0 0 0 0 0 0 0 %700 0 0 0 0 0 0 0 0 0 0 %750 0 0 ] def %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23 /A11 1.94735469 def /A12 -1.41445123 def /A13 0.36476327 def /A21 0.68990272 def /A22 0.34832189 def /A33 1.93485343 def /fsl02Mi 0 def /fsm02Mi 0 def /fss02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Mi fsl02Mi l02Mi i get add def /fsm02Mi fsm02Mi m02Mi i get add def /fss02Mi fss02Mi s02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung LMS l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put m02Ii i m02Mi i get put s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put } for %i=0,76 /fsl02Ii 0 def /fsm02Ii 0 def /fss02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Ii fsl02Ii l02Ii i get add def /fsm02Ii fsm02Ii m02Ii i get add def /fss02Ii fss02Ii s02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 X02Ii i l02Mi i get A11 mul m02Mi i get A12 mul add s02Mi i get A13 mul add put Y02Ii i l02Mi i get A21 mul m02Mi i get A22 mul add put Z02Ii i s02Mi i get A33 mul put } for %i=0,76 /fsX02Ii 0 def /fsY02Ii 0 def /fsZ02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzIi /fsX02Ii fsX02Ii X02Ii i get add def /fsY02Ii fsY02Ii Y02Ii i get add def /fsZ02Ii fsZ02Ii Z02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ X02Mi i X02Ii i get 1.1510330 div put %max 600nm Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm } for %i=0,76 /fsX02Mi 0 def /fsY02Mi 0 def /fsZ02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzMi /fsX02Mi fsX02Mi X02Mi i get add def /fsY02Mi fsY02Mi Y02Mi i get add def /fsZ02Mi fsZ02Mi Z02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 xyzan /sumXYZ X02Ii i get Y02Ii i get add Z02Ii i get add def xan02Ii i X02Ii i get sumXYZ div put yan02Ii i Y02Ii i get sumXYZ div put zan02Ii i Z02Ii i get sumXYZ div put } for %i=0,76 } bind def %END proc_PDT_colours %************************************************* %STOP4 /proc_Munsell_colours {%BEG proc_Munsell_colours %calculation of transformation data /FARBE 27 array def /FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00 () () () %01 (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02 () () () %03 (L* about 10, 20, 50, 80, 90) () () %04 () () () %05 () () () %06 () () () %07 () () () %08 ] def %Input /xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data /xy_MUNSELL %BEG xy_MUNSELL [%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9 % 05 % 1 40 1 1 VALUE1 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296 % 1 40 02 2 VALUE2 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583 % 1 40 05 3 VALUE5 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912 % 1 40 08 4 VALUE8 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040 % 1 40 09 5 VALUE9 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051 ] def %END xy_MUNSELL /Y_MUNSELL 5 array def %5 Y*1000 data /Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100 [12100 31300 197700 591000 786600] def %here 4 decimal places! /xy_MUNSELL_C 2 array def %2 xy*1000 data /xy_MUNSELL_C %BEG xy_MUNSELL_C [3101 3162] def %END xy_MUNSELL_C /xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8 /xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex [% 1 01 2 4CR=2EX 3149 3086 % 1 01 5 5CR=2EX 3142 3234 % 1 01 8 6CR=2EX 3144 3275 ] def %END xy_MUNSELL_Ex %M=Munsell /XMi 200 array def %5*40 colour of chroma 2 /YMi 200 array def /ZMi 200 array def /XANMi 200 array def /YANMi 200 array def /ZANMi 200 array def /AANMi 200 array def /BANMi 200 array def 0 0 0 1 setcmykcolor /fscale 0.0001 def 0 1 199 {/k exch def %k=0,199 /k2 k 2 mul def XANMi k xy_MUNSELL k2 0 add get fscale mul put YANMi k xy_MUNSELL k2 1 add get fscale mul put ZANMi k 1. XANMi k get sub YANMi k get sub put /kV k 40 idiv def /YVALUE Y_MUNSELL kV get fscale mul def YMi k YVALUE put /SUMY YVALUE YANMi k get div def XMi k SUMY XANMi k get mul put ZMi k SUMY ZANMi k get mul put } for %k=0,199 %*********************** %XWM,YWM,ZWM and XKW,YKW,ZKW for white /YANWM xy_MUNSELL_C 0 get fscale mul def /YANWM xy_MUNSELL_C 1 get fscale mul def /ZANWM 1. YANWM sub YANWM sub def /YWM 100. def /SUMWM YWM YANWM div def /XWM SUMWM YANWM mul def /ZWM SUMWM ZANWM mul def /XKM XWM def /YKM YWM def /ZKM ZWM def } bind def %END proc_Munsell_colours %************************************************************************* /proc_Ostwald_colours {%BEG proc_Ostwald_colours %Input %/FAi 240 array def %CIE_02, CIE_10, CIE_F02, CIE_F10, LMS_17M3 %/SX01 80 array def %380 bis 775 mit deltalambda=05 %/SX02 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX05 80 array def %380 bis 775 mit deltalambda=05 %/SX06 80 array def %380 bis 775 mit deltalambda=05 %/SX07 80 array def %380 bis 775 mit deltalambda=05 /WEL1i 60 array def %irregular definition /WEL2i 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1i [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def %Calculation /RAOi 80 array def %380 bis 770 nm /FAOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /FANOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /SDAKOi 80 array def %380 bis 775 mit deltalambda=05 /SX00Oi 80 array def %380 bis 775 mit deltalambda=05 /SX01Oi 80 array def %380 bis 775 mit deltalambda=05 /SX02Oi 80 array def %380 bis 775 mit deltalambda=05 /SX03Oi 80 array def %380 bis 775 mit deltalambda=05 /SX04Oi 80 array def %380 bis 775 mit deltalambda=05 /SX05Oi 80 array def %380 bis 775 mit deltalambda=05 /SX06Oi 80 array def %380 bis 775 mit deltalambda=05 /SX07Oi 80 array def %380 bis 775 mit deltalambda=05 %special wavelength range with complementary colours for E? /FXDOi 80 array def /FYDOi 80 array def /FZDOi 80 array def /DOWOi 80 array def /FADOi 80 array def /FBDOi 80 array def /FCDOi 80 array def %Results /XOi 80 array def %usually 40 Ostwald COLOURS /YOi 80 array def /ZOi 80 array def /XANOi 80 array def %usually 40 Ostwald COLOURS /YANOi 80 array def /ZANOi 80 array def 0 1 239 {/i exch def %i=0,239 FAOi i FAi i get put } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO FAOi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add FAOi 00 i add get YKSUM div 100 mul put FANOi 80 i add FAOi 80 i add get YKSUM div 100 mul put FANOi 160 i add FAOi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 SX00Oi i SX00 i get put SX01Oi i SX01 i get put SX02Oi i SX02 i get put SX03Oi i SX03 i get put SX04Oi i SX04 i get put SX05Oi i SX05 i get put SX06Oi i SX06 i get put SX07Oi i SX07 i get put } for %i=0,79 %STOP6 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAKOi i xchartx 0 eq {SX00Oi i get} if xchartx 1 eq {SX01Oi i get} if xchartx 2 eq {SX02Oi i get} if xchartx 3 eq {SX03Oi i get} if xchartx 4 eq {SX04Oi i get} if xchartx 5 eq {SX05Oi i get} if xchartx 6 eq {SX06Oi i get} if xchartx 7 eq {SX07Oi i get} if put } for %i=0,79 %STOP7 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get FAOi 80 i add get mul add def } for %i=0,1,79 %STOP8 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add SDAKOi i get FAOi 00 i add get mul YKSUM div 100 mul put FANOi 80 i add SDAKOi i get FAOi 80 i add get mul YKSUM div 100 mul put FANOi 160 i add SDAKOi i get FAOi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %STOP11 /FXNOi 80 array def %FXN 0 = F2N imax /FYNOi 80 array def /FZNOi 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXNOi i FANOi 000 i add get put FYNOi i FANOi 080 i add get put FZNOi i FANOi 160 i add get put } for %i=0,79 %XWO,YWO,ZWO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 /SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWO XWO SUMWO div def /YANWO YWO SUMWO div def /ZANWO ZWO SUMWO div def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXDOi i FXNOi 005 i add get put FYDOi i FYNOi 005 i add get put FZDOi i FZNOi 005 i add get put DOWOi i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXDOi 61 FXDOi 60 get put FYDOi 61 FYDOi 60 get put FZDOi 61 FZDOi 60 get put FXDOi 62 FXDOi 60 get put FYDOi 62 FYDOi 60 get put FZDOi 62 FZDOi 60 get put 0 1 62 {/i exch def %i=0,62 FADOi i FXDOi i get put FBDOi i FYDOi i get put FCDOi i FZDOi i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %STOP12 %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FADO,FBDO,FCDO, KNPO %output FWERTiX/Y/Z (i=1,4) KNP 1 ge {/FWERT1X FADOi KNP 1 sub get def /FWERT1Y FBDOi KNP 1 sub get def /FWERT1Z FCDOi KNP 1 sub get def} {/FWERT1X FADOi 0 get def %again 400nm for i=0 /FWERT1Y FBDOi 0 get def /FWERT1Z FCDOi 0 get def} ifelse /FWERT2X FADOi KNP get def /FWERT2Y FBDOi KNP get def /FWERT2Z FCDOi KNP get def /FWERT3X FADOi KNP 1 add get def /FWERT3Y FBDOi KNP 1 add get def /FWERT3Z FCDOi KNP 1 add get def /FWERT4X FADOi KNP 2 add get def /FWERT4Y FBDOi KNP 2 add get def /FWERT4Z FCDOi KNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1i k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXDOi j get def %start at 405..700nm /FF2 FYDOi j get def /FF3 FZDOi j get def /U1 XWO def /U2 YWO def /U3 ZWO def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add neg def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /KNP INP def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /KNP IPN def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RAOi i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RAOi i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RAOi i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RAOi i1 0.5 put RAOi i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /XO 0 def /YO 0 def /ZO 0 def 0 1 079 {/i exch def %i=0,79 /XO XO FANOi 00 i add get RAOi i get mul add def /YO YO FANOi 80 i add get RAOi i get mul add def /ZO ZO FANOi 160 i add get RAOi i get mul add def } for %i=0,79 /SUMO XO YO add ZO add def /XANO XO SUMO FL add div def /YANO YO SUMO FL add div def /ZANO ZO SUMO FL add div def %************************************************* 0 0 0 1 setcmykcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 XOi k XO put YOi k YO put ZOi k ZO put XANOi k XANO put YANOi k YANO put ZANOi k ZANO put }%Icom=0 {%Icom=1 /kP 20 k add def XOi kP XWO XO sub put YOi kP YWO YO sub put ZOi kP ZWO ZO sub put /SUMO XOi kP get YOi kP get add ZOi kP get add def XANOi kP XOi kP get SUMO FL add div put YANOi kP YOi kP get SUMO FL add div put ZANOi kP ZOi kP get SUMO FL add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 XOi k XOi k get 0.8859 mul put YOi k YOi k get 0.8859 mul put ZOi k ZOi k get 0.8859 mul put XOi kP XOi kP get 0.8859 mul put YOi kP YOi kP get 0.8859 mul put ZOi kP ZOi kP get 0.8859 mul put } if %K=1 } for %k=0,19 %************************************** %XWO,YWO,ZWO and XKO,YKO,ZKO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XKO XWO def /YKO YWO def /ZKO ZWO def }%K=0 {%K=1 /XKO XWO 0.8859 mul def /YKO YWO 0.8859 mul def /ZKO ZWO 0.8859 mul def } ifelse %K=1 /SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKO XKO SUMKO div def /YANKO YKO SUMKO div def /ZANKO ZKO SUMKO div def /XANWL XANWO def /YANWL YANWO def /ZANWL ZANWO def } bind def %END proc_Ostwald_colours %********************************************************************** %**************************************************************** %allways /proc_DEF_colours {%BEG proc_DEF_colours %Colour Deficiencies /ip1 700 380 sub 5 idiv def %ip=64:700nm /XANP1 XANi ip1 get def /YANP1 YANi ip1 get def /ZANP1 ZANi ip1 get def /id1 505 380 sub 5 idiv def %ip=25:505nm /XAND1 XANi id1 get def /YAND1 YANi id1 get def /ZAND1 ZANi id1 get def /it1 400 380 sub 5 idiv def %ip=4:400nm /XANT1 XANi it1 get def /YANT1 YANi it1 get def /ZANT1 ZANi it1 get def %************************* /XANP XANP1 def /YANP YANP1 def /ZANP ZANP1 def /XAND 1.000 def /YAND 0.001 def /ZAND 0.999 def /XANT 0.171 def /YANT 0.001 def /ZANT 1.000 XANT sub YANT sub def %************************* /XAN00 0.3333 def %Illuminant E /YAN00 0.3333 def /mP YAN00 YANP sub XAN00 XANP sub div def %700nm /bP YAN00 XAN00 mP mul sub def /mD YAN00 YAND sub XAN00 XAND sub div def %xx /bD YAN00 XAN00 mD mul sub def /mT YAN00 YANT sub XAN00 XANT sub div def %xx /bT YAN00 XAN00 mT mul sub def %************************* /mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm /bP1 YAN00 XAN00 mP1 mul sub def %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /XAND1 XANZi i get def /YAND1 YANZi i get def /mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm /bD1 YAN00 XAN00 mD1 mul sub def /mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm /bT1 YAN00 XAN00 mT1 mul sub def /ishow {0 -40 rmoveto show 0 40 rmoveto} def /eshow {0 60 rmoveto show 0 -60 rmoveto} def /imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def /imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def /iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def } bind def %END proc_DEF_colours %allways if xchart6>=1 /proc_chromaticity {%BEG proc_chromaticity %chromaticity definitions xchartl 0 eq {%xchartl=0 %(x,y) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get put BANi i YANi i get put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 def /BANP1 YANP1 def /AAND1 XAND1 def /BAND1 YAND1 def /AANT1 XANT1 def /BANT1 YANT1 def /AANP XANP def /BANP YANP def /AAND XAND def /BAND YAND def /AANT XANT def /BANT YANT def %ACHROMATIC COLOUR /AANWL XANWL def /BANWL YANWL def /AANWC XANWC def /BANWC YANWC def } if %xchartl=0 %only for (x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=1 %only for (a0,b0) %***************** xchartl 2 eq {%xchartl=2 %(a1,b1) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=2 %only for (a1,b1) %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=3 %only for (a2,b2) %***************** xchartl 4 eq {%xchartl=4 %(a3,b3) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=4 %only for (a3,b3) %***************** xchartl 5 eq {%xchartl=5 %(a4,b4) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=5 %only for (a4,b4) %***************** xchartl 6 eq {%xchartl=6 %(a5,b5) /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def 0 1 79 {/i exch def %i=0,79 AANi i XANi i get A51 mul YANi i get A52 mul add A53 add YANi i get FL add div a2x mul put BANi i XANi i get B51 mul YANi i get B52 mul add B53 add YANi i get FL add div b2x mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get A51 mul YANZi i get A52 mul add A53 add YANZi i get FL add div a2x mul put BANZi i XANZi i get B51 mul YANZi i get B52 mul add B53 add YANZi i get FL add div b2x mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div a2x mul def /BANWL XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div b2x mul def /AANWC XANWC A51 mul YANWC A52 mul add A53 add YANWC FL add div a2x mul def /BANWC XANWC B51 mul YANWC B52 mul add B53 add YANWC FL add div b2x mul def } if %xchartl=6 %only for (a5,b5) %***************** xchartl 7 eq {%xchartl=7 %(a6,b6) %a=x/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=7 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_coor {%BEG proc_xaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1<=7 TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 3 eq or xchartl 7 eq or {%xchartl=1,3,7 TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,3,7 xchartl 2 eq xchartl 4 eq or xchartl 5 eq or {%xchartl=2,4,5 TBS (=\050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-0,171\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl#2,4,5 xchartl 6 eq {%xchartl=6 TBS (=\0508,61) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-7,20) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-0,269\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart=0,#0 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1,7 TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 2 eq or {%xchartl=1,2 TBS (=-0,40) show TBIS (z) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,2 xchartl 3 eq xchartl 5 eq or {%xchartl=3,5 TBS (=\050) show mP1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=3,5 xchartl 4 eq xchartl 7 eq or {%xchartl=4,7 TBS (=\050) show mD1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=4,7 xchartl 6 eq {%xchartl=6 TBS (=\0501,99) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+3,86) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-2,40\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart#0 } bind def %END proc_yaxis_xchartl_coor %********************************************************* /proc_chromaticity_lines {%BEG proc_chromaticity_lines for xchart6>=1 %chromaticity lines and with names for xchart6=2 xchartl 0 eq {%xchartl=0 %(x,y) /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolor 0 eq {(CIE 1931) show} if xcolor 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 M 0 000 000 (545) %33 1 050 050 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 L 1 050 050 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 100 -50 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 100 -50 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf XANWL fakt mul def /BANWLf YANWL fakt mul def /AANWCf XANWC fakt mul def /BANWCf YANWC fakt mul def /i 400 380 sub 5 idiv def %4 T /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0.5 0 0.5 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS /i 450 380 sub 5 idiv def %14 S /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S /i 475 380 sub 5 idiv def %18 B /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be (Lc) AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4 /i 495 380 sub 5 idiv def %23 Rc /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S) AANF 120 add BANF 400 sub moveto TIK (M) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 505 380 sub 5 idiv def %26 505c,E /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S) AANF 250 add BANF 300 sub moveto TIK (V') show 0 0 0 setrgbcolor AANF 050 add BANF 550 sub moveto TIK (V) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 520 380 sub 5 idiv def %28 G /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B) AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4 1 1 0 setrgbcolor AANF 100 sub BANF 700 sub moveto TIK (Y) show (l) iy4 TK (=) show 0 0 1 setrgbcolor TIK (B) show (l) iy4 /i 540 380 sub 5 idiv def %32 M /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %540 M AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4 /i 555 380 sub 5 idiv def %35 V /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M) AANF 000 add BANF 000 add moveto TIK (V) show (m) is4 /i 570 380 sub 5 idiv def %38 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %570 L %AANF 250 sub BANF 200 sub moveto TIK (Y) show %0 0 0 setrgbcolor AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4 /i 575 380 sub 5 idiv def %39 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %575 L AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4 /i 700 380 sub 5 idiv def %64 R /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %700 AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4 %Protanop PL 1 0 0 setrgbcolor AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans0 neg ytrans0 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=0 %(x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) %STOP9 /xtrans1a 0500 def /xtrans1 1300 def /ytrans1 3200 def xtrans1a ytrans1 translate 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans1a neg ytrans1 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans1 ytrans1 translate /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 1 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 200 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0050 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans1 neg ytrans1 neg translate %ENDE: 2 } if %xchartl=1 %(a0,b0) %*********************************************************** xchartl 2 eq {%xchartl=2 (a1,b1) /xtrans2a 0500 def /xtrans2 1300 def /ytrans2 3200 def xtrans2a ytrans2 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans2a neg ytrans2 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans2 ytrans2 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -250 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans2 neg ytrans2 neg translate %for text and grafic %ENDE: 2 } if %xchartl=2 %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) /xtrans3a 0500 def /xtrans3 1300 def /ytrans3 3200 def xtrans3a ytrans3 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans3a neg ytrans3 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans3 ytrans3 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 100 -050 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1700 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 0500 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0250 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans3 neg ytrans3 neg translate %for text and grafic %ENDE: 2 } if %xchartl=3 %*********************************************************** xchartl 4 eq {%xchartl=4 %(a3,b3) /xtrans4a 0500 def /xtrans4 1300 def /ytrans4 3200 def xtrans4a ytrans4 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans4a neg ytrans4 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans4 ytrans4 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -280 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2100 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0550 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans4 neg ytrans4 neg translate %for text and grafic %ENDE: 2 } if %xchartl=4 %*********************************************************** xchartl 5 eq {%xchartl=5 %(a4,b4) /xtrans5a 0500 def /xtrans5 1300 def /ytrans5 3200 def xtrans5a ytrans5 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans5a neg ytrans5 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans5 ytrans5 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 -050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -050 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -300 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0800 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0700 0080 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0300 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 0050 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans5 neg ytrans5 neg translate %for text and grafic %ENDE: 2 } if %xchartl=5 %*********************************************************** xchartl 6 eq {%xchartl=6 %(a5,b5) /xtrans6a 0500 def /xtrans6 1300 def /ytrans6 3200 def xtrans6a ytrans6 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans6a neg ytrans6 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans6 ytrans6 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 0 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans6 neg ytrans6 neg translate %for text and grafic %ENDE: 2 } if %xchartl=6 %*********************************************************** xchartl 7 eq {%xchartl=7 %(a6,b6) /xtrans7a 0500 def /xtrans7 1300 def /ytrans7 3200 def xtrans7a ytrans7 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans7a neg ytrans7 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans7 ytrans7 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 newpath TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 newpath newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 newpath TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 newpath /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1800 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans7 neg ytrans7 neg translate %for text and grafic %ENDE: 2 } if %xchartl=7 } bind def %END proc_chromaticity_lines /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt /proc_tab1N {%BEG proc_tab1N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab1N %******************************************************** /proc_tab2N {%BEG proc_tab2N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab2N %********************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} %new {/xchart5 2 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %STOP1 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolor cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow gsave %XCHA01.PS END 5 /Times-ISOL1 FS %175 85 moveto (DG411-1A_3N) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale 30 setlinewidth %xchart3 0 def %with Munsell colours %xchart3 1 def %with Ostwald colours %xchart3 2 det %without any colour /xchart3 1 def %diagram 0:Munsell colours, 1:Ostwald colours, 2:- %xchart5 0 def %without marc illuminant and text %xchart5 1 def %with marc illuminant %xchart5 2 def %with marc illuminant and text /xchart5 2 def %0:-, 1:illuminant, 2:illuminant and text %xchart6 0 def %without chromaticity_lines %xchart6 1 def %with chromaticity_lines %xchart6 2 def %with chromaticity_lines and names /xchart6 2 def %0:-, 1:chromaticity_lines 2:chromaticity_lines & names %xchart7 0 def %Ostwald colours without Name or Y %xchart7 1 def %Ostwald colours with Name %xchart7 2 def %Ostwald colours with CIE Y /xchart7 2 def %0:-, 1:Name, 2:Y %xchartl with 0 1 2 3 4 5 6 7 %xchart8 0 def %0:Pxx (P60, P55, P50, P45, P40, P35, P30, P25) colours %xchart8 1 def %1:Dxx (D65, D50, P40, A00, E00, C00, P00, Q00) colours /xchart8 1 def %0:Pxx, 1:Dxx colours %xchart9 0 def %for Y10-7R.EPS -> Table XYZ, not used here %xchart9 1 def %for Y10-7R.EPS -> Table CAB, not used here %xchart9 2 def %for Y10-7R.EPS -> Table (a,b), not used here /xchart9 0 def %Table 0:(XYZ), 1:(CAB), 2(ab) %xchart10 0 def %for Y10G00NP.PS6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10G00NP.PS6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10G00NP.PS6.PS -> chroma (A*i,B*i) /xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) %xchart13 0 def %CIE_02 %xchart13 1 def %CIE_10 %xchart13 2 def %CIE_F02 %xchart13 3 def %CIE_F10 %xchart13 4 def %LMS_17M3 %xchart13 5 def %LMS_17M4 /xchart13 4 def %xchart13=4(CIE_42),1(CIE_14),2(CIE_F42),3(CIE_F14),4/5 (model) %/xchart14 0 def %unnormiert %/xchart14 1 def %Yw-normiert %/xchart14 2 def %XYZw-normiert /xchart14 0 def %1:unnormiert, 2:Yw-normiert. 3:XYZw-normiert /posax 2700 def /posay 0550 def /posbx -350 def /posby -3150 def /FL 0.00001 def /Y18 18 def %grey background %/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i) /n1e 1.0000 def %allways %/n1e 0.3333 def %very special (a', b') xchart10 1 le {/n0e 1.0000 def} {/n0e 0.3333 def} ifelse gsave /xchartx xchart def 1 1 1 {/xchartx exch def %xchartx=0,7 %8 illuminants gsave 20 setlinewidth %0 0 11550 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey %0 0 11550 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz %STOP %allways proc_CIE_LMS0 %STOP1 proc_DEF_colours xchart3 0 eq {%BEG proc_Munsell_colours proc_Munsell_colours } if %END proc_Munsell_colours xchart3 1 eq {%BEG proc_Ostwald_colours proc_Ostwald_colours } if %END proc_Ostwald_colours %STOP2 /xchartl 05 def 00 1 00 {/xchartl exch def %xchartl=0,7 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto xchartl 7 le {(DG411-) show} {(DG411-) show} ifelse xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow} if xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow} if (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.3 setcmykcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 1.0 colrecst %frame black /xtexti 96 array def /ytexti 96 array def %BEG INC Y11_XCHART10_0/1/2.PS %line 5531 %******************************************************************** %BEG 'CL70'Y11_XCHART1A_1.PS FROM 'CL66'Y10-7R_66.EPS xchart10 1 eq {%xchart10=1 long loop 1700 lines! %/xxt -0.021 def /yyt -0.024 def %/xat 0.031 def /yat 0.029 def /xxt 0.000 def /yyt 0.000 def /xat 0.000 def /yat 0.000 def /proc_Yexp {%BEG proc_Yexp xchart10 0 eq {%chromaticity /Yexp 1 def } if %chromaticity xchart10 1 eq {%chromatic value xchart3 0 eq {%Munsell colours /Yexp YMi ikV40 get def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp YOi i get def } if %Ostwald colours } if %chromatic value xchart10 2 eq {%chroma xchart3 0 eq {%Munsell colours /Yexp Y18 YMi ikV40 get Y18 div n0e exp mul def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp Y18 YOi i get Y18 div n0e exp mul def } if %Ostwald colours } if %chroma } bind def %END proc_Yexp 0 0 0 1 setcmykcolor /xchart12 xchartl 12 mul def xchart3 0 eq {%xchart3=0 %Munsell_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Ostwald_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=1 %Ostwald_colours xchart3 1 eq xchartl 0 eq and {%xchart3=1 only for Ostwald colours and (x,y) xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name und Spektralbereich) showde %0DG411-7 00581 (Name and spectral range) showen %1DG411-7 00581 (Nombre y gama espectral) showes %2DG411-7 00581 (Nom et la gamma spectrale) showfr %3DG411-7 00581 (Nome e la gamma spettrale) showit %4DG411-7 00581 (Name and spectral range) showjp %5DG411-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBEO 0 get show TBV 0 -40 rmoveto FARBEO 1 get show 0 40 rmoveto TBIS FARBEO 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBEO 3 get show TBV 0 -40 rmoveto FARBEO 4 get show 0 40 rmoveto TBIS FARBEO 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBEO 6 get show TBV 0 -40 rmoveto FARBEO 7 get show 0 40 rmoveto TBIS FARBEO 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBEO 9 get show TBV 0 -40 rmoveto FARBEO 10 get show 0 40 rmoveto TBIS FARBEO 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBEO 12 get show TBV 0 -40 rmoveto FARBEO 13 get show 0 40 rmoveto TBIS FARBEO 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBEO 15 get show TBV 0 -40 rmoveto FARBEO 16 get show 0 40 rmoveto TBIS FARBEO 17 get show } if %xchart3=1 only for Ostwald colours TBS 0 0 0 1 setcmykcolor xchart3 0 eq {%xchart3=0 %Munsell_colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Munsell) show TBS (-System) showde %0DG411-7 02581 ( System) showea %1DG411-7 02581 TBIS (, Y) show (w) ib6 xcolor 1 eq {(,10) ib6} if TBS K 0 eq {(=100, ) show}{(=88,6, ) show} ifelse TELi xchartx get show xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (C=2, V=1, 2, 5, 8 & 9, ) show %0DG411-7 03581 TELi xchartx get show } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Optimal Colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Ostwald) showde TBS ( Farben (o)) showde %0DG411-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1DG411-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2DG411-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3DG411-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4DG411-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5DG411-7 02581 TBIS (, Y) show 0 -60 rmoveto (W) show 0 60 rmoveto TBS K 0 eq {(=100) show}{(=88,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (max (m) Buntwert, ) showde %0DG411-7 03581 (max (m) chromatic value, ) showen %1DG411-7 03581 (chromatic m\341x (m), ) showes %2DG411-7 03581 (max (m) chromatic valeur, ) showfr %3DG411-7 03581 (max (m) chromatic value, ) showit %4DG411-7 03581 (max (m) chromatic value, ) showjp %5DG411-7 03581 TELi xchartx get show } if %xchart3=1 %Optimal_colours %BEG For All Colours last line xtexti xchart12 2 add get ytexti xchart12 2 add get moveto proc_diagram_xchartl_txt %END For All Colours last line %*********************************************************** /imM 199 def %maximum Munsell Colours /imO 039 def %maximum Ostwald Colours %***************************************** 0 setgray xchartl 0 eq {%xchartl=0 %(x,y) %only for xchartl=0 proc_chromaticity proc_chromaticity_lines /fakt 4000 def /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic xchart3 0 eq {%xchart3=0 %BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 AnYi i XANMi i kV40 add get fakt mul put %x BnYi i YANMi i kV40 add get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath XANWL fakt mul YANWL fakt mul 40 0 360 arc stroke xchart5 2 eq {%xchart5=2 %+TELi XANWL fakt mul 200 sub 150 add YANWL fakt mul 500 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi xchart5 3 eq {%xchart5=3 %+V=1..9 1250 550 add 1316 250 add moveto (1) show 1250 350 add 1316 100 add moveto (2) show 1250 200 add 1316 050 add moveto (5) show } if %xchart5=3 %+V=1..9 } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 0 0 setrgbcolor 0 1 39 {/i exch def %i=0,39 AnYi i XANOi i get fakt mul put %x BnYi i YANOi i get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans0 neg ytrans0 neg translate %for scala and graphi } if %xchartl=0 %************************ %Special coordinate system for (Ax,Bx) digrams*************** %***************** xchartl 1 ge {%xchartl>=1 /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic %axis and scales 0 0 0 1 setcmyk_olvcolor -2250 0 moveto 3950 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1700 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-40) ( ) ( ) ( ) ( 40)] def /yt10x [(-40) ( ) ( ) ( ) (40)] def /fakt 40 def %default xchart3 0 eq {/xt10x [(-10) ( ) ( ) ( ) ( 10)] def /yt10x [(-10) ( ) ( ) ( ) (10) ] def} if %xchart3=0 %Munsell 0 0 0 1 setcmyk_olvcolor 0 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {%i=4 -1600 i 800 mul add 0 moveto -100 150 rmoveto TBIM (A) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1600 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {%i=4 -100 -1600 i 800 mul add moveto -250 150 rmoveto TBIM (B) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl>=1 %********************************************************** xchartl 1 eq {%xchartl=1 %(A0,B0) (a=x/y, b=-0.4*z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl=1 %(A0,B0) %***************************************************************** xchartl 2 eq {%xchartl=2 %(A1,B1) (a1=[x-XANT]/y, b1=z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans2 3500 def /ytrans2 2000 def xtrans2 ytrans2 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (T1) ib6 TBS (=) show 1.0 cvsshow3x (, ) show TBIS (b) show (T1) ib6 TBS (=) show XANT cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans2 neg ytrans2 neg translate %for scala and graphic } if %xchartl=2 %(A1,B1) %************************ xchartl 3 eq {%xchartl=1 %(A2,B2) (a2=x/y, b2=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans3 3500 def /ytrans3 2000 def xtrans3 ytrans3 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans3 neg ytrans3 neg translate %for scala and graphic } if %xchartl=3 %(A2,B2) %************************ xchartl 4 eq {%xchartl=04 %(A3,B3) (a3=[x-XANT]/y, b3=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans4 3500 def /ytrans4 2000 def xtrans4 ytrans4 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans4 neg ytrans4 neg translate %for scala and graphic } if %xchartl=4 %(A3,B3) %************************ xchartl 5 eq {%xchartl=5 %(A4,B4) (a4=(x-XANT)/y, b4=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans5 3500 def /ytrans5 2000 def xtrans5 ytrans5 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans5 neg ytrans5 neg translate %for scala and graphic } if %xchartl=5 %(A4,B4) %************************ xchartl 6 eq {%xchartl=6 %(A5,B5) (a5=[x-XANT]/y, b5=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def /xtrans6 3500 def /ytrans6 2000 def xtrans6 ytrans6 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (a) show (2x) ib6 TBS ([\050+) show A51 cvsshow2x TBIS (x) show TBS A52 cvsshow2x TBIS (y) show TBS A53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (b) show (2x) ib6 TBS ([\050+) show B51 cvsshow2x TBIS (x) show TBS (+) show B52 cvsshow2x TBIS (y) show TBS B53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (2x) ib6 TBS ( = ) show a2x cvsshow2x (, ) show TBIS (b) show (2x) ib6 TBS ( = ) show b2x cvsshow2x -3400 iyT idyT 7 mul sub moveto SS (l) show (B,G,Y,R) ib6 TBS (=475,503,574,494c,E nm) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get A51 mul YANMi ikV40 get A52 mul add A53 add YANMi ikV40 get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANMi ikV40 get B51 mul YANMi ikV40 get B52 mul add B53 add YANMi ikV40 get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get A51 mul YANOi i get A52 mul add A53 add YANOi i get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANOi i get B51 mul YANOi i get B52 mul add B53 add YANOi i get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans6 neg ytrans6 neg translate %for scala and graphic } if %xchartl=6 %(A5,B5) %************************ xchartl 7 eq {%xchartl=7 %(A6,B6) (a6=x/y, b6=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans7 3500 def /ytrans7 2000 def xtrans7 ytrans7 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans7 neg ytrans7 neg translate %for scala and graphic } if %xchartl=7 } if %xchart10=1 long loop 1700 lines! %END 'CL70'Y11_XCHART1A_1.PS %*************************************************************** %END INC Y11_XCHART10_0/1/2.PS %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer %%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 http://farbe.li.tu-berlin.de/DG41/DG411-3A 20180221 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark14 where {pop} {userdict /pdfmark14 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark14 [ /View [ /Fit ] /DOCVIEW pdfmark14 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SV {160 /Symbol FS} bind def /CV {160 /Courier-ISOL1 FS} bind def /CS {200 /Courier-ISOL1 FS} bind def /CK {240 /Courier-ISOL1 FS} bind def /CM {280 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBV {160 /CourierB-ISOL1 FS} bind def /CBS {200 /CourierB-ISOL1 FS} bind def /CBK {240 /CourierB-ISOL1 FS} bind def /CBM {280 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /ns {350 /Times-ISOL1 FS show} bind def /ks {350 /TimesI-ISOL1 FS show} bind def /bs {350 /TimesB-ISOL1 FS show} bind def /js {350 /TimesBI-ISOL1 FS show} bind def /sy {350 /Symbol FS show} bind def /is {280 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /es {280 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ib {280 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eb {280 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ip {280 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /ns2 {280 /Times-ISOL1 FS show TM} bind def /ks2 {280 /TimesI-ISOL1 FS show TM} bind def /bs2 {280 /TimesB-ISOL1 FS show TM} bind def /js2 {280 /TimesBI-ISOL1 FS show TM} bind def /sy2 {280 /Symbol FS show TM} bind def /is2 {240 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {240 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {240 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {240 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {240 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def /iy2 {240 /Symbol FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def %40% kleiner /ns4 {240 /Times-ISOL1 FS show TK} bind def /ks4 {240 /TimesI-ISOL1 FS show TK} bind def /bs4 {240 /TimesB-ISOL1 FS show TK} bind def /js4 {240 /TimesBI-ISOL1 FS show TK} bind def /ss4 {240 /Symbol FS show TK} bind def /is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def /iy4 {200 /Symbol FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def %60% kleiner /ns6 {200 /Times-ISOL1 FS show TS} bind def /ks6 {200 /TimesI-ISOL1 FS show TS} bind def /bs6 {200 /TimesB-ISOL1 FS show TS} bind def /js6 {200 /TimesBI-ISOL1 FS show TS} bind def /ss6 {200 /Symbol FS show TS} bind def /is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /es6 {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eb6 {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def /iy6 {160 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /cvicvs {cvi 6 string cvs} def /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.1234/99.0123/99.0010/99.0001 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10000 mul cvi /nxi exch def %nxi=991234/990123/990010/990000 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=1234/0123/0010/0001 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=1234/0123/0010/0001 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def /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 %************************************************* /proc_CIE_LMS0 {%BEG proc_CIE_LMS0 %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %Combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F02i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F10i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /FF02i 320 array def %80x4 CIE_F02 fundamental observer /FF10i 320 array def %80x4 CIE_F10 fundamental observer /FAi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /XZAi 17 array def /YZAi 17 array def /ZZAi 17 array def /XANZAi 17 array def /YANZAi 17 array def /ZANZAi 17 array def /FXAi 80 array def %unnormiert /FYAi 80 array def /FZAi 80 array def /FXNi 80 array def %Y-normiert /FYNi 80 array def /FZNi 80 array def /FXMi 80 array def %XYZ-normiert /FYMi 80 array def /FZMi 80 array def %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F02i CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 %400nm: 0.0143 0.0003 0.0678 /F02i %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 %X:380_775 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 %700:0.0113 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 %Y:380_775 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 %700: 0.0041 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 %Z:380-775 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10i %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /FF02i [%BEG FF02i Colour matching functions 5nm 02-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 3.769647E-03 4.146161E-04 1.847260E-02 %=390 385 3.769647E-03 4.146161E-04 1.847260E-02 %=390 390 3.769647E-03 4.146161E-04 1.847260E-02 395 9.382967E-03 1.059646E-03 4.609784E-02 400 2.214302E-02 2.452194E-03 1.096090E-01 405 4.742986E-02 4.971717E-03 2.369246E-01 410 8.953803E-02 9.079860E-03 4.508369E-01 415 1.446214E-01 1.429377E-02 7.378822E-01 420 2.035729E-01 2.027369E-02 1.051821E+00 425 2.488523E-01 2.612106E-02 1.305008E+00 430 2.918246E-01 3.319038E-02 1.552826E+00 435 3.227087E-01 4.157940E-02 1.748280E+00 440 3.482554E-01 5.033657E-02 1.917479E+00 445 3.418483E-01 5.743393E-02 1.918437E+00 450 3.224637E-01 6.472352E-02 1.848545E+00 455 2.826646E-01 7.238339E-02 1.664439E+00 460 2.485254E-01 8.514816E-02 1.522157E+00 465 2.219781E-01 1.060145E-01 1.428440E+00 470 1.806905E-01 1.298957E-01 1.250610E+00 475 1.291920E-01 1.535066E-01 9.991789E-01 480 8.182895E-02 1.788048E-01 7.552379E-01 485 4.600865E-02 2.064828E-01 5.617313E-01 490 2.083981E-02 2.379160E-01 4.099313E-01 495 7.097731E-03 2.850680E-01 3.105939E-01 500 2.461588E-03 3.483536E-01 2.376753E-01 505 3.649178E-03 4.277595E-01 1.720018E-01 510 1.556989E-02 5.204972E-01 1.176796E-01 515 4.315171E-02 6.206256E-01 8.283548E-02 520 7.962917E-02 7.180890E-01 5.650407E-02 525 1.268468E-01 7.946448E-01 3.751912E-02 530 1.818026E-01 8.575799E-01 2.438164E-02 535 2.405015E-01 9.071347E-01 1.566174E-02 540 3.098117E-01 9.544675E-01 9.846470E-03 545 3.804244E-01 9.814106E-01 6.131421E-03 550 4.494206E-01 9.890228E-01 3.790291E-03 555 5.280233E-01 9.994608E-01 2.327186E-03 560 6.133784E-01 9.967737E-01 1.432128E-03 565 7.016774E-01 9.902549E-01 8.822531E-04 570 7.967750E-01 9.732611E-01 5.452416E-04 575 8.853376E-01 9.424569E-01 3.386739E-04 580 9.638388E-01 8.963613E-01 2.117772E-04 585 1.051011E+00 8.587203E-01 1.335031E-04 590 1.109767E+00 8.115868E-01 8.494468E-05 595 1.143620E+00 7.544785E-01 5.460706E-05 600 1.151033E+00 6.918553E-01 3.549661E-05 605 1.134757E+00 6.270066E-01 2.334738E-05 610 1.083928E+00 5.583746E-01 1.554631E-05 615 1.007344E+00 4.895950E-01 1.048387E-05 620 9.142877E-01 4.229897E-01 0.000000E+00 625 8.135565E-01 3.609245E-01 0.000000E+00 630 6.924717E-01 2.980865E-01 0.000000E+00 635 5.755410E-01 2.416902E-01 0.000000E+00 640 4.731224E-01 1.943124E-01 0.000000E+00 645 3.844986E-01 1.547397E-01 0.000000E+00 650 2.997374E-01 1.193120E-01 0.000000E+00 655 2.277792E-01 8.979594E-02 0.000000E+00 660 1.707914E-01 6.671045E-02 0.000000E+00 665 1.263808E-01 4.899699E-02 0.000000E+00 670 9.224597E-02 3.559982E-02 0.000000E+00 675 6.639960E-02 2.554223E-02 0.000000E+00 680 4.710606E-02 1.807939E-02 0.000000E+00 685 3.292138E-02 1.261573E-02 0.000000E+00 690 2.262306E-02 8.661284E-03 0.000000E+00 695 1.575417E-02 6.027677E-03 0.000000E+00 700 1.096778E-02 4.195941E-03 0.000000E+00 705 7.608750E-03 2.910864E-03 0.000000E+00 710 5.214608E-03 1.995557E-03 0.000000E+00 715 3.569452E-03 1.367022E-03 0.000000E+00 720 2.464821E-03 9.447269E-04 0.000000E+00 725 1.703876E-03 6.537050E-04 0.000000E+00 730 1.186238E-03 4.555970E-04 0.000000E+00 735 8.269535E-04 3.179738E-04 0.000000E+00 740 5.758303E-04 2.217445E-04 0.000000E+00 745 4.058303E-04 1.565566E-04 0.000000E+00 750 2.856577E-04 1.103928E-04 0.000000E+00 755 2.021853E-04 7.827442E-05 0.000000E+00 760 1.438270E-04 5.578862E-05 0.000000E+00 765 1.024685E-04 3.981884E-05 0.000000E+00 770 7.347551E-05 2.860175E-05 0.000000E+00 775 5.259870E-05 2.051259E-05 0.000000E+00 %780 3.806114E-05 1.487243E-05 0.000000E+00 %785 2.758222E-05 1.080001E-05 0.000000E+00 %790 2.004122E-05 7.863920E-06 0.000000E+00 %795 1.458792E-05 5.736935E-06 0.000000E+00 %800 1.068141E-05 4.211597E-06 0.000000E+00 %805 7.857521E-06 3.106561E-06 0.000000E+00 %810 5.768284E-06 2.286786E-06 0.000000E+00 %815 4.259166E-06 1.693147E-06 0.000000E+00 %820 3.167765E-06 1.262556E-06 0.000000E+00 %825 2.358723E-06 9.422514E-07 0.000000E+00 %830 1.762465E-06 7.053860E-07 0.000000E+00 ] def %END CIEF_XYZ_02 Colour matching functions 5nm 02-degree /FF10i [%BEG CIEF_XYZ_10 Colour matching functions 5nm 10-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 2.952420E-03 4.076779E-04 1.318752E-02 %=390 385 2.952420E-03 4.076779E-04 1.318752E-02 %=390 390 2.952420E-03 4.076779E-04 1.318752E-02 395 7.641137E-03 1.078166E-03 3.424588E-02 400 1.879338E-02 2.589775E-03 8.508254E-02 405 4.204986E-02 5.474207E-03 1.927065E-01 410 8.277331E-02 1.041303E-02 3.832822E-01 415 1.395127E-01 1.712968E-02 6.568187E-01 420 2.077647E-01 2.576133E-02 9.933444E-01 425 2.688989E-01 3.529554E-02 1.308674E+00 430 3.281798E-01 4.698226E-02 1.624940E+00 435 3.693084E-01 6.047429E-02 1.867751E+00 440 4.026189E-01 7.468288E-02 2.075946E+00 445 4.042529E-01 8.820537E-02 2.132574E+00 450 3.932139E-01 1.039030E-01 2.128264E+00 455 3.482214E-01 1.195389E-01 1.946651E+00 460 3.013112E-01 1.414586E-01 1.768440E+00 465 2.534221E-01 1.701373E-01 1.582342E+00 470 1.914176E-01 1.999859E-01 1.310576E+00 475 1.283167E-01 2.312426E-01 1.010952E+00 480 7.593120E-02 2.682271E-01 7.516389E-01 485 3.836770E-02 3.109438E-01 5.549619E-01 490 1.400745E-02 3.554018E-01 3.978114E-01 495 3.446810E-03 4.148227E-01 2.905816E-01 500 5.652072E-03 4.780482E-01 2.078158E-01 505 1.561956E-02 5.491344E-01 1.394643E-01 510 3.778185E-02 6.248296E-01 8.852389E-02 515 7.538941E-02 7.012292E-01 5.824484E-02 520 1.201511E-01 7.788199E-01 3.784916E-02 525 1.756832E-01 8.376358E-01 2.431375E-02 530 2.380254E-01 8.829552E-01 1.539505E-02 535 3.046991E-01 9.233858E-01 9.753000E-03 540 3.841856E-01 9.665325E-01 6.083223E-03 545 4.633109E-01 9.886887E-01 3.769336E-03 550 5.374170E-01 9.907500E-01 2.323578E-03 555 6.230892E-01 9.997775E-01 1.426627E-03 560 7.123849E-01 9.944304E-01 8.779264E-04 565 8.016277E-01 9.848127E-01 5.408385E-04 570 8.933408E-01 9.640545E-01 3.342429E-04 575 9.721304E-01 9.286495E-01 2.076129E-04 580 1.034327E+00 8.775360E-01 1.298230E-04 585 1.106886E+00 8.370838E-01 8.183954E-05 590 1.147304E+00 7.869950E-01 5.207245E-05 595 1.160477E+00 7.272309E-01 3.347499E-05 600 1.148163E+00 6.629035E-01 2.175998E-05 605 1.113846E+00 5.970375E-01 1.431231E-05 610 1.048485E+00 5.282296E-01 9.530130E-06 615 9.617111E-01 4.601308E-01 6.426776E-06 620 8.629581E-01 3.950755E-01 0.000000E+00 625 7.603498E-01 3.351794E-01 0.000000E+00 630 6.413984E-01 2.751807E-01 0.000000E+00 635 5.290979E-01 2.219564E-01 0.000000E+00 640 4.323126E-01 1.776882E-01 0.000000E+00 645 3.496358E-01 1.410203E-01 0.000000E+00 650 2.714900E-01 1.083996E-01 0.000000E+00 655 2.056507E-01 8.137687E-02 0.000000E+00 660 1.538163E-01 6.033976E-02 0.000000E+00 665 1.136072E-01 4.425383E-02 0.000000E+00 670 8.281010E-02 3.211852E-02 0.000000E+00 675 5.954815E-02 2.302574E-02 0.000000E+00 680 4.221473E-02 1.628841E-02 0.000000E+00 685 2.948752E-02 1.136106E-02 0.000000E+00 690 2.025590E-02 7.797457E-03 0.000000E+00 695 1.410230E-02 5.425391E-03 0.000000E+00 700 9.816228E-03 3.776140E-03 0.000000E+00 705 6.809147E-03 2.619372E-03 0.000000E+00 710 4.666298E-03 1.795595E-03 0.000000E+00 715 3.194041E-03 1.229980E-03 0.000000E+00 720 2.205568E-03 8.499903E-04 0.000000E+00 725 1.524672E-03 5.881375E-04 0.000000E+00 730 1.061495E-03 4.098928E-04 0.000000E+00 735 7.400120E-04 2.860718E-04 0.000000E+00 740 5.153113E-04 1.994949E-04 0.000000E+00 745 3.631969E-04 1.408466E-04 0.000000E+00 750 2.556624E-04 9.931439E-05 0.000000E+00 755 1.809649E-04 7.041878E-05 0.000000E+00 760 1.287394E-04 5.018934E-05 0.000000E+00 765 9.172477E-05 3.582218E-05 0.000000E+00 770 6.577532E-05 2.573083E-05 0.000000E+00 775 4.708916E-05 1.845353E-05 0.000000E+00 %780 3.407653E-05 1.337946E-05 0.000000E+00 %785 2.469630E-05 9.715798E-06 0.000000E+00 %790 1.794555E-05 7.074424E-06 0.000000E+00 %795 1.306345E-05 5.160948E-06 0.000000E+00 %800 9.565993E-06 3.788729E-06 0.000000E+00 %805 7.037621E-06 2.794625E-06 0.000000E+00 %810 5.166853E-06 2.057152E-06 0.000000E+00 %815 3.815429E-06 1.523114E-06 0.000000E+00 %820 2.837980E-06 1.135758E-06 0.000000E+00 %825 2.113325E-06 8.476168E-07 0.000000E+00 %830 1.579199E-06 6.345380E-07 0.000000E+00 ] def %END CIEF_XYZ_10 Colour matching functions 5nm 10-degree xchart13 0 eq {%xchart13=0 %02 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F02i i get put } for %i=0,1,239 } if %xchart13=0 xchart13 1 eq {%xchart13=1 %10 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F10i i get put } for %i=0,1,239 } if %xchart13=1 xchart13 2 eq {%xchart13=2 %02 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF02i i4 1 add get put FAi 80 i add FF02i i4 2 add get put FAi 160 i add FF02i i4 3 add get put } for %i=0,1,79 } if %xchart13=2 xchart13 3 eq {%xchart13=3 %10 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF10i i4 1 add get put FAi 80 i add FF10i i4 2 add get put FAi 160 i add FF10i i4 3 add get put } for %i=0,1,79 } if %xchart13=3 xchart13 4 ge {%xchart13>=4 /CY 0.35 def /CY2 1.00 def /CX 50 def /W0 570 def /W1 540 def /W2 440 def %new /ILT 0 def ILT 0 eq {/tsa 0.000 def} if ILT 1 eq {/tsa 0.010 def} if %actual 2 or 10-degree CIE standard observer E, 80 data, 380-775nm, delta=5nm /lE1j 80 array def /mE1j 80 array def /sE1j 80 array def /lESj 80 array def /mESj 80 array def /sESj 80 array def /XE1j 80 array def /YE1j 80 array def /ZE1j 80 array def /xanE1j 80 array def /yanE1j 80 array def /zanE1j 80 array def /XESj 80 array def /YESj 80 array def /ZESj 80 array def /xanESj 80 array def /yanESj 80 array def /zanESj 80 array def /Xmi 88 array def /Ymi 88 array def /Ymi0 88 array def /Ymi1 88 array def /Ymi2 88 array def /Ymi3 88 array def /sASjk 80 array def 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put Xmi i get W2 le {/YEXP Xmi i get W2 sub CX div dup mul CY2 mul neg def} {/YEXP 0.0001 def} ifelse /EYEXP 10 YEXP exp 0.0001 add def sASjk i EYEXP put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put %s later with media absortion correction /YEXP Xmi i get W2 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi2 i EYEXP put %l later with 2% linear blue cone attribute /YEXP Xmi i get W0 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi0 i EYEXP put %m symmetric with no change /YEXP Xmi i get W1 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi1 i EYEXP put %y linear 0.5 l + 0.5 m Ymi3 i Ymi0 i get Ymi1 i get add 0.5 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 %s with media absortion correction sESj i Ymi2 i get sASjk i get mul put %l with 2% linear s cone attribute lESj i Ymi0 i get sESj i get 0.02 mul add put %m symmetric with no change mESj i Ymi1 i get put } for %i=0,1,79 %Normalisation of LMS to 100 /fslES 0 def /fsmES 0 def /fssES 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumLMS /fslES fslES lESj i get add def /fsmES fsmES mESj i get add def /fssES fssES sESj i get add def } for %i=0,79 %0 1 79 {/i exch def %i=0,1,79 %no normalisation LMS, multiply with 100 for E00 % lESj i lESj i get put % mESj i mESj i get put % sESj i sESj i get put % } for %i=0,1,79 %0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 % lESj i lESj i get 100 mul put % mESj i mESj i get fsmES 0.0001 add div 100 mul put % sESj i sESj i get 100 mul put % } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 lESj i lESj i get fslES 0.0001 add div 21.18 mul put mESj i mESj i get fsmES 0.0001 add div 21.18 mul put sESj i sESj i get fssES 0.0001 add div 21.18 mul put } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 /A11 1.3200 def %LMS -> x /A12 -0.6600 def /A13 0.3400 def /A21 0.5000 def %LMS -> y /A22 0.5000 def /A23 0.0000 def /A31 0.0000 def %LMS -> z /A32 0.0000 def /A33 1.0000 def 0 1 79 {/i exch def %i=0,1,79 FAi i 000 add lESj i get A11 mul mESj i get A12 mul add sESj i get A13 mul add put FAi i 080 add lESj i get A21 mul mESj i get A22 mul add sESj i get A23 mul add put FAi i 160 add lESj i get A31 mul mESj i get A32 mul add sESj i get A33 mul add put } for %i=0,1,79 } if %xchart13>=4 %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOWi 82 array def /DOWZi 17 array def /F02Zi 51 array def /F10Zi 51 array def /FF02Zi 51 array def /FF10Zi 51 array def /LMS0Zi 51 array def /LMS1Zi 51 array def /FAZi 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOWi i 380 i 5 mul add put } for %i=0,79 /DOWZi %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def %'cl80'CIE_Z_CL80_85.TXT 180326 %CIE_02 CL800-7R.PDF /.PS and MACPS2PDF /F02Zi [%CIE_02 3x17 data 700 ... 400 0.0113 0.0114 0.0115 0.0116 0.0117 0.0118 0.0118 0.0119 0.0119 0.0119 0.0120 0.0121 0.0121 0.0123 0.0125 0.0129 0.0143 0.0041 0.0040 0.0038 0.0036 0.0035 0.0035 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0030 0.0028 0.0026 0.0020 0.0003 0.0000 0.0011 0.0051 0.0074 0.0093 0.0106 0.0117 0.0125 0.0134 0.0145 0.0155 0.0170 0.0191 0.0220 0.0272 0.0377 0.0678] def %CIE_10 CL810-7R.PDF /.PS and MACPS2PDF /F10Zi [%CIE_10 3x17 data 700 ... 400 0.0100 0.0105 0.0107 0.0109 0.0110 0.0111 0.0112 0.0113 0.0114 0.0116 0.0118 0.0120 0.0124 0.0130 0.0145 0.0191 0.0191 0.0037 0.0036 0.0035 0.0035 0.0035 0.0034 0.0034 0.0034 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0028 0.0020 0.0020 0.0000 0.0052 0.0074 0.0088 0.0101 0.0110 0.0120 0.0130 0.0140 0.0153 0.0170 0.0194 0.0229 0.0289 0.0425 0.0859 0.0860] def %CIE_F02 CL820-7R.PDF /.PS and MACPS2PDF /FF02Zi [%CIE_F02 3x17 data 700 ... 400 0.0109 0.0113 0.0116 0.0118 0.0120 0.0121 0.0122 0.0123 0.0124 0.0125 0.0126 0.0128 0.0130 0.0134 0.0140 0.0155 0.0221 0.0041 0.0041 0.0040 0.0040 0.0040 0.0040 0.0039 0.0039 0.0039 0.0039 0.0039 0.0039 0.0038 0.0038 0.0037 0.0034 0.0024 0.0000 0.0035 0.0065 0.0088 0.0103 0.0116 0.0125 0.0133 0.0144 0.0155 0.0168 0.0185 0.0206 0.0242 0.0307 0.0448 0.1096] def %CIE_F10 CL830-7R.PDF /.PS and MACPS2PDF /FF10Zi [%CIE_F10 3x17 data 700 ... 400 0.0098 0.0104 0.0106 0.0107 0.0108 0.0109 0.0110 0.0111 0.0112 0.0114 0.0115 0.0118 0.0121 0.0128 0.0142 0.0187 0.0187 0.0037 0.0036 0.0036 0.0036 0.0036 0.0036 0.0036 0.0035 0.0035 0.0035 0.0035 0.0035 0.0034 0.0033 0.0031 0.0025 0.0025 0.0000 0.0057 0.0077 0.0090 0.0102 0.0112 0.0120 0.0128 0.0140 0.0152 0.0168 0.0191 0.0225 0.0283 0.0422 0.0849 0.0850] def %LMS_0.00 CL840-7R.PDF /.PS and MACPS2PDF /LMS0Zi [%LMS_17M3 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def %LMS_0.01 CL850-7R.PDF /.PS and MACPS2PDF identical CL840-7R.PDF /LMS1Zi [%LMS_17M4 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def 0 1 50 {/i exch def %i=0,50 xchart13 0 eq {FAZi i F02Zi i get put} if xchart13 1 eq {FAZi i F10Zi i get put} if xchart13 2 eq {FAZi i FF02Zi i get put} if xchart13 3 eq {FAZi i FF10Zi i get put} if xchart13 4 eq {FAZi i LMS0Zi i get put} if xchart13 5 eq {FAZi i LMS1Zi i get put} if } for %i=0,50 /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /Xi 82 array def /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /AAN1i 200 array def %actual data for plot, Munsell colours (M=1) /BAN1i 200 array def /AANXi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXi 200 array def /FXNZi 17 array def /FYNZi 17 array def /FZNZi 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 FXAi i FAi 00 i add get put FYAi i FAi 80 i add get put FZAi i FAi 160 i add get put } for %i=0,1,79 %STOPxx /XKSUM 0 def /YKSUM 0 def /ZKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /XKSUM XKSUM FXAi i get add def /YKSUM YKSUM FYAi i get add def /ZKSUM ZKSUM FZAi i get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXNi i FXAi i get YKSUM div 100 mul put FYNi i FYAi i get YKSUM div 100 mul put FZNi i FZAi i get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXMi i FXAi i get XKSUM div 100 mul put FYMi i FYAi i get YKSUM div 100 mul put FZMi i FZAi i get ZKSUM div 100 mul put } for %i=0,1,79 %STOPx 0 1 79 {/i exch def %i=0,80 %for any illuminant Xi i FXNi i get put Yi i FYNi i get put Zi i FZNi i get put /SUM FXNi i get FYNi i get add FZNi i get add 0.00001 add def XANi i FXNi i get SUM div put YANi i FYNi i get SUM div put ZANi i FZNi i get SUM div put } for %i=0,79 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZi i FAZi 00 i add get 100 mul YKSUM div 100 mul put FYNZi i FAZi 17 i add get 100 mul YKSUM div 100 mul put FZNZi i FAZi 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZi i get put YZi i FYNZi i get put ZZi i FZNZi i get put /SUMZ FXNZi i get FYNZi i get add FZNZi i get add def XANZi i FXNZi i get SUMZ div put YANZi i FYNZi i get SUMZ div put ZANZi i FZNZi i get SUMZ div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXNi i get add def /YW YW FYNi i get add def /ZW ZW FZNi i get add def } for %i=0,79 /SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANW XW SUMW FL add div def /YANW YW SUMW FL add div def /ZANW ZW SUMW FL add div def K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.8859 mul def /YK YW 0.8859 mul def /ZK ZW 0.8859 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANW def /YANWL YANW def /ZANWL ZANW def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYi 80 array def /BnYi 80 array def } bind def %END proc_CIE_LMS0 %**************************************************************** /proc_PDT_colours {%BEG proc_PDT_colours /l02Ii 77 array def /m02Ii 77 array def /s02Ii 77 array def /l02Mi 77 array def /m02Mi 77 array def /s02Mi 77 array def /X02Ii 77 array def /Y02Ii 77 array def /Z02Ii 77 array def /xan02Ii 77 array def /yan02Ii 77 array def /zan02Ii 77 array def /X02Mi 77 array def /Y02Mi 77 array def /Z02Mi 77 array def /xan02Mi 77 array def /yan02Mi 77 array def /zan02Mi 77 array def /ycuri 77 array def /l02Mi [ %LMS2.TXT %L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm 4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400 4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2 2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450 5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1 1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500 3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1 7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550 9.657395e-1 9.814541e-1 9.944890e-1 1 9.923160e-1 9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600 7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1 4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650 1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2 2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700 4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4 6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750 1.095065e-4 7.799195e-5 ] def /m02Mi [ %M2.DAT 3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400 4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2 3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450 9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1 2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500 5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1 9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95? 9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1 6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600 2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2 6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650 1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3 1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700 2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5 4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750 7.822762e-6 5.690886e-6 ] def /s02Mi [ %S2.DAT CIE 171.1:2006 9.547289e-3 9.547289e-3 9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410 3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1 9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460 7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1 2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510 4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560 4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5 4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610 5.418387e-6 0 0 0 0 0 0 0 0 0 %650 0 0 0 0 0 0 0 0 0 0 %700 0 0 0 0 0 0 0 0 0 0 %750 0 0 ] def %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23 /A11 1.94735469 def /A12 -1.41445123 def /A13 0.36476327 def /A21 0.68990272 def /A22 0.34832189 def /A33 1.93485343 def /fsl02Mi 0 def /fsm02Mi 0 def /fss02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Mi fsl02Mi l02Mi i get add def /fsm02Mi fsm02Mi m02Mi i get add def /fss02Mi fss02Mi s02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung LMS l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put m02Ii i m02Mi i get put s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put } for %i=0,76 /fsl02Ii 0 def /fsm02Ii 0 def /fss02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Ii fsl02Ii l02Ii i get add def /fsm02Ii fsm02Ii m02Ii i get add def /fss02Ii fss02Ii s02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 X02Ii i l02Mi i get A11 mul m02Mi i get A12 mul add s02Mi i get A13 mul add put Y02Ii i l02Mi i get A21 mul m02Mi i get A22 mul add put Z02Ii i s02Mi i get A33 mul put } for %i=0,76 /fsX02Ii 0 def /fsY02Ii 0 def /fsZ02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzIi /fsX02Ii fsX02Ii X02Ii i get add def /fsY02Ii fsY02Ii Y02Ii i get add def /fsZ02Ii fsZ02Ii Z02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ X02Mi i X02Ii i get 1.1510330 div put %max 600nm Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm } for %i=0,76 /fsX02Mi 0 def /fsY02Mi 0 def /fsZ02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzMi /fsX02Mi fsX02Mi X02Mi i get add def /fsY02Mi fsY02Mi Y02Mi i get add def /fsZ02Mi fsZ02Mi Z02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 xyzan /sumXYZ X02Ii i get Y02Ii i get add Z02Ii i get add def xan02Ii i X02Ii i get sumXYZ div put yan02Ii i Y02Ii i get sumXYZ div put zan02Ii i Z02Ii i get sumXYZ div put } for %i=0,76 } bind def %END proc_PDT_colours %************************************************* %STOP4 /proc_Munsell_colours {%BEG proc_Munsell_colours %calculation of transformation data /FARBE 27 array def /FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00 () () () %01 (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02 () () () %03 (L* about 10, 20, 50, 80, 90) () () %04 () () () %05 () () () %06 () () () %07 () () () %08 ] def %Input /xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data /xy_MUNSELL %BEG xy_MUNSELL [%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9 % 05 % 1 40 1 1 VALUE1 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296 % 1 40 02 2 VALUE2 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583 % 1 40 05 3 VALUE5 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912 % 1 40 08 4 VALUE8 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040 % 1 40 09 5 VALUE9 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051 ] def %END xy_MUNSELL /Y_MUNSELL 5 array def %5 Y*1000 data /Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100 [12100 31300 197700 591000 786600] def %here 4 decimal places! /xy_MUNSELL_C 2 array def %2 xy*1000 data /xy_MUNSELL_C %BEG xy_MUNSELL_C [3101 3162] def %END xy_MUNSELL_C /xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8 /xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex [% 1 01 2 4CR=2EX 3149 3086 % 1 01 5 5CR=2EX 3142 3234 % 1 01 8 6CR=2EX 3144 3275 ] def %END xy_MUNSELL_Ex %M=Munsell /XMi 200 array def %5*40 colour of chroma 2 /YMi 200 array def /ZMi 200 array def /XANMi 200 array def /YANMi 200 array def /ZANMi 200 array def /AANMi 200 array def /BANMi 200 array def 0 0 0 1 setcmykcolor /fscale 0.0001 def 0 1 199 {/k exch def %k=0,199 /k2 k 2 mul def XANMi k xy_MUNSELL k2 0 add get fscale mul put YANMi k xy_MUNSELL k2 1 add get fscale mul put ZANMi k 1. XANMi k get sub YANMi k get sub put /kV k 40 idiv def /YVALUE Y_MUNSELL kV get fscale mul def YMi k YVALUE put /SUMY YVALUE YANMi k get div def XMi k SUMY XANMi k get mul put ZMi k SUMY ZANMi k get mul put } for %k=0,199 %*********************** %XWM,YWM,ZWM and XKW,YKW,ZKW for white /YANWM xy_MUNSELL_C 0 get fscale mul def /YANWM xy_MUNSELL_C 1 get fscale mul def /ZANWM 1. YANWM sub YANWM sub def /YWM 100. def /SUMWM YWM YANWM div def /XWM SUMWM YANWM mul def /ZWM SUMWM ZANWM mul def /XKM XWM def /YKM YWM def /ZKM ZWM def } bind def %END proc_Munsell_colours %************************************************************************* /proc_Ostwald_colours {%BEG proc_Ostwald_colours %Input %/FAi 240 array def %CIE_02, CIE_10, CIE_F02, CIE_F10, LMS_17M3 %/SX01 80 array def %380 bis 775 mit deltalambda=05 %/SX02 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX05 80 array def %380 bis 775 mit deltalambda=05 %/SX06 80 array def %380 bis 775 mit deltalambda=05 %/SX07 80 array def %380 bis 775 mit deltalambda=05 /WEL1i 60 array def %irregular definition /WEL2i 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1i [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def %Calculation /RAOi 80 array def %380 bis 770 nm /FAOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /FANOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /SDAKOi 80 array def %380 bis 775 mit deltalambda=05 /SX00Oi 80 array def %380 bis 775 mit deltalambda=05 /SX01Oi 80 array def %380 bis 775 mit deltalambda=05 /SX02Oi 80 array def %380 bis 775 mit deltalambda=05 /SX03Oi 80 array def %380 bis 775 mit deltalambda=05 /SX04Oi 80 array def %380 bis 775 mit deltalambda=05 /SX05Oi 80 array def %380 bis 775 mit deltalambda=05 /SX06Oi 80 array def %380 bis 775 mit deltalambda=05 /SX07Oi 80 array def %380 bis 775 mit deltalambda=05 %special wavelength range with complementary colours for E? /FXDOi 80 array def /FYDOi 80 array def /FZDOi 80 array def /DOWOi 80 array def /FADOi 80 array def /FBDOi 80 array def /FCDOi 80 array def %Results /XOi 80 array def %usually 40 Ostwald COLOURS /YOi 80 array def /ZOi 80 array def /XANOi 80 array def %usually 40 Ostwald COLOURS /YANOi 80 array def /ZANOi 80 array def 0 1 239 {/i exch def %i=0,239 FAOi i FAi i get put } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO FAOi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add FAOi 00 i add get YKSUM div 100 mul put FANOi 80 i add FAOi 80 i add get YKSUM div 100 mul put FANOi 160 i add FAOi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 SX00Oi i SX00 i get put SX01Oi i SX01 i get put SX02Oi i SX02 i get put SX03Oi i SX03 i get put SX04Oi i SX04 i get put SX05Oi i SX05 i get put SX06Oi i SX06 i get put SX07Oi i SX07 i get put } for %i=0,79 %STOP6 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAKOi i xchartx 0 eq {SX00Oi i get} if xchartx 1 eq {SX01Oi i get} if xchartx 2 eq {SX02Oi i get} if xchartx 3 eq {SX03Oi i get} if xchartx 4 eq {SX04Oi i get} if xchartx 5 eq {SX05Oi i get} if xchartx 6 eq {SX06Oi i get} if xchartx 7 eq {SX07Oi i get} if put } for %i=0,79 %STOP7 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get FAOi 80 i add get mul add def } for %i=0,1,79 %STOP8 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add SDAKOi i get FAOi 00 i add get mul YKSUM div 100 mul put FANOi 80 i add SDAKOi i get FAOi 80 i add get mul YKSUM div 100 mul put FANOi 160 i add SDAKOi i get FAOi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %STOP11 /FXNOi 80 array def %FXN 0 = F2N imax /FYNOi 80 array def /FZNOi 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXNOi i FANOi 000 i add get put FYNOi i FANOi 080 i add get put FZNOi i FANOi 160 i add get put } for %i=0,79 %XWO,YWO,ZWO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 /SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWO XWO SUMWO div def /YANWO YWO SUMWO div def /ZANWO ZWO SUMWO div def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXDOi i FXNOi 005 i add get put FYDOi i FYNOi 005 i add get put FZDOi i FZNOi 005 i add get put DOWOi i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXDOi 61 FXDOi 60 get put FYDOi 61 FYDOi 60 get put FZDOi 61 FZDOi 60 get put FXDOi 62 FXDOi 60 get put FYDOi 62 FYDOi 60 get put FZDOi 62 FZDOi 60 get put 0 1 62 {/i exch def %i=0,62 FADOi i FXDOi i get put FBDOi i FYDOi i get put FCDOi i FZDOi i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %STOP12 %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FADO,FBDO,FCDO, KNPO %output FWERTiX/Y/Z (i=1,4) KNP 1 ge {/FWERT1X FADOi KNP 1 sub get def /FWERT1Y FBDOi KNP 1 sub get def /FWERT1Z FCDOi KNP 1 sub get def} {/FWERT1X FADOi 0 get def %again 400nm for i=0 /FWERT1Y FBDOi 0 get def /FWERT1Z FCDOi 0 get def} ifelse /FWERT2X FADOi KNP get def /FWERT2Y FBDOi KNP get def /FWERT2Z FCDOi KNP get def /FWERT3X FADOi KNP 1 add get def /FWERT3Y FBDOi KNP 1 add get def /FWERT3Z FCDOi KNP 1 add get def /FWERT4X FADOi KNP 2 add get def /FWERT4Y FBDOi KNP 2 add get def /FWERT4Z FCDOi KNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1i k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXDOi j get def %start at 405..700nm /FF2 FYDOi j get def /FF3 FZDOi j get def /U1 XWO def /U2 YWO def /U3 ZWO def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add neg def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /KNP INP def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /KNP IPN def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RAOi i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RAOi i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RAOi i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RAOi i1 0.5 put RAOi i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /XO 0 def /YO 0 def /ZO 0 def 0 1 079 {/i exch def %i=0,79 /XO XO FANOi 00 i add get RAOi i get mul add def /YO YO FANOi 80 i add get RAOi i get mul add def /ZO ZO FANOi 160 i add get RAOi i get mul add def } for %i=0,79 /SUMO XO YO add ZO add def /XANO XO SUMO FL add div def /YANO YO SUMO FL add div def /ZANO ZO SUMO FL add div def %************************************************* 0 0 0 1 setcmykcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 XOi k XO put YOi k YO put ZOi k ZO put XANOi k XANO put YANOi k YANO put ZANOi k ZANO put }%Icom=0 {%Icom=1 /kP 20 k add def XOi kP XWO XO sub put YOi kP YWO YO sub put ZOi kP ZWO ZO sub put /SUMO XOi kP get YOi kP get add ZOi kP get add def XANOi kP XOi kP get SUMO FL add div put YANOi kP YOi kP get SUMO FL add div put ZANOi kP ZOi kP get SUMO FL add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 XOi k XOi k get 0.8859 mul put YOi k YOi k get 0.8859 mul put ZOi k ZOi k get 0.8859 mul put XOi kP XOi kP get 0.8859 mul put YOi kP YOi kP get 0.8859 mul put ZOi kP ZOi kP get 0.8859 mul put } if %K=1 } for %k=0,19 %************************************** %XWO,YWO,ZWO and XKO,YKO,ZKO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XKO XWO def /YKO YWO def /ZKO ZWO def }%K=0 {%K=1 /XKO XWO 0.8859 mul def /YKO YWO 0.8859 mul def /ZKO ZWO 0.8859 mul def } ifelse %K=1 /SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKO XKO SUMKO div def /YANKO YKO SUMKO div def /ZANKO ZKO SUMKO div def /XANWL XANWO def /YANWL YANWO def /ZANWL ZANWO def } bind def %END proc_Ostwald_colours %********************************************************************** %**************************************************************** %allways /proc_DEF_colours {%BEG proc_DEF_colours %Colour Deficiencies /ip1 700 380 sub 5 idiv def %ip=64:700nm /XANP1 XANi ip1 get def /YANP1 YANi ip1 get def /ZANP1 ZANi ip1 get def /id1 505 380 sub 5 idiv def %ip=25:505nm /XAND1 XANi id1 get def /YAND1 YANi id1 get def /ZAND1 ZANi id1 get def /it1 400 380 sub 5 idiv def %ip=4:400nm /XANT1 XANi it1 get def /YANT1 YANi it1 get def /ZANT1 ZANi it1 get def %************************* /XANP XANP1 def /YANP YANP1 def /ZANP ZANP1 def /XAND 1.000 def /YAND 0.001 def /ZAND 0.999 def /XANT 0.171 def /YANT 0.001 def /ZANT 1.000 XANT sub YANT sub def %************************* /XAN00 0.3333 def %Illuminant E /YAN00 0.3333 def /mP YAN00 YANP sub XAN00 XANP sub div def %700nm /bP YAN00 XAN00 mP mul sub def /mD YAN00 YAND sub XAN00 XAND sub div def %xx /bD YAN00 XAN00 mD mul sub def /mT YAN00 YANT sub XAN00 XANT sub div def %xx /bT YAN00 XAN00 mT mul sub def %************************* /mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm /bP1 YAN00 XAN00 mP1 mul sub def %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /XAND1 XANZi i get def /YAND1 YANZi i get def /mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm /bD1 YAN00 XAN00 mD1 mul sub def /mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm /bT1 YAN00 XAN00 mT1 mul sub def /ishow {0 -40 rmoveto show 0 40 rmoveto} def /eshow {0 60 rmoveto show 0 -60 rmoveto} def /imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def /imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def /iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def } bind def %END proc_DEF_colours %allways if xchart6>=1 /proc_chromaticity {%BEG proc_chromaticity %chromaticity definitions xchartl 0 eq {%xchartl=0 %(x,y) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get put BANi i YANi i get put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 def /BANP1 YANP1 def /AAND1 XAND1 def /BAND1 YAND1 def /AANT1 XANT1 def /BANT1 YANT1 def /AANP XANP def /BANP YANP def /AAND XAND def /BAND YAND def /AANT XANT def /BANT YANT def %ACHROMATIC COLOUR /AANWL XANWL def /BANWL YANWL def /AANWC XANWC def /BANWC YANWC def } if %xchartl=0 %only for (x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=1 %only for (a0,b0) %***************** xchartl 2 eq {%xchartl=2 %(a1,b1) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=2 %only for (a1,b1) %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=3 %only for (a2,b2) %***************** xchartl 4 eq {%xchartl=4 %(a3,b3) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=4 %only for (a3,b3) %***************** xchartl 5 eq {%xchartl=5 %(a4,b4) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=5 %only for (a4,b4) %***************** xchartl 6 eq {%xchartl=6 %(a5,b5) /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def 0 1 79 {/i exch def %i=0,79 AANi i XANi i get A51 mul YANi i get A52 mul add A53 add YANi i get FL add div a2x mul put BANi i XANi i get B51 mul YANi i get B52 mul add B53 add YANi i get FL add div b2x mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get A51 mul YANZi i get A52 mul add A53 add YANZi i get FL add div a2x mul put BANZi i XANZi i get B51 mul YANZi i get B52 mul add B53 add YANZi i get FL add div b2x mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div a2x mul def /BANWL XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div b2x mul def /AANWC XANWC A51 mul YANWC A52 mul add A53 add YANWC FL add div a2x mul def /BANWC XANWC B51 mul YANWC B52 mul add B53 add YANWC FL add div b2x mul def } if %xchartl=6 %only for (a5,b5) %***************** xchartl 7 eq {%xchartl=7 %(a6,b6) %a=x/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=7 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_coor {%BEG proc_xaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1<=7 TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 3 eq or xchartl 7 eq or {%xchartl=1,3,7 TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,3,7 xchartl 2 eq xchartl 4 eq or xchartl 5 eq or {%xchartl=2,4,5 TBS (=\050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-0,171\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl#2,4,5 xchartl 6 eq {%xchartl=6 TBS (=\0508,61) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-7,20) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-0,269\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart=0,#0 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1,7 TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 2 eq or {%xchartl=1,2 TBS (=-0,40) show TBIS (z) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,2 xchartl 3 eq xchartl 5 eq or {%xchartl=3,5 TBS (=\050) show mP1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=3,5 xchartl 4 eq xchartl 7 eq or {%xchartl=4,7 TBS (=\050) show mD1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=4,7 xchartl 6 eq {%xchartl=6 TBS (=\0501,99) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+3,86) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-2,40\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart#0 } bind def %END proc_yaxis_xchartl_coor %********************************************************* /proc_chromaticity_lines {%BEG proc_chromaticity_lines for xchart6>=1 %chromaticity lines and with names for xchart6=2 xchartl 0 eq {%xchartl=0 %(x,y) /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolor 0 eq {(CIE 1931) show} if xcolor 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 M 0 000 000 (545) %33 1 050 050 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 L 1 050 050 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 100 -50 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 100 -50 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf XANWL fakt mul def /BANWLf YANWL fakt mul def /AANWCf XANWC fakt mul def /BANWCf YANWC fakt mul def /i 400 380 sub 5 idiv def %4 T /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0.5 0 0.5 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS /i 450 380 sub 5 idiv def %14 S /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S /i 475 380 sub 5 idiv def %18 B /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be (Lc) AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4 /i 495 380 sub 5 idiv def %23 Rc /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S) AANF 120 add BANF 400 sub moveto TIK (M) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 505 380 sub 5 idiv def %26 505c,E /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S) AANF 250 add BANF 300 sub moveto TIK (V') show 0 0 0 setrgbcolor AANF 050 add BANF 550 sub moveto TIK (V) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 520 380 sub 5 idiv def %28 G /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B) AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4 1 1 0 setrgbcolor AANF 100 sub BANF 700 sub moveto TIK (Y) show (l) iy4 TK (=) show 0 0 1 setrgbcolor TIK (B) show (l) iy4 /i 540 380 sub 5 idiv def %32 M /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %540 M AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4 /i 555 380 sub 5 idiv def %35 V /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M) AANF 000 add BANF 000 add moveto TIK (V) show (m) is4 /i 570 380 sub 5 idiv def %38 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %570 L %AANF 250 sub BANF 200 sub moveto TIK (Y) show %0 0 0 setrgbcolor AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4 /i 575 380 sub 5 idiv def %39 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %575 L AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4 /i 700 380 sub 5 idiv def %64 R /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %700 AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4 %Protanop PL 1 0 0 setrgbcolor AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans0 neg ytrans0 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=0 %(x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) %STOP9 /xtrans1a 0500 def /xtrans1 1300 def /ytrans1 3200 def xtrans1a ytrans1 translate 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans1a neg ytrans1 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans1 ytrans1 translate /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 1 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 200 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0050 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans1 neg ytrans1 neg translate %ENDE: 2 } if %xchartl=1 %(a0,b0) %*********************************************************** xchartl 2 eq {%xchartl=2 (a1,b1) /xtrans2a 0500 def /xtrans2 1300 def /ytrans2 3200 def xtrans2a ytrans2 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans2a neg ytrans2 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans2 ytrans2 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -250 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans2 neg ytrans2 neg translate %for text and grafic %ENDE: 2 } if %xchartl=2 %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) /xtrans3a 0500 def /xtrans3 1300 def /ytrans3 3200 def xtrans3a ytrans3 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans3a neg ytrans3 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans3 ytrans3 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 100 -050 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1700 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 0500 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0250 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans3 neg ytrans3 neg translate %for text and grafic %ENDE: 2 } if %xchartl=3 %*********************************************************** xchartl 4 eq {%xchartl=4 %(a3,b3) /xtrans4a 0500 def /xtrans4 1300 def /ytrans4 3200 def xtrans4a ytrans4 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans4a neg ytrans4 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans4 ytrans4 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -280 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2100 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0550 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans4 neg ytrans4 neg translate %for text and grafic %ENDE: 2 } if %xchartl=4 %*********************************************************** xchartl 5 eq {%xchartl=5 %(a4,b4) /xtrans5a 0500 def /xtrans5 1300 def /ytrans5 3200 def xtrans5a ytrans5 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans5a neg ytrans5 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans5 ytrans5 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 -050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -050 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -300 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0800 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0700 0080 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0300 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 0050 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans5 neg ytrans5 neg translate %for text and grafic %ENDE: 2 } if %xchartl=5 %*********************************************************** xchartl 6 eq {%xchartl=6 %(a5,b5) /xtrans6a 0500 def /xtrans6 1300 def /ytrans6 3200 def xtrans6a ytrans6 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans6a neg ytrans6 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans6 ytrans6 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 0 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans6 neg ytrans6 neg translate %for text and grafic %ENDE: 2 } if %xchartl=6 %*********************************************************** xchartl 7 eq {%xchartl=7 %(a6,b6) /xtrans7a 0500 def /xtrans7 1300 def /ytrans7 3200 def xtrans7a ytrans7 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans7a neg ytrans7 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans7 ytrans7 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 newpath TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 newpath newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 newpath TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 newpath /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1800 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans7 neg ytrans7 neg translate %for text and grafic %ENDE: 2 } if %xchartl=7 } bind def %END proc_chromaticity_lines /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt /proc_tab1N {%BEG proc_tab1N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab1N %******************************************************** /proc_tab2N {%BEG proc_tab2N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab2N %********************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} %new {/xchart5 2 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %STOP1 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolor cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow gsave %XCHA01.PS END 5 /Times-ISOL1 FS %175 85 moveto (DG411-3A) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale 30 setlinewidth %xchart3 0 def %with Munsell colours %xchart3 1 def %with Ostwald colours %xchart3 2 det %without any colour /xchart3 1 def %diagram 0:Munsell colours, 1:Ostwald colours, 2:- %xchart5 0 def %without marc illuminant and text %xchart5 1 def %with marc illuminant %xchart5 2 def %with marc illuminant and text /xchart5 2 def %0:-, 1:illuminant, 2:illuminant and text %xchart6 0 def %without chromaticity_lines %xchart6 1 def %with chromaticity_lines %xchart6 2 def %with chromaticity_lines and names /xchart6 2 def %0:-, 1:chromaticity_lines 2:chromaticity_lines & names %xchart7 0 def %Ostwald colours without Name or Y %xchart7 1 def %Ostwald colours with Name %xchart7 2 def %Ostwald colours with CIE Y /xchart7 2 def %0:-, 1:Name, 2:Y %xchartl with 0 1 2 3 4 5 6 7 %xchart8 0 def %0:Pxx (P60, P55, P50, P45, P40, P35, P30, P25) colours %xchart8 1 def %1:Dxx (D65, D50, P40, A00, E00, C00, P00, Q00) colours /xchart8 1 def %0:Pxx, 1:Dxx colours %xchart9 0 def %for Y10-7R.EPS -> Table XYZ, not used here %xchart9 1 def %for Y10-7R.EPS -> Table CAB, not used here %xchart9 2 def %for Y10-7R.EPS -> Table (a,b), not used here /xchart9 0 def %Table 0:(XYZ), 1:(CAB), 2(ab) %xchart10 0 def %for Y10G00NP.PS6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10G00NP.PS6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10G00NP.PS6.PS -> chroma (A*i,B*i) /xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) %xchart13 0 def %CIE_02 %xchart13 1 def %CIE_10 %xchart13 2 def %CIE_F02 %xchart13 3 def %CIE_F10 %xchart13 4 def %LMS_17M3 %xchart13 5 def %LMS_17M4 /xchart13 4 def %xchart13=4(CIE_42),1(CIE_14),2(CIE_F42),3(CIE_F14),4/5 (model) %/xchart14 0 def %unnormiert %/xchart14 1 def %Yw-normiert %/xchart14 2 def %XYZw-normiert /xchart14 0 def %1:unnormiert, 2:Yw-normiert. 3:XYZw-normiert /posax 2700 def /posay 0550 def /posbx -350 def /posby -3150 def /FL 0.00001 def /Y18 18 def %grey background %/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i) /n1e 1.0000 def %allways %/n1e 0.3333 def %very special (a', b') xchart10 1 le {/n0e 1.0000 def} {/n0e 0.3333 def} ifelse gsave /xchartx xchart def 1 1 1 {/xchartx exch def %xchartx=0,7 %8 illuminants gsave 20 setlinewidth %0 0 11550 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey %0 0 11550 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz %STOP %allways proc_CIE_LMS0 %STOP1 proc_DEF_colours xchart3 0 eq {%BEG proc_Munsell_colours proc_Munsell_colours } if %END proc_Munsell_colours xchart3 1 eq {%BEG proc_Ostwald_colours proc_Ostwald_colours } if %END proc_Ostwald_colours %STOP2 /xchartl 05 def 02 1 02 {/xchartl exch def %xchartl=0,7 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto xchartl 7 le {(DG411-) show} {(DG411-) show} ifelse xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow} if xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow} if (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.3 setcmykcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 1.0 colrecst %frame black /xtexti 96 array def /ytexti 96 array def %BEG INC Y11_XCHART10_0/1/2.PS %line 5531 %******************************************************************** %BEG 'CL70'Y11_XCHART1A_1.PS FROM 'CL66'Y10-7R_66.EPS xchart10 1 eq {%xchart10=1 long loop 1700 lines! %/xxt -0.021 def /yyt -0.024 def %/xat 0.031 def /yat 0.029 def /xxt 0.000 def /yyt 0.000 def /xat 0.000 def /yat 0.000 def /proc_Yexp {%BEG proc_Yexp xchart10 0 eq {%chromaticity /Yexp 1 def } if %chromaticity xchart10 1 eq {%chromatic value xchart3 0 eq {%Munsell colours /Yexp YMi ikV40 get def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp YOi i get def } if %Ostwald colours } if %chromatic value xchart10 2 eq {%chroma xchart3 0 eq {%Munsell colours /Yexp Y18 YMi ikV40 get Y18 div n0e exp mul def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp Y18 YOi i get Y18 div n0e exp mul def } if %Ostwald colours } if %chroma } bind def %END proc_Yexp 0 0 0 1 setcmykcolor /xchart12 xchartl 12 mul def xchart3 0 eq {%xchart3=0 %Munsell_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Ostwald_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=1 %Ostwald_colours xchart3 1 eq xchartl 0 eq and {%xchart3=1 only for Ostwald colours and (x,y) xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name und Spektralbereich) showde %0DG411-7 00581 (Name and spectral range) showen %1DG411-7 00581 (Nombre y gama espectral) showes %2DG411-7 00581 (Nom et la gamma spectrale) showfr %3DG411-7 00581 (Nome e la gamma spettrale) showit %4DG411-7 00581 (Name and spectral range) showjp %5DG411-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBEO 0 get show TBV 0 -40 rmoveto FARBEO 1 get show 0 40 rmoveto TBIS FARBEO 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBEO 3 get show TBV 0 -40 rmoveto FARBEO 4 get show 0 40 rmoveto TBIS FARBEO 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBEO 6 get show TBV 0 -40 rmoveto FARBEO 7 get show 0 40 rmoveto TBIS FARBEO 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBEO 9 get show TBV 0 -40 rmoveto FARBEO 10 get show 0 40 rmoveto TBIS FARBEO 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBEO 12 get show TBV 0 -40 rmoveto FARBEO 13 get show 0 40 rmoveto TBIS FARBEO 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBEO 15 get show TBV 0 -40 rmoveto FARBEO 16 get show 0 40 rmoveto TBIS FARBEO 17 get show } if %xchart3=1 only for Ostwald colours TBS 0 0 0 1 setcmykcolor xchart3 0 eq {%xchart3=0 %Munsell_colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Munsell) show TBS (-System) showde %0DG411-7 02581 ( System) showea %1DG411-7 02581 TBIS (, Y) show (w) ib6 xcolor 1 eq {(,10) ib6} if TBS K 0 eq {(=100, ) show}{(=88,6, ) show} ifelse TELi xchartx get show xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (C=2, V=1, 2, 5, 8 & 9, ) show %0DG411-7 03581 TELi xchartx get show } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Optimal Colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Ostwald) showde TBS ( Farben (o)) showde %0DG411-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1DG411-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2DG411-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3DG411-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4DG411-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5DG411-7 02581 TBIS (, Y) show 0 -60 rmoveto (W) show 0 60 rmoveto TBS K 0 eq {(=100) show}{(=88,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (max (m) Buntwert, ) showde %0DG411-7 03581 (max (m) chromatic value, ) showen %1DG411-7 03581 (chromatic m\341x (m), ) showes %2DG411-7 03581 (max (m) chromatic valeur, ) showfr %3DG411-7 03581 (max (m) chromatic value, ) showit %4DG411-7 03581 (max (m) chromatic value, ) showjp %5DG411-7 03581 TELi xchartx get show } if %xchart3=1 %Optimal_colours %BEG For All Colours last line xtexti xchart12 2 add get ytexti xchart12 2 add get moveto proc_diagram_xchartl_txt %END For All Colours last line %*********************************************************** /imM 199 def %maximum Munsell Colours /imO 039 def %maximum Ostwald Colours %***************************************** 0 setgray xchartl 0 eq {%xchartl=0 %(x,y) %only for xchartl=0 proc_chromaticity proc_chromaticity_lines /fakt 4000 def /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic xchart3 0 eq {%xchart3=0 %BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 AnYi i XANMi i kV40 add get fakt mul put %x BnYi i YANMi i kV40 add get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath XANWL fakt mul YANWL fakt mul 40 0 360 arc stroke xchart5 2 eq {%xchart5=2 %+TELi XANWL fakt mul 200 sub 150 add YANWL fakt mul 500 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi xchart5 3 eq {%xchart5=3 %+V=1..9 1250 550 add 1316 250 add moveto (1) show 1250 350 add 1316 100 add moveto (2) show 1250 200 add 1316 050 add moveto (5) show } if %xchart5=3 %+V=1..9 } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 0 0 setrgbcolor 0 1 39 {/i exch def %i=0,39 AnYi i XANOi i get fakt mul put %x BnYi i YANOi i get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans0 neg ytrans0 neg translate %for scala and graphi } if %xchartl=0 %************************ %Special coordinate system for (Ax,Bx) digrams*************** %***************** xchartl 1 ge {%xchartl>=1 /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic %axis and scales 0 0 0 1 setcmyk_olvcolor -2250 0 moveto 3950 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1700 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-40) ( ) ( ) ( ) ( 40)] def /yt10x [(-40) ( ) ( ) ( ) (40)] def /fakt 40 def %default xchart3 0 eq {/xt10x [(-10) ( ) ( ) ( ) ( 10)] def /yt10x [(-10) ( ) ( ) ( ) (10) ] def} if %xchart3=0 %Munsell 0 0 0 1 setcmyk_olvcolor 0 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {%i=4 -1600 i 800 mul add 0 moveto -100 150 rmoveto TBIM (A) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1600 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {%i=4 -100 -1600 i 800 mul add moveto -250 150 rmoveto TBIM (B) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl>=1 %********************************************************** xchartl 1 eq {%xchartl=1 %(A0,B0) (a=x/y, b=-0.4*z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl=1 %(A0,B0) %***************************************************************** xchartl 2 eq {%xchartl=2 %(A1,B1) (a1=[x-XANT]/y, b1=z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans2 3500 def /ytrans2 2000 def xtrans2 ytrans2 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (T1) ib6 TBS (=) show 1.0 cvsshow3x (, ) show TBIS (b) show (T1) ib6 TBS (=) show XANT cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans2 neg ytrans2 neg translate %for scala and graphic } if %xchartl=2 %(A1,B1) %************************ xchartl 3 eq {%xchartl=1 %(A2,B2) (a2=x/y, b2=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans3 3500 def /ytrans3 2000 def xtrans3 ytrans3 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans3 neg ytrans3 neg translate %for scala and graphic } if %xchartl=3 %(A2,B2) %************************ xchartl 4 eq {%xchartl=04 %(A3,B3) (a3=[x-XANT]/y, b3=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans4 3500 def /ytrans4 2000 def xtrans4 ytrans4 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans4 neg ytrans4 neg translate %for scala and graphic } if %xchartl=4 %(A3,B3) %************************ xchartl 5 eq {%xchartl=5 %(A4,B4) (a4=(x-XANT)/y, b4=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans5 3500 def /ytrans5 2000 def xtrans5 ytrans5 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans5 neg ytrans5 neg translate %for scala and graphic } if %xchartl=5 %(A4,B4) %************************ xchartl 6 eq {%xchartl=6 %(A5,B5) (a5=[x-XANT]/y, b5=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def /xtrans6 3500 def /ytrans6 2000 def xtrans6 ytrans6 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (a) show (2x) ib6 TBS ([\050+) show A51 cvsshow2x TBIS (x) show TBS A52 cvsshow2x TBIS (y) show TBS A53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (b) show (2x) ib6 TBS ([\050+) show B51 cvsshow2x TBIS (x) show TBS (+) show B52 cvsshow2x TBIS (y) show TBS B53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (2x) ib6 TBS ( = ) show a2x cvsshow2x (, ) show TBIS (b) show (2x) ib6 TBS ( = ) show b2x cvsshow2x -3400 iyT idyT 7 mul sub moveto SS (l) show (B,G,Y,R) ib6 TBS (=475,503,574,494c,E nm) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get A51 mul YANMi ikV40 get A52 mul add A53 add YANMi ikV40 get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANMi ikV40 get B51 mul YANMi ikV40 get B52 mul add B53 add YANMi ikV40 get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get A51 mul YANOi i get A52 mul add A53 add YANOi i get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANOi i get B51 mul YANOi i get B52 mul add B53 add YANOi i get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans6 neg ytrans6 neg translate %for scala and graphic } if %xchartl=6 %(A5,B5) %************************ xchartl 7 eq {%xchartl=7 %(A6,B6) (a6=x/y, b6=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans7 3500 def /ytrans7 2000 def xtrans7 ytrans7 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans7 neg ytrans7 neg translate %for scala and graphic } if %xchartl=7 } if %xchart10=1 long loop 1700 lines! %END 'CL70'Y11_XCHART1A_1.PS %*************************************************************** %END INC Y11_XCHART10_0/1/2.PS %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 08 MM sub 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 http://farbe.li.tu-berlin.de/DG41/DG411-1A_3N 20180221 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark15 where {pop} {userdict /pdfmark15 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark15 [ /View [ /Fit ] /DOCVIEW pdfmark15 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SV {160 /Symbol FS} bind def /CV {160 /Courier-ISOL1 FS} bind def /CS {200 /Courier-ISOL1 FS} bind def /CK {240 /Courier-ISOL1 FS} bind def /CM {280 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBV {160 /CourierB-ISOL1 FS} bind def /CBS {200 /CourierB-ISOL1 FS} bind def /CBK {240 /CourierB-ISOL1 FS} bind def /CBM {280 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /ns {350 /Times-ISOL1 FS show} bind def /ks {350 /TimesI-ISOL1 FS show} bind def /bs {350 /TimesB-ISOL1 FS show} bind def /js {350 /TimesBI-ISOL1 FS show} bind def /sy {350 /Symbol FS show} bind def /is {280 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /es {280 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ib {280 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eb {280 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ip {280 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /ns2 {280 /Times-ISOL1 FS show TM} bind def /ks2 {280 /TimesI-ISOL1 FS show TM} bind def /bs2 {280 /TimesB-ISOL1 FS show TM} bind def /js2 {280 /TimesBI-ISOL1 FS show TM} bind def /sy2 {280 /Symbol FS show TM} bind def /is2 {240 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {240 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {240 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {240 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {240 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def /iy2 {240 /Symbol FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def %40% kleiner /ns4 {240 /Times-ISOL1 FS show TK} bind def /ks4 {240 /TimesI-ISOL1 FS show TK} bind def /bs4 {240 /TimesB-ISOL1 FS show TK} bind def /js4 {240 /TimesBI-ISOL1 FS show TK} bind def /ss4 {240 /Symbol FS show TK} bind def /is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def /iy4 {200 /Symbol FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def %60% kleiner /ns6 {200 /Times-ISOL1 FS show TS} bind def /ks6 {200 /TimesI-ISOL1 FS show TS} bind def /bs6 {200 /TimesB-ISOL1 FS show TS} bind def /js6 {200 /TimesBI-ISOL1 FS show TS} bind def /ss6 {200 /Symbol FS show TS} bind def /is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /es6 {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eb6 {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def /iy6 {160 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /cvicvs {cvi 6 string cvs} def /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.1234/99.0123/99.0010/99.0001 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10000 mul cvi /nxi exch def %nxi=991234/990123/990010/990000 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=1234/0123/0010/0001 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=1234/0123/0010/0001 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def /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 %************************************************* /proc_CIE_LMS0 {%BEG proc_CIE_LMS0 %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %Combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F02i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F10i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /FF02i 320 array def %80x4 CIE_F02 fundamental observer /FF10i 320 array def %80x4 CIE_F10 fundamental observer /FAi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /XZAi 17 array def /YZAi 17 array def /ZZAi 17 array def /XANZAi 17 array def /YANZAi 17 array def /ZANZAi 17 array def /FXAi 80 array def %unnormiert /FYAi 80 array def /FZAi 80 array def /FXNi 80 array def %Y-normiert /FYNi 80 array def /FZNi 80 array def /FXMi 80 array def %XYZ-normiert /FYMi 80 array def /FZMi 80 array def %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F02i CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 %400nm: 0.0143 0.0003 0.0678 /F02i %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 %X:380_775 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 %700:0.0113 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 %Y:380_775 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 %700: 0.0041 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 %Z:380-775 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10i %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /FF02i [%BEG FF02i Colour matching functions 5nm 02-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 3.769647E-03 4.146161E-04 1.847260E-02 %=390 385 3.769647E-03 4.146161E-04 1.847260E-02 %=390 390 3.769647E-03 4.146161E-04 1.847260E-02 395 9.382967E-03 1.059646E-03 4.609784E-02 400 2.214302E-02 2.452194E-03 1.096090E-01 405 4.742986E-02 4.971717E-03 2.369246E-01 410 8.953803E-02 9.079860E-03 4.508369E-01 415 1.446214E-01 1.429377E-02 7.378822E-01 420 2.035729E-01 2.027369E-02 1.051821E+00 425 2.488523E-01 2.612106E-02 1.305008E+00 430 2.918246E-01 3.319038E-02 1.552826E+00 435 3.227087E-01 4.157940E-02 1.748280E+00 440 3.482554E-01 5.033657E-02 1.917479E+00 445 3.418483E-01 5.743393E-02 1.918437E+00 450 3.224637E-01 6.472352E-02 1.848545E+00 455 2.826646E-01 7.238339E-02 1.664439E+00 460 2.485254E-01 8.514816E-02 1.522157E+00 465 2.219781E-01 1.060145E-01 1.428440E+00 470 1.806905E-01 1.298957E-01 1.250610E+00 475 1.291920E-01 1.535066E-01 9.991789E-01 480 8.182895E-02 1.788048E-01 7.552379E-01 485 4.600865E-02 2.064828E-01 5.617313E-01 490 2.083981E-02 2.379160E-01 4.099313E-01 495 7.097731E-03 2.850680E-01 3.105939E-01 500 2.461588E-03 3.483536E-01 2.376753E-01 505 3.649178E-03 4.277595E-01 1.720018E-01 510 1.556989E-02 5.204972E-01 1.176796E-01 515 4.315171E-02 6.206256E-01 8.283548E-02 520 7.962917E-02 7.180890E-01 5.650407E-02 525 1.268468E-01 7.946448E-01 3.751912E-02 530 1.818026E-01 8.575799E-01 2.438164E-02 535 2.405015E-01 9.071347E-01 1.566174E-02 540 3.098117E-01 9.544675E-01 9.846470E-03 545 3.804244E-01 9.814106E-01 6.131421E-03 550 4.494206E-01 9.890228E-01 3.790291E-03 555 5.280233E-01 9.994608E-01 2.327186E-03 560 6.133784E-01 9.967737E-01 1.432128E-03 565 7.016774E-01 9.902549E-01 8.822531E-04 570 7.967750E-01 9.732611E-01 5.452416E-04 575 8.853376E-01 9.424569E-01 3.386739E-04 580 9.638388E-01 8.963613E-01 2.117772E-04 585 1.051011E+00 8.587203E-01 1.335031E-04 590 1.109767E+00 8.115868E-01 8.494468E-05 595 1.143620E+00 7.544785E-01 5.460706E-05 600 1.151033E+00 6.918553E-01 3.549661E-05 605 1.134757E+00 6.270066E-01 2.334738E-05 610 1.083928E+00 5.583746E-01 1.554631E-05 615 1.007344E+00 4.895950E-01 1.048387E-05 620 9.142877E-01 4.229897E-01 0.000000E+00 625 8.135565E-01 3.609245E-01 0.000000E+00 630 6.924717E-01 2.980865E-01 0.000000E+00 635 5.755410E-01 2.416902E-01 0.000000E+00 640 4.731224E-01 1.943124E-01 0.000000E+00 645 3.844986E-01 1.547397E-01 0.000000E+00 650 2.997374E-01 1.193120E-01 0.000000E+00 655 2.277792E-01 8.979594E-02 0.000000E+00 660 1.707914E-01 6.671045E-02 0.000000E+00 665 1.263808E-01 4.899699E-02 0.000000E+00 670 9.224597E-02 3.559982E-02 0.000000E+00 675 6.639960E-02 2.554223E-02 0.000000E+00 680 4.710606E-02 1.807939E-02 0.000000E+00 685 3.292138E-02 1.261573E-02 0.000000E+00 690 2.262306E-02 8.661284E-03 0.000000E+00 695 1.575417E-02 6.027677E-03 0.000000E+00 700 1.096778E-02 4.195941E-03 0.000000E+00 705 7.608750E-03 2.910864E-03 0.000000E+00 710 5.214608E-03 1.995557E-03 0.000000E+00 715 3.569452E-03 1.367022E-03 0.000000E+00 720 2.464821E-03 9.447269E-04 0.000000E+00 725 1.703876E-03 6.537050E-04 0.000000E+00 730 1.186238E-03 4.555970E-04 0.000000E+00 735 8.269535E-04 3.179738E-04 0.000000E+00 740 5.758303E-04 2.217445E-04 0.000000E+00 745 4.058303E-04 1.565566E-04 0.000000E+00 750 2.856577E-04 1.103928E-04 0.000000E+00 755 2.021853E-04 7.827442E-05 0.000000E+00 760 1.438270E-04 5.578862E-05 0.000000E+00 765 1.024685E-04 3.981884E-05 0.000000E+00 770 7.347551E-05 2.860175E-05 0.000000E+00 775 5.259870E-05 2.051259E-05 0.000000E+00 %780 3.806114E-05 1.487243E-05 0.000000E+00 %785 2.758222E-05 1.080001E-05 0.000000E+00 %790 2.004122E-05 7.863920E-06 0.000000E+00 %795 1.458792E-05 5.736935E-06 0.000000E+00 %800 1.068141E-05 4.211597E-06 0.000000E+00 %805 7.857521E-06 3.106561E-06 0.000000E+00 %810 5.768284E-06 2.286786E-06 0.000000E+00 %815 4.259166E-06 1.693147E-06 0.000000E+00 %820 3.167765E-06 1.262556E-06 0.000000E+00 %825 2.358723E-06 9.422514E-07 0.000000E+00 %830 1.762465E-06 7.053860E-07 0.000000E+00 ] def %END CIEF_XYZ_02 Colour matching functions 5nm 02-degree /FF10i [%BEG CIEF_XYZ_10 Colour matching functions 5nm 10-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 2.952420E-03 4.076779E-04 1.318752E-02 %=390 385 2.952420E-03 4.076779E-04 1.318752E-02 %=390 390 2.952420E-03 4.076779E-04 1.318752E-02 395 7.641137E-03 1.078166E-03 3.424588E-02 400 1.879338E-02 2.589775E-03 8.508254E-02 405 4.204986E-02 5.474207E-03 1.927065E-01 410 8.277331E-02 1.041303E-02 3.832822E-01 415 1.395127E-01 1.712968E-02 6.568187E-01 420 2.077647E-01 2.576133E-02 9.933444E-01 425 2.688989E-01 3.529554E-02 1.308674E+00 430 3.281798E-01 4.698226E-02 1.624940E+00 435 3.693084E-01 6.047429E-02 1.867751E+00 440 4.026189E-01 7.468288E-02 2.075946E+00 445 4.042529E-01 8.820537E-02 2.132574E+00 450 3.932139E-01 1.039030E-01 2.128264E+00 455 3.482214E-01 1.195389E-01 1.946651E+00 460 3.013112E-01 1.414586E-01 1.768440E+00 465 2.534221E-01 1.701373E-01 1.582342E+00 470 1.914176E-01 1.999859E-01 1.310576E+00 475 1.283167E-01 2.312426E-01 1.010952E+00 480 7.593120E-02 2.682271E-01 7.516389E-01 485 3.836770E-02 3.109438E-01 5.549619E-01 490 1.400745E-02 3.554018E-01 3.978114E-01 495 3.446810E-03 4.148227E-01 2.905816E-01 500 5.652072E-03 4.780482E-01 2.078158E-01 505 1.561956E-02 5.491344E-01 1.394643E-01 510 3.778185E-02 6.248296E-01 8.852389E-02 515 7.538941E-02 7.012292E-01 5.824484E-02 520 1.201511E-01 7.788199E-01 3.784916E-02 525 1.756832E-01 8.376358E-01 2.431375E-02 530 2.380254E-01 8.829552E-01 1.539505E-02 535 3.046991E-01 9.233858E-01 9.753000E-03 540 3.841856E-01 9.665325E-01 6.083223E-03 545 4.633109E-01 9.886887E-01 3.769336E-03 550 5.374170E-01 9.907500E-01 2.323578E-03 555 6.230892E-01 9.997775E-01 1.426627E-03 560 7.123849E-01 9.944304E-01 8.779264E-04 565 8.016277E-01 9.848127E-01 5.408385E-04 570 8.933408E-01 9.640545E-01 3.342429E-04 575 9.721304E-01 9.286495E-01 2.076129E-04 580 1.034327E+00 8.775360E-01 1.298230E-04 585 1.106886E+00 8.370838E-01 8.183954E-05 590 1.147304E+00 7.869950E-01 5.207245E-05 595 1.160477E+00 7.272309E-01 3.347499E-05 600 1.148163E+00 6.629035E-01 2.175998E-05 605 1.113846E+00 5.970375E-01 1.431231E-05 610 1.048485E+00 5.282296E-01 9.530130E-06 615 9.617111E-01 4.601308E-01 6.426776E-06 620 8.629581E-01 3.950755E-01 0.000000E+00 625 7.603498E-01 3.351794E-01 0.000000E+00 630 6.413984E-01 2.751807E-01 0.000000E+00 635 5.290979E-01 2.219564E-01 0.000000E+00 640 4.323126E-01 1.776882E-01 0.000000E+00 645 3.496358E-01 1.410203E-01 0.000000E+00 650 2.714900E-01 1.083996E-01 0.000000E+00 655 2.056507E-01 8.137687E-02 0.000000E+00 660 1.538163E-01 6.033976E-02 0.000000E+00 665 1.136072E-01 4.425383E-02 0.000000E+00 670 8.281010E-02 3.211852E-02 0.000000E+00 675 5.954815E-02 2.302574E-02 0.000000E+00 680 4.221473E-02 1.628841E-02 0.000000E+00 685 2.948752E-02 1.136106E-02 0.000000E+00 690 2.025590E-02 7.797457E-03 0.000000E+00 695 1.410230E-02 5.425391E-03 0.000000E+00 700 9.816228E-03 3.776140E-03 0.000000E+00 705 6.809147E-03 2.619372E-03 0.000000E+00 710 4.666298E-03 1.795595E-03 0.000000E+00 715 3.194041E-03 1.229980E-03 0.000000E+00 720 2.205568E-03 8.499903E-04 0.000000E+00 725 1.524672E-03 5.881375E-04 0.000000E+00 730 1.061495E-03 4.098928E-04 0.000000E+00 735 7.400120E-04 2.860718E-04 0.000000E+00 740 5.153113E-04 1.994949E-04 0.000000E+00 745 3.631969E-04 1.408466E-04 0.000000E+00 750 2.556624E-04 9.931439E-05 0.000000E+00 755 1.809649E-04 7.041878E-05 0.000000E+00 760 1.287394E-04 5.018934E-05 0.000000E+00 765 9.172477E-05 3.582218E-05 0.000000E+00 770 6.577532E-05 2.573083E-05 0.000000E+00 775 4.708916E-05 1.845353E-05 0.000000E+00 %780 3.407653E-05 1.337946E-05 0.000000E+00 %785 2.469630E-05 9.715798E-06 0.000000E+00 %790 1.794555E-05 7.074424E-06 0.000000E+00 %795 1.306345E-05 5.160948E-06 0.000000E+00 %800 9.565993E-06 3.788729E-06 0.000000E+00 %805 7.037621E-06 2.794625E-06 0.000000E+00 %810 5.166853E-06 2.057152E-06 0.000000E+00 %815 3.815429E-06 1.523114E-06 0.000000E+00 %820 2.837980E-06 1.135758E-06 0.000000E+00 %825 2.113325E-06 8.476168E-07 0.000000E+00 %830 1.579199E-06 6.345380E-07 0.000000E+00 ] def %END CIEF_XYZ_10 Colour matching functions 5nm 10-degree xchart13 0 eq {%xchart13=0 %02 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F02i i get put } for %i=0,1,239 } if %xchart13=0 xchart13 1 eq {%xchart13=1 %10 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F10i i get put } for %i=0,1,239 } if %xchart13=1 xchart13 2 eq {%xchart13=2 %02 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF02i i4 1 add get put FAi 80 i add FF02i i4 2 add get put FAi 160 i add FF02i i4 3 add get put } for %i=0,1,79 } if %xchart13=2 xchart13 3 eq {%xchart13=3 %10 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF10i i4 1 add get put FAi 80 i add FF10i i4 2 add get put FAi 160 i add FF10i i4 3 add get put } for %i=0,1,79 } if %xchart13=3 xchart13 4 ge {%xchart13>=4 /CY 0.35 def /CY2 1.00 def /CX 50 def /W0 570 def /W1 540 def /W2 440 def %new /ILT 0 def ILT 0 eq {/tsa 0.000 def} if ILT 1 eq {/tsa 0.010 def} if %actual 2 or 10-degree CIE standard observer E, 80 data, 380-775nm, delta=5nm /lE1j 80 array def /mE1j 80 array def /sE1j 80 array def /lESj 80 array def /mESj 80 array def /sESj 80 array def /XE1j 80 array def /YE1j 80 array def /ZE1j 80 array def /xanE1j 80 array def /yanE1j 80 array def /zanE1j 80 array def /XESj 80 array def /YESj 80 array def /ZESj 80 array def /xanESj 80 array def /yanESj 80 array def /zanESj 80 array def /Xmi 88 array def /Ymi 88 array def /Ymi0 88 array def /Ymi1 88 array def /Ymi2 88 array def /Ymi3 88 array def /sASjk 80 array def 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put Xmi i get W2 le {/YEXP Xmi i get W2 sub CX div dup mul CY2 mul neg def} {/YEXP 0.0001 def} ifelse /EYEXP 10 YEXP exp 0.0001 add def sASjk i EYEXP put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put %s later with media absortion correction /YEXP Xmi i get W2 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi2 i EYEXP put %l later with 2% linear blue cone attribute /YEXP Xmi i get W0 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi0 i EYEXP put %m symmetric with no change /YEXP Xmi i get W1 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi1 i EYEXP put %y linear 0.5 l + 0.5 m Ymi3 i Ymi0 i get Ymi1 i get add 0.5 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 %s with media absortion correction sESj i Ymi2 i get sASjk i get mul put %l with 2% linear s cone attribute lESj i Ymi0 i get sESj i get 0.02 mul add put %m symmetric with no change mESj i Ymi1 i get put } for %i=0,1,79 %Normalisation of LMS to 100 /fslES 0 def /fsmES 0 def /fssES 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumLMS /fslES fslES lESj i get add def /fsmES fsmES mESj i get add def /fssES fssES sESj i get add def } for %i=0,79 %0 1 79 {/i exch def %i=0,1,79 %no normalisation LMS, multiply with 100 for E00 % lESj i lESj i get put % mESj i mESj i get put % sESj i sESj i get put % } for %i=0,1,79 %0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 % lESj i lESj i get 100 mul put % mESj i mESj i get fsmES 0.0001 add div 100 mul put % sESj i sESj i get 100 mul put % } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 lESj i lESj i get fslES 0.0001 add div 21.18 mul put mESj i mESj i get fsmES 0.0001 add div 21.18 mul put sESj i sESj i get fssES 0.0001 add div 21.18 mul put } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 /A11 1.3200 def %LMS -> x /A12 -0.6600 def /A13 0.3400 def /A21 0.5000 def %LMS -> y /A22 0.5000 def /A23 0.0000 def /A31 0.0000 def %LMS -> z /A32 0.0000 def /A33 1.0000 def 0 1 79 {/i exch def %i=0,1,79 FAi i 000 add lESj i get A11 mul mESj i get A12 mul add sESj i get A13 mul add put FAi i 080 add lESj i get A21 mul mESj i get A22 mul add sESj i get A23 mul add put FAi i 160 add lESj i get A31 mul mESj i get A32 mul add sESj i get A33 mul add put } for %i=0,1,79 } if %xchart13>=4 %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOWi 82 array def /DOWZi 17 array def /F02Zi 51 array def /F10Zi 51 array def /FF02Zi 51 array def /FF10Zi 51 array def /LMS0Zi 51 array def /LMS1Zi 51 array def /FAZi 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOWi i 380 i 5 mul add put } for %i=0,79 /DOWZi %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def %'cl80'CIE_Z_CL80_85.TXT 180326 %CIE_02 CL800-7R.PDF /.PS and MACPS2PDF /F02Zi [%CIE_02 3x17 data 700 ... 400 0.0113 0.0114 0.0115 0.0116 0.0117 0.0118 0.0118 0.0119 0.0119 0.0119 0.0120 0.0121 0.0121 0.0123 0.0125 0.0129 0.0143 0.0041 0.0040 0.0038 0.0036 0.0035 0.0035 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0030 0.0028 0.0026 0.0020 0.0003 0.0000 0.0011 0.0051 0.0074 0.0093 0.0106 0.0117 0.0125 0.0134 0.0145 0.0155 0.0170 0.0191 0.0220 0.0272 0.0377 0.0678] def %CIE_10 CL810-7R.PDF /.PS and MACPS2PDF /F10Zi [%CIE_10 3x17 data 700 ... 400 0.0100 0.0105 0.0107 0.0109 0.0110 0.0111 0.0112 0.0113 0.0114 0.0116 0.0118 0.0120 0.0124 0.0130 0.0145 0.0191 0.0191 0.0037 0.0036 0.0035 0.0035 0.0035 0.0034 0.0034 0.0034 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0028 0.0020 0.0020 0.0000 0.0052 0.0074 0.0088 0.0101 0.0110 0.0120 0.0130 0.0140 0.0153 0.0170 0.0194 0.0229 0.0289 0.0425 0.0859 0.0860] def %CIE_F02 CL820-7R.PDF /.PS and MACPS2PDF /FF02Zi [%CIE_F02 3x17 data 700 ... 400 0.0109 0.0113 0.0116 0.0118 0.0120 0.0121 0.0122 0.0123 0.0124 0.0125 0.0126 0.0128 0.0130 0.0134 0.0140 0.0155 0.0221 0.0041 0.0041 0.0040 0.0040 0.0040 0.0040 0.0039 0.0039 0.0039 0.0039 0.0039 0.0039 0.0038 0.0038 0.0037 0.0034 0.0024 0.0000 0.0035 0.0065 0.0088 0.0103 0.0116 0.0125 0.0133 0.0144 0.0155 0.0168 0.0185 0.0206 0.0242 0.0307 0.0448 0.1096] def %CIE_F10 CL830-7R.PDF /.PS and MACPS2PDF /FF10Zi [%CIE_F10 3x17 data 700 ... 400 0.0098 0.0104 0.0106 0.0107 0.0108 0.0109 0.0110 0.0111 0.0112 0.0114 0.0115 0.0118 0.0121 0.0128 0.0142 0.0187 0.0187 0.0037 0.0036 0.0036 0.0036 0.0036 0.0036 0.0036 0.0035 0.0035 0.0035 0.0035 0.0035 0.0034 0.0033 0.0031 0.0025 0.0025 0.0000 0.0057 0.0077 0.0090 0.0102 0.0112 0.0120 0.0128 0.0140 0.0152 0.0168 0.0191 0.0225 0.0283 0.0422 0.0849 0.0850] def %LMS_0.00 CL840-7R.PDF /.PS and MACPS2PDF /LMS0Zi [%LMS_17M3 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def %LMS_0.01 CL850-7R.PDF /.PS and MACPS2PDF identical CL840-7R.PDF /LMS1Zi [%LMS_17M4 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def 0 1 50 {/i exch def %i=0,50 xchart13 0 eq {FAZi i F02Zi i get put} if xchart13 1 eq {FAZi i F10Zi i get put} if xchart13 2 eq {FAZi i FF02Zi i get put} if xchart13 3 eq {FAZi i FF10Zi i get put} if xchart13 4 eq {FAZi i LMS0Zi i get put} if xchart13 5 eq {FAZi i LMS1Zi i get put} if } for %i=0,50 /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /Xi 82 array def /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /AAN1i 200 array def %actual data for plot, Munsell colours (M=1) /BAN1i 200 array def /AANXi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXi 200 array def /FXNZi 17 array def /FYNZi 17 array def /FZNZi 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 FXAi i FAi 00 i add get put FYAi i FAi 80 i add get put FZAi i FAi 160 i add get put } for %i=0,1,79 %STOPxx /XKSUM 0 def /YKSUM 0 def /ZKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /XKSUM XKSUM FXAi i get add def /YKSUM YKSUM FYAi i get add def /ZKSUM ZKSUM FZAi i get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXNi i FXAi i get YKSUM div 100 mul put FYNi i FYAi i get YKSUM div 100 mul put FZNi i FZAi i get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXMi i FXAi i get XKSUM div 100 mul put FYMi i FYAi i get YKSUM div 100 mul put FZMi i FZAi i get ZKSUM div 100 mul put } for %i=0,1,79 %STOPx 0 1 79 {/i exch def %i=0,80 %for any illuminant Xi i FXNi i get put Yi i FYNi i get put Zi i FZNi i get put /SUM FXNi i get FYNi i get add FZNi i get add 0.00001 add def XANi i FXNi i get SUM div put YANi i FYNi i get SUM div put ZANi i FZNi i get SUM div put } for %i=0,79 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZi i FAZi 00 i add get 100 mul YKSUM div 100 mul put FYNZi i FAZi 17 i add get 100 mul YKSUM div 100 mul put FZNZi i FAZi 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZi i get put YZi i FYNZi i get put ZZi i FZNZi i get put /SUMZ FXNZi i get FYNZi i get add FZNZi i get add def XANZi i FXNZi i get SUMZ div put YANZi i FYNZi i get SUMZ div put ZANZi i FZNZi i get SUMZ div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXNi i get add def /YW YW FYNi i get add def /ZW ZW FZNi i get add def } for %i=0,79 /SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANW XW SUMW FL add div def /YANW YW SUMW FL add div def /ZANW ZW SUMW FL add div def K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.8859 mul def /YK YW 0.8859 mul def /ZK ZW 0.8859 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANW def /YANWL YANW def /ZANWL ZANW def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYi 80 array def /BnYi 80 array def } bind def %END proc_CIE_LMS0 %**************************************************************** /proc_PDT_colours {%BEG proc_PDT_colours /l02Ii 77 array def /m02Ii 77 array def /s02Ii 77 array def /l02Mi 77 array def /m02Mi 77 array def /s02Mi 77 array def /X02Ii 77 array def /Y02Ii 77 array def /Z02Ii 77 array def /xan02Ii 77 array def /yan02Ii 77 array def /zan02Ii 77 array def /X02Mi 77 array def /Y02Mi 77 array def /Z02Mi 77 array def /xan02Mi 77 array def /yan02Mi 77 array def /zan02Mi 77 array def /ycuri 77 array def /l02Mi [ %LMS2.TXT %L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm 4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400 4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2 2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450 5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1 1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500 3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1 7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550 9.657395e-1 9.814541e-1 9.944890e-1 1 9.923160e-1 9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600 7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1 4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650 1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2 2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700 4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4 6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750 1.095065e-4 7.799195e-5 ] def /m02Mi [ %M2.DAT 3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400 4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2 3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450 9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1 2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500 5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1 9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95? 9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1 6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600 2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2 6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650 1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3 1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700 2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5 4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750 7.822762e-6 5.690886e-6 ] def /s02Mi [ %S2.DAT CIE 171.1:2006 9.547289e-3 9.547289e-3 9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410 3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1 9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460 7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1 2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510 4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560 4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5 4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610 5.418387e-6 0 0 0 0 0 0 0 0 0 %650 0 0 0 0 0 0 0 0 0 0 %700 0 0 0 0 0 0 0 0 0 0 %750 0 0 ] def %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23 /A11 1.94735469 def /A12 -1.41445123 def /A13 0.36476327 def /A21 0.68990272 def /A22 0.34832189 def /A33 1.93485343 def /fsl02Mi 0 def /fsm02Mi 0 def /fss02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Mi fsl02Mi l02Mi i get add def /fsm02Mi fsm02Mi m02Mi i get add def /fss02Mi fss02Mi s02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung LMS l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put m02Ii i m02Mi i get put s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put } for %i=0,76 /fsl02Ii 0 def /fsm02Ii 0 def /fss02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Ii fsl02Ii l02Ii i get add def /fsm02Ii fsm02Ii m02Ii i get add def /fss02Ii fss02Ii s02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 X02Ii i l02Mi i get A11 mul m02Mi i get A12 mul add s02Mi i get A13 mul add put Y02Ii i l02Mi i get A21 mul m02Mi i get A22 mul add put Z02Ii i s02Mi i get A33 mul put } for %i=0,76 /fsX02Ii 0 def /fsY02Ii 0 def /fsZ02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzIi /fsX02Ii fsX02Ii X02Ii i get add def /fsY02Ii fsY02Ii Y02Ii i get add def /fsZ02Ii fsZ02Ii Z02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ X02Mi i X02Ii i get 1.1510330 div put %max 600nm Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm } for %i=0,76 /fsX02Mi 0 def /fsY02Mi 0 def /fsZ02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzMi /fsX02Mi fsX02Mi X02Mi i get add def /fsY02Mi fsY02Mi Y02Mi i get add def /fsZ02Mi fsZ02Mi Z02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 xyzan /sumXYZ X02Ii i get Y02Ii i get add Z02Ii i get add def xan02Ii i X02Ii i get sumXYZ div put yan02Ii i Y02Ii i get sumXYZ div put zan02Ii i Z02Ii i get sumXYZ div put } for %i=0,76 } bind def %END proc_PDT_colours %************************************************* %STOP4 /proc_Munsell_colours {%BEG proc_Munsell_colours %calculation of transformation data /FARBE 27 array def /FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00 () () () %01 (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02 () () () %03 (L* about 10, 20, 50, 80, 90) () () %04 () () () %05 () () () %06 () () () %07 () () () %08 ] def %Input /xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data /xy_MUNSELL %BEG xy_MUNSELL [%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9 % 05 % 1 40 1 1 VALUE1 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296 % 1 40 02 2 VALUE2 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583 % 1 40 05 3 VALUE5 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912 % 1 40 08 4 VALUE8 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040 % 1 40 09 5 VALUE9 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051 ] def %END xy_MUNSELL /Y_MUNSELL 5 array def %5 Y*1000 data /Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100 [12100 31300 197700 591000 786600] def %here 4 decimal places! /xy_MUNSELL_C 2 array def %2 xy*1000 data /xy_MUNSELL_C %BEG xy_MUNSELL_C [3101 3162] def %END xy_MUNSELL_C /xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8 /xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex [% 1 01 2 4CR=2EX 3149 3086 % 1 01 5 5CR=2EX 3142 3234 % 1 01 8 6CR=2EX 3144 3275 ] def %END xy_MUNSELL_Ex %M=Munsell /XMi 200 array def %5*40 colour of chroma 2 /YMi 200 array def /ZMi 200 array def /XANMi 200 array def /YANMi 200 array def /ZANMi 200 array def /AANMi 200 array def /BANMi 200 array def 0 0 0 1 setcmykcolor /fscale 0.0001 def 0 1 199 {/k exch def %k=0,199 /k2 k 2 mul def XANMi k xy_MUNSELL k2 0 add get fscale mul put YANMi k xy_MUNSELL k2 1 add get fscale mul put ZANMi k 1. XANMi k get sub YANMi k get sub put /kV k 40 idiv def /YVALUE Y_MUNSELL kV get fscale mul def YMi k YVALUE put /SUMY YVALUE YANMi k get div def XMi k SUMY XANMi k get mul put ZMi k SUMY ZANMi k get mul put } for %k=0,199 %*********************** %XWM,YWM,ZWM and XKW,YKW,ZKW for white /YANWM xy_MUNSELL_C 0 get fscale mul def /YANWM xy_MUNSELL_C 1 get fscale mul def /ZANWM 1. YANWM sub YANWM sub def /YWM 100. def /SUMWM YWM YANWM div def /XWM SUMWM YANWM mul def /ZWM SUMWM ZANWM mul def /XKM XWM def /YKM YWM def /ZKM ZWM def } bind def %END proc_Munsell_colours %************************************************************************* /proc_Ostwald_colours {%BEG proc_Ostwald_colours %Input %/FAi 240 array def %CIE_02, CIE_10, CIE_F02, CIE_F10, LMS_17M3 %/SX01 80 array def %380 bis 775 mit deltalambda=05 %/SX02 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX05 80 array def %380 bis 775 mit deltalambda=05 %/SX06 80 array def %380 bis 775 mit deltalambda=05 %/SX07 80 array def %380 bis 775 mit deltalambda=05 /WEL1i 60 array def %irregular definition /WEL2i 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1i [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def %Calculation /RAOi 80 array def %380 bis 770 nm /FAOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /FANOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /SDAKOi 80 array def %380 bis 775 mit deltalambda=05 /SX00Oi 80 array def %380 bis 775 mit deltalambda=05 /SX01Oi 80 array def %380 bis 775 mit deltalambda=05 /SX02Oi 80 array def %380 bis 775 mit deltalambda=05 /SX03Oi 80 array def %380 bis 775 mit deltalambda=05 /SX04Oi 80 array def %380 bis 775 mit deltalambda=05 /SX05Oi 80 array def %380 bis 775 mit deltalambda=05 /SX06Oi 80 array def %380 bis 775 mit deltalambda=05 /SX07Oi 80 array def %380 bis 775 mit deltalambda=05 %special wavelength range with complementary colours for E? /FXDOi 80 array def /FYDOi 80 array def /FZDOi 80 array def /DOWOi 80 array def /FADOi 80 array def /FBDOi 80 array def /FCDOi 80 array def %Results /XOi 80 array def %usually 40 Ostwald COLOURS /YOi 80 array def /ZOi 80 array def /XANOi 80 array def %usually 40 Ostwald COLOURS /YANOi 80 array def /ZANOi 80 array def 0 1 239 {/i exch def %i=0,239 FAOi i FAi i get put } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO FAOi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add FAOi 00 i add get YKSUM div 100 mul put FANOi 80 i add FAOi 80 i add get YKSUM div 100 mul put FANOi 160 i add FAOi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 SX00Oi i SX00 i get put SX01Oi i SX01 i get put SX02Oi i SX02 i get put SX03Oi i SX03 i get put SX04Oi i SX04 i get put SX05Oi i SX05 i get put SX06Oi i SX06 i get put SX07Oi i SX07 i get put } for %i=0,79 %STOP6 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAKOi i xchartx 0 eq {SX00Oi i get} if xchartx 1 eq {SX01Oi i get} if xchartx 2 eq {SX02Oi i get} if xchartx 3 eq {SX03Oi i get} if xchartx 4 eq {SX04Oi i get} if xchartx 5 eq {SX05Oi i get} if xchartx 6 eq {SX06Oi i get} if xchartx 7 eq {SX07Oi i get} if put } for %i=0,79 %STOP7 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get FAOi 80 i add get mul add def } for %i=0,1,79 %STOP8 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add SDAKOi i get FAOi 00 i add get mul YKSUM div 100 mul put FANOi 80 i add SDAKOi i get FAOi 80 i add get mul YKSUM div 100 mul put FANOi 160 i add SDAKOi i get FAOi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %STOP11 /FXNOi 80 array def %FXN 0 = F2N imax /FYNOi 80 array def /FZNOi 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXNOi i FANOi 000 i add get put FYNOi i FANOi 080 i add get put FZNOi i FANOi 160 i add get put } for %i=0,79 %XWO,YWO,ZWO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 /SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWO XWO SUMWO div def /YANWO YWO SUMWO div def /ZANWO ZWO SUMWO div def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXDOi i FXNOi 005 i add get put FYDOi i FYNOi 005 i add get put FZDOi i FZNOi 005 i add get put DOWOi i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXDOi 61 FXDOi 60 get put FYDOi 61 FYDOi 60 get put FZDOi 61 FZDOi 60 get put FXDOi 62 FXDOi 60 get put FYDOi 62 FYDOi 60 get put FZDOi 62 FZDOi 60 get put 0 1 62 {/i exch def %i=0,62 FADOi i FXDOi i get put FBDOi i FYDOi i get put FCDOi i FZDOi i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %STOP12 %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FADO,FBDO,FCDO, KNPO %output FWERTiX/Y/Z (i=1,4) KNP 1 ge {/FWERT1X FADOi KNP 1 sub get def /FWERT1Y FBDOi KNP 1 sub get def /FWERT1Z FCDOi KNP 1 sub get def} {/FWERT1X FADOi 0 get def %again 400nm for i=0 /FWERT1Y FBDOi 0 get def /FWERT1Z FCDOi 0 get def} ifelse /FWERT2X FADOi KNP get def /FWERT2Y FBDOi KNP get def /FWERT2Z FCDOi KNP get def /FWERT3X FADOi KNP 1 add get def /FWERT3Y FBDOi KNP 1 add get def /FWERT3Z FCDOi KNP 1 add get def /FWERT4X FADOi KNP 2 add get def /FWERT4Y FBDOi KNP 2 add get def /FWERT4Z FCDOi KNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1i k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXDOi j get def %start at 405..700nm /FF2 FYDOi j get def /FF3 FZDOi j get def /U1 XWO def /U2 YWO def /U3 ZWO def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add neg def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /KNP INP def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /KNP IPN def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RAOi i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RAOi i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RAOi i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RAOi i1 0.5 put RAOi i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /XO 0 def /YO 0 def /ZO 0 def 0 1 079 {/i exch def %i=0,79 /XO XO FANOi 00 i add get RAOi i get mul add def /YO YO FANOi 80 i add get RAOi i get mul add def /ZO ZO FANOi 160 i add get RAOi i get mul add def } for %i=0,79 /SUMO XO YO add ZO add def /XANO XO SUMO FL add div def /YANO YO SUMO FL add div def /ZANO ZO SUMO FL add div def %************************************************* 0 0 0 1 setcmykcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 XOi k XO put YOi k YO put ZOi k ZO put XANOi k XANO put YANOi k YANO put ZANOi k ZANO put }%Icom=0 {%Icom=1 /kP 20 k add def XOi kP XWO XO sub put YOi kP YWO YO sub put ZOi kP ZWO ZO sub put /SUMO XOi kP get YOi kP get add ZOi kP get add def XANOi kP XOi kP get SUMO FL add div put YANOi kP YOi kP get SUMO FL add div put ZANOi kP ZOi kP get SUMO FL add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 XOi k XOi k get 0.8859 mul put YOi k YOi k get 0.8859 mul put ZOi k ZOi k get 0.8859 mul put XOi kP XOi kP get 0.8859 mul put YOi kP YOi kP get 0.8859 mul put ZOi kP ZOi kP get 0.8859 mul put } if %K=1 } for %k=0,19 %************************************** %XWO,YWO,ZWO and XKO,YKO,ZKO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XKO XWO def /YKO YWO def /ZKO ZWO def }%K=0 {%K=1 /XKO XWO 0.8859 mul def /YKO YWO 0.8859 mul def /ZKO ZWO 0.8859 mul def } ifelse %K=1 /SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKO XKO SUMKO div def /YANKO YKO SUMKO div def /ZANKO ZKO SUMKO div def /XANWL XANWO def /YANWL YANWO def /ZANWL ZANWO def } bind def %END proc_Ostwald_colours %********************************************************************** %**************************************************************** %allways /proc_DEF_colours {%BEG proc_DEF_colours %Colour Deficiencies /ip1 700 380 sub 5 idiv def %ip=64:700nm /XANP1 XANi ip1 get def /YANP1 YANi ip1 get def /ZANP1 ZANi ip1 get def /id1 505 380 sub 5 idiv def %ip=25:505nm /XAND1 XANi id1 get def /YAND1 YANi id1 get def /ZAND1 ZANi id1 get def /it1 400 380 sub 5 idiv def %ip=4:400nm /XANT1 XANi it1 get def /YANT1 YANi it1 get def /ZANT1 ZANi it1 get def %************************* /XANP XANP1 def /YANP YANP1 def /ZANP ZANP1 def /XAND 1.000 def /YAND 0.001 def /ZAND 0.999 def /XANT 0.171 def /YANT 0.001 def /ZANT 1.000 XANT sub YANT sub def %************************* /XAN00 0.3333 def %Illuminant E /YAN00 0.3333 def /mP YAN00 YANP sub XAN00 XANP sub div def %700nm /bP YAN00 XAN00 mP mul sub def /mD YAN00 YAND sub XAN00 XAND sub div def %xx /bD YAN00 XAN00 mD mul sub def /mT YAN00 YANT sub XAN00 XANT sub div def %xx /bT YAN00 XAN00 mT mul sub def %************************* /mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm /bP1 YAN00 XAN00 mP1 mul sub def %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /XAND1 XANZi i get def /YAND1 YANZi i get def /mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm /bD1 YAN00 XAN00 mD1 mul sub def /mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm /bT1 YAN00 XAN00 mT1 mul sub def /ishow {0 -40 rmoveto show 0 40 rmoveto} def /eshow {0 60 rmoveto show 0 -60 rmoveto} def /imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def /imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def /iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def } bind def %END proc_DEF_colours %allways if xchart6>=1 /proc_chromaticity {%BEG proc_chromaticity %chromaticity definitions xchartl 0 eq {%xchartl=0 %(x,y) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get put BANi i YANi i get put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 def /BANP1 YANP1 def /AAND1 XAND1 def /BAND1 YAND1 def /AANT1 XANT1 def /BANT1 YANT1 def /AANP XANP def /BANP YANP def /AAND XAND def /BAND YAND def /AANT XANT def /BANT YANT def %ACHROMATIC COLOUR /AANWL XANWL def /BANWL YANWL def /AANWC XANWC def /BANWC YANWC def } if %xchartl=0 %only for (x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=1 %only for (a0,b0) %***************** xchartl 2 eq {%xchartl=2 %(a1,b1) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=2 %only for (a1,b1) %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=3 %only for (a2,b2) %***************** xchartl 4 eq {%xchartl=4 %(a3,b3) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=4 %only for (a3,b3) %***************** xchartl 5 eq {%xchartl=5 %(a4,b4) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=5 %only for (a4,b4) %***************** xchartl 6 eq {%xchartl=6 %(a5,b5) /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def 0 1 79 {/i exch def %i=0,79 AANi i XANi i get A51 mul YANi i get A52 mul add A53 add YANi i get FL add div a2x mul put BANi i XANi i get B51 mul YANi i get B52 mul add B53 add YANi i get FL add div b2x mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get A51 mul YANZi i get A52 mul add A53 add YANZi i get FL add div a2x mul put BANZi i XANZi i get B51 mul YANZi i get B52 mul add B53 add YANZi i get FL add div b2x mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div a2x mul def /BANWL XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div b2x mul def /AANWC XANWC A51 mul YANWC A52 mul add A53 add YANWC FL add div a2x mul def /BANWC XANWC B51 mul YANWC B52 mul add B53 add YANWC FL add div b2x mul def } if %xchartl=6 %only for (a5,b5) %***************** xchartl 7 eq {%xchartl=7 %(a6,b6) %a=x/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=7 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_coor {%BEG proc_xaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1<=7 TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 3 eq or xchartl 7 eq or {%xchartl=1,3,7 TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,3,7 xchartl 2 eq xchartl 4 eq or xchartl 5 eq or {%xchartl=2,4,5 TBS (=\050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-0,171\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl#2,4,5 xchartl 6 eq {%xchartl=6 TBS (=\0508,61) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-7,20) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-0,269\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart=0,#0 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1,7 TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 2 eq or {%xchartl=1,2 TBS (=-0,40) show TBIS (z) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,2 xchartl 3 eq xchartl 5 eq or {%xchartl=3,5 TBS (=\050) show mP1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=3,5 xchartl 4 eq xchartl 7 eq or {%xchartl=4,7 TBS (=\050) show mD1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=4,7 xchartl 6 eq {%xchartl=6 TBS (=\0501,99) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+3,86) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-2,40\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart#0 } bind def %END proc_yaxis_xchartl_coor %********************************************************* /proc_chromaticity_lines {%BEG proc_chromaticity_lines for xchart6>=1 %chromaticity lines and with names for xchart6=2 xchartl 0 eq {%xchartl=0 %(x,y) /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolor 0 eq {(CIE 1931) show} if xcolor 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 M 0 000 000 (545) %33 1 050 050 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 L 1 050 050 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 100 -50 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 100 -50 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf XANWL fakt mul def /BANWLf YANWL fakt mul def /AANWCf XANWC fakt mul def /BANWCf YANWC fakt mul def /i 400 380 sub 5 idiv def %4 T /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0.5 0 0.5 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS /i 450 380 sub 5 idiv def %14 S /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S /i 475 380 sub 5 idiv def %18 B /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be (Lc) AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4 /i 495 380 sub 5 idiv def %23 Rc /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S) AANF 120 add BANF 400 sub moveto TIK (M) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 505 380 sub 5 idiv def %26 505c,E /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S) AANF 250 add BANF 300 sub moveto TIK (V') show 0 0 0 setrgbcolor AANF 050 add BANF 550 sub moveto TIK (V) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 520 380 sub 5 idiv def %28 G /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B) AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4 1 1 0 setrgbcolor AANF 100 sub BANF 700 sub moveto TIK (Y) show (l) iy4 TK (=) show 0 0 1 setrgbcolor TIK (B) show (l) iy4 /i 540 380 sub 5 idiv def %32 M /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %540 M AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4 /i 555 380 sub 5 idiv def %35 V /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M) AANF 000 add BANF 000 add moveto TIK (V) show (m) is4 /i 570 380 sub 5 idiv def %38 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %570 L %AANF 250 sub BANF 200 sub moveto TIK (Y) show %0 0 0 setrgbcolor AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4 /i 575 380 sub 5 idiv def %39 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %575 L AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4 /i 700 380 sub 5 idiv def %64 R /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %700 AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4 %Protanop PL 1 0 0 setrgbcolor AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans0 neg ytrans0 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=0 %(x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) %STOP9 /xtrans1a 0500 def /xtrans1 1300 def /ytrans1 3200 def xtrans1a ytrans1 translate 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans1a neg ytrans1 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans1 ytrans1 translate /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 1 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 200 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0050 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans1 neg ytrans1 neg translate %ENDE: 2 } if %xchartl=1 %(a0,b0) %*********************************************************** xchartl 2 eq {%xchartl=2 (a1,b1) /xtrans2a 0500 def /xtrans2 1300 def /ytrans2 3200 def xtrans2a ytrans2 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans2a neg ytrans2 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans2 ytrans2 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -250 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans2 neg ytrans2 neg translate %for text and grafic %ENDE: 2 } if %xchartl=2 %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) /xtrans3a 0500 def /xtrans3 1300 def /ytrans3 3200 def xtrans3a ytrans3 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans3a neg ytrans3 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans3 ytrans3 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 100 -050 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1700 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 0500 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0250 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans3 neg ytrans3 neg translate %for text and grafic %ENDE: 2 } if %xchartl=3 %*********************************************************** xchartl 4 eq {%xchartl=4 %(a3,b3) /xtrans4a 0500 def /xtrans4 1300 def /ytrans4 3200 def xtrans4a ytrans4 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans4a neg ytrans4 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans4 ytrans4 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -280 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2100 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0550 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans4 neg ytrans4 neg translate %for text and grafic %ENDE: 2 } if %xchartl=4 %*********************************************************** xchartl 5 eq {%xchartl=5 %(a4,b4) /xtrans5a 0500 def /xtrans5 1300 def /ytrans5 3200 def xtrans5a ytrans5 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans5a neg ytrans5 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans5 ytrans5 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 -050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -050 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -300 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0800 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0700 0080 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0300 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 0050 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans5 neg ytrans5 neg translate %for text and grafic %ENDE: 2 } if %xchartl=5 %*********************************************************** xchartl 6 eq {%xchartl=6 %(a5,b5) /xtrans6a 0500 def /xtrans6 1300 def /ytrans6 3200 def xtrans6a ytrans6 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans6a neg ytrans6 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans6 ytrans6 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 0 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans6 neg ytrans6 neg translate %for text and grafic %ENDE: 2 } if %xchartl=6 %*********************************************************** xchartl 7 eq {%xchartl=7 %(a6,b6) /xtrans7a 0500 def /xtrans7 1300 def /ytrans7 3200 def xtrans7a ytrans7 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans7a neg ytrans7 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans7 ytrans7 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 newpath TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 newpath newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 newpath TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 newpath /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1800 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans7 neg ytrans7 neg translate %for text and grafic %ENDE: 2 } if %xchartl=7 } bind def %END proc_chromaticity_lines /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt /proc_tab1N {%BEG proc_tab1N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab1N %******************************************************** /proc_tab2N {%BEG proc_tab2N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab2N %********************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} %new {/xchart5 2 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %STOP1 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolor cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow gsave %XCHA01.PS END 5 /Times-ISOL1 FS %175 85 moveto (DG411-1A_3N) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale 30 setlinewidth %xchart3 0 def %with Munsell colours %xchart3 1 def %with Ostwald colours %xchart3 2 det %without any colour /xchart3 1 def %diagram 0:Munsell colours, 1:Ostwald colours, 2:- %xchart5 0 def %without marc illuminant and text %xchart5 1 def %with marc illuminant %xchart5 2 def %with marc illuminant and text /xchart5 2 def %0:-, 1:illuminant, 2:illuminant and text %xchart6 0 def %without chromaticity_lines %xchart6 1 def %with chromaticity_lines %xchart6 2 def %with chromaticity_lines and names /xchart6 2 def %0:-, 1:chromaticity_lines 2:chromaticity_lines & names %xchart7 0 def %Ostwald colours without Name or Y %xchart7 1 def %Ostwald colours with Name %xchart7 2 def %Ostwald colours with CIE Y /xchart7 2 def %0:-, 1:Name, 2:Y %xchartl with 0 1 2 3 4 5 6 7 %xchart8 0 def %0:Pxx (P60, P55, P50, P45, P40, P35, P30, P25) colours %xchart8 1 def %1:Dxx (D65, D50, P40, A00, E00, C00, P00, Q00) colours /xchart8 1 def %0:Pxx, 1:Dxx colours %xchart9 0 def %for Y10-7R.EPS -> Table XYZ, not used here %xchart9 1 def %for Y10-7R.EPS -> Table CAB, not used here %xchart9 2 def %for Y10-7R.EPS -> Table (a,b), not used here /xchart9 0 def %Table 0:(XYZ), 1:(CAB), 2(ab) %xchart10 0 def %for Y10G00NP.PS6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10G00NP.PS6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10G00NP.PS6.PS -> chroma (A*i,B*i) /xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) %xchart13 0 def %CIE_02 %xchart13 1 def %CIE_10 %xchart13 2 def %CIE_F02 %xchart13 3 def %CIE_F10 %xchart13 4 def %LMS_17M3 %xchart13 5 def %LMS_17M4 /xchart13 4 def %xchart13=4(CIE_42),1(CIE_14),2(CIE_F42),3(CIE_F14),4/5 (model) %/xchart14 0 def %unnormiert %/xchart14 1 def %Yw-normiert %/xchart14 2 def %XYZw-normiert /xchart14 0 def %1:unnormiert, 2:Yw-normiert. 3:XYZw-normiert /posax 2700 def /posay 0550 def /posbx -350 def /posby -3150 def /FL 0.00001 def /Y18 18 def %grey background %/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i) /n1e 1.0000 def %allways %/n1e 0.3333 def %very special (a', b') xchart10 1 le {/n0e 1.0000 def} {/n0e 0.3333 def} ifelse gsave /xchartx xchart def 4 1 4 {/xchartx exch def %xchartx=0,7 %8 illuminants gsave 20 setlinewidth %0 0 11550 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey %0 0 11550 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz %STOP %allways proc_CIE_LMS0 %STOP1 proc_DEF_colours xchart3 0 eq {%BEG proc_Munsell_colours proc_Munsell_colours } if %END proc_Munsell_colours xchart3 1 eq {%BEG proc_Ostwald_colours proc_Ostwald_colours } if %END proc_Ostwald_colours %STOP2 /xchartl 05 def 00 1 00 {/xchartl exch def %xchartl=0,7 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto xchartl 7 le {(DG411-) show} {(DG411-) show} ifelse xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow} if xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow} if (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.3 setcmykcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 1.0 colrecst %frame black /xtexti 96 array def /ytexti 96 array def %BEG INC Y11_XCHART10_0/1/2.PS %line 5531 %******************************************************************** %BEG 'CL70'Y11_XCHART1A_1.PS FROM 'CL66'Y10-7R_66.EPS xchart10 1 eq {%xchart10=1 long loop 1700 lines! %/xxt -0.021 def /yyt -0.024 def %/xat 0.031 def /yat 0.029 def /xxt 0.000 def /yyt 0.000 def /xat 0.000 def /yat 0.000 def /proc_Yexp {%BEG proc_Yexp xchart10 0 eq {%chromaticity /Yexp 1 def } if %chromaticity xchart10 1 eq {%chromatic value xchart3 0 eq {%Munsell colours /Yexp YMi ikV40 get def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp YOi i get def } if %Ostwald colours } if %chromatic value xchart10 2 eq {%chroma xchart3 0 eq {%Munsell colours /Yexp Y18 YMi ikV40 get Y18 div n0e exp mul def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp Y18 YOi i get Y18 div n0e exp mul def } if %Ostwald colours } if %chroma } bind def %END proc_Yexp 0 0 0 1 setcmykcolor /xchart12 xchartl 12 mul def xchart3 0 eq {%xchart3=0 %Munsell_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Ostwald_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=1 %Ostwald_colours xchart3 1 eq xchartl 0 eq and {%xchart3=1 only for Ostwald colours and (x,y) xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name und Spektralbereich) showde %0DG411-7 00581 (Name and spectral range) showen %1DG411-7 00581 (Nombre y gama espectral) showes %2DG411-7 00581 (Nom et la gamma spectrale) showfr %3DG411-7 00581 (Nome e la gamma spettrale) showit %4DG411-7 00581 (Name and spectral range) showjp %5DG411-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBEO 0 get show TBV 0 -40 rmoveto FARBEO 1 get show 0 40 rmoveto TBIS FARBEO 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBEO 3 get show TBV 0 -40 rmoveto FARBEO 4 get show 0 40 rmoveto TBIS FARBEO 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBEO 6 get show TBV 0 -40 rmoveto FARBEO 7 get show 0 40 rmoveto TBIS FARBEO 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBEO 9 get show TBV 0 -40 rmoveto FARBEO 10 get show 0 40 rmoveto TBIS FARBEO 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBEO 12 get show TBV 0 -40 rmoveto FARBEO 13 get show 0 40 rmoveto TBIS FARBEO 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBEO 15 get show TBV 0 -40 rmoveto FARBEO 16 get show 0 40 rmoveto TBIS FARBEO 17 get show } if %xchart3=1 only for Ostwald colours TBS 0 0 0 1 setcmykcolor xchart3 0 eq {%xchart3=0 %Munsell_colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Munsell) show TBS (-System) showde %0DG411-7 02581 ( System) showea %1DG411-7 02581 TBIS (, Y) show (w) ib6 xcolor 1 eq {(,10) ib6} if TBS K 0 eq {(=100, ) show}{(=88,6, ) show} ifelse TELi xchartx get show xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (C=2, V=1, 2, 5, 8 & 9, ) show %0DG411-7 03581 TELi xchartx get show } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Optimal Colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Ostwald) showde TBS ( Farben (o)) showde %0DG411-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1DG411-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2DG411-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3DG411-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4DG411-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5DG411-7 02581 TBIS (, Y) show 0 -60 rmoveto (W) show 0 60 rmoveto TBS K 0 eq {(=100) show}{(=88,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (max (m) Buntwert, ) showde %0DG411-7 03581 (max (m) chromatic value, ) showen %1DG411-7 03581 (chromatic m\341x (m), ) showes %2DG411-7 03581 (max (m) chromatic valeur, ) showfr %3DG411-7 03581 (max (m) chromatic value, ) showit %4DG411-7 03581 (max (m) chromatic value, ) showjp %5DG411-7 03581 TELi xchartx get show } if %xchart3=1 %Optimal_colours %BEG For All Colours last line xtexti xchart12 2 add get ytexti xchart12 2 add get moveto proc_diagram_xchartl_txt %END For All Colours last line %*********************************************************** /imM 199 def %maximum Munsell Colours /imO 039 def %maximum Ostwald Colours %***************************************** 0 setgray xchartl 0 eq {%xchartl=0 %(x,y) %only for xchartl=0 proc_chromaticity proc_chromaticity_lines /fakt 4000 def /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic xchart3 0 eq {%xchart3=0 %BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 AnYi i XANMi i kV40 add get fakt mul put %x BnYi i YANMi i kV40 add get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath XANWL fakt mul YANWL fakt mul 40 0 360 arc stroke xchart5 2 eq {%xchart5=2 %+TELi XANWL fakt mul 200 sub 150 add YANWL fakt mul 500 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi xchart5 3 eq {%xchart5=3 %+V=1..9 1250 550 add 1316 250 add moveto (1) show 1250 350 add 1316 100 add moveto (2) show 1250 200 add 1316 050 add moveto (5) show } if %xchart5=3 %+V=1..9 } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 0 0 setrgbcolor 0 1 39 {/i exch def %i=0,39 AnYi i XANOi i get fakt mul put %x BnYi i YANOi i get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans0 neg ytrans0 neg translate %for scala and graphi } if %xchartl=0 %************************ %Special coordinate system for (Ax,Bx) digrams*************** %***************** xchartl 1 ge {%xchartl>=1 /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic %axis and scales 0 0 0 1 setcmyk_olvcolor -2250 0 moveto 3950 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1700 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-40) ( ) ( ) ( ) ( 40)] def /yt10x [(-40) ( ) ( ) ( ) (40)] def /fakt 40 def %default xchart3 0 eq {/xt10x [(-10) ( ) ( ) ( ) ( 10)] def /yt10x [(-10) ( ) ( ) ( ) (10) ] def} if %xchart3=0 %Munsell 0 0 0 1 setcmyk_olvcolor 0 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {%i=4 -1600 i 800 mul add 0 moveto -100 150 rmoveto TBIM (A) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1600 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {%i=4 -100 -1600 i 800 mul add moveto -250 150 rmoveto TBIM (B) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl>=1 %********************************************************** xchartl 1 eq {%xchartl=1 %(A0,B0) (a=x/y, b=-0.4*z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl=1 %(A0,B0) %***************************************************************** xchartl 2 eq {%xchartl=2 %(A1,B1) (a1=[x-XANT]/y, b1=z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans2 3500 def /ytrans2 2000 def xtrans2 ytrans2 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (T1) ib6 TBS (=) show 1.0 cvsshow3x (, ) show TBIS (b) show (T1) ib6 TBS (=) show XANT cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans2 neg ytrans2 neg translate %for scala and graphic } if %xchartl=2 %(A1,B1) %************************ xchartl 3 eq {%xchartl=1 %(A2,B2) (a2=x/y, b2=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans3 3500 def /ytrans3 2000 def xtrans3 ytrans3 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans3 neg ytrans3 neg translate %for scala and graphic } if %xchartl=3 %(A2,B2) %************************ xchartl 4 eq {%xchartl=04 %(A3,B3) (a3=[x-XANT]/y, b3=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans4 3500 def /ytrans4 2000 def xtrans4 ytrans4 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans4 neg ytrans4 neg translate %for scala and graphic } if %xchartl=4 %(A3,B3) %************************ xchartl 5 eq {%xchartl=5 %(A4,B4) (a4=(x-XANT)/y, b4=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans5 3500 def /ytrans5 2000 def xtrans5 ytrans5 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans5 neg ytrans5 neg translate %for scala and graphic } if %xchartl=5 %(A4,B4) %************************ xchartl 6 eq {%xchartl=6 %(A5,B5) (a5=[x-XANT]/y, b5=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def /xtrans6 3500 def /ytrans6 2000 def xtrans6 ytrans6 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (a) show (2x) ib6 TBS ([\050+) show A51 cvsshow2x TBIS (x) show TBS A52 cvsshow2x TBIS (y) show TBS A53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (b) show (2x) ib6 TBS ([\050+) show B51 cvsshow2x TBIS (x) show TBS (+) show B52 cvsshow2x TBIS (y) show TBS B53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (2x) ib6 TBS ( = ) show a2x cvsshow2x (, ) show TBIS (b) show (2x) ib6 TBS ( = ) show b2x cvsshow2x -3400 iyT idyT 7 mul sub moveto SS (l) show (B,G,Y,R) ib6 TBS (=475,503,574,494c,E nm) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get A51 mul YANMi ikV40 get A52 mul add A53 add YANMi ikV40 get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANMi ikV40 get B51 mul YANMi ikV40 get B52 mul add B53 add YANMi ikV40 get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get A51 mul YANOi i get A52 mul add A53 add YANOi i get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANOi i get B51 mul YANOi i get B52 mul add B53 add YANOi i get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans6 neg ytrans6 neg translate %for scala and graphic } if %xchartl=6 %(A5,B5) %************************ xchartl 7 eq {%xchartl=7 %(A6,B6) (a6=x/y, b6=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans7 3500 def /ytrans7 2000 def xtrans7 ytrans7 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans7 neg ytrans7 neg translate %for scala and graphic } if %xchartl=7 } if %xchart10=1 long loop 1700 lines! %END 'CL70'Y11_XCHART1A_1.PS %*************************************************************** %END INC Y11_XCHART10_0/1/2.PS %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer %%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 http://farbe.li.tu-berlin.de/DG41/DG411-3A 20180221 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark16 where {pop} {userdict /pdfmark16 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark16 [ /View [ /Fit ] /DOCVIEW pdfmark16 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SV {160 /Symbol FS} bind def /CV {160 /Courier-ISOL1 FS} bind def /CS {200 /Courier-ISOL1 FS} bind def /CK {240 /Courier-ISOL1 FS} bind def /CM {280 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBV {160 /CourierB-ISOL1 FS} bind def /CBS {200 /CourierB-ISOL1 FS} bind def /CBK {240 /CourierB-ISOL1 FS} bind def /CBM {280 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /ns {350 /Times-ISOL1 FS show} bind def /ks {350 /TimesI-ISOL1 FS show} bind def /bs {350 /TimesB-ISOL1 FS show} bind def /js {350 /TimesBI-ISOL1 FS show} bind def /sy {350 /Symbol FS show} bind def /is {280 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /es {280 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ib {280 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eb {280 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ip {280 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /ns2 {280 /Times-ISOL1 FS show TM} bind def /ks2 {280 /TimesI-ISOL1 FS show TM} bind def /bs2 {280 /TimesB-ISOL1 FS show TM} bind def /js2 {280 /TimesBI-ISOL1 FS show TM} bind def /sy2 {280 /Symbol FS show TM} bind def /is2 {240 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {240 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {240 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {240 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {240 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def /iy2 {240 /Symbol FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def %40% kleiner /ns4 {240 /Times-ISOL1 FS show TK} bind def /ks4 {240 /TimesI-ISOL1 FS show TK} bind def /bs4 {240 /TimesB-ISOL1 FS show TK} bind def /js4 {240 /TimesBI-ISOL1 FS show TK} bind def /ss4 {240 /Symbol FS show TK} bind def /is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def /iy4 {200 /Symbol FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def %60% kleiner /ns6 {200 /Times-ISOL1 FS show TS} bind def /ks6 {200 /TimesI-ISOL1 FS show TS} bind def /bs6 {200 /TimesB-ISOL1 FS show TS} bind def /js6 {200 /TimesBI-ISOL1 FS show TS} bind def /ss6 {200 /Symbol FS show TS} bind def /is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /es6 {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eb6 {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def /iy6 {160 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /cvicvs {cvi 6 string cvs} def /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.1234/99.0123/99.0010/99.0001 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10000 mul cvi /nxi exch def %nxi=991234/990123/990010/990000 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=1234/0123/0010/0001 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=1234/0123/0010/0001 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def /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 %************************************************* /proc_CIE_LMS0 {%BEG proc_CIE_LMS0 %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %Combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F02i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F10i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /FF02i 320 array def %80x4 CIE_F02 fundamental observer /FF10i 320 array def %80x4 CIE_F10 fundamental observer /FAi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /XZAi 17 array def /YZAi 17 array def /ZZAi 17 array def /XANZAi 17 array def /YANZAi 17 array def /ZANZAi 17 array def /FXAi 80 array def %unnormiert /FYAi 80 array def /FZAi 80 array def /FXNi 80 array def %Y-normiert /FYNi 80 array def /FZNi 80 array def /FXMi 80 array def %XYZ-normiert /FYMi 80 array def /FZMi 80 array def %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F02i CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 %400nm: 0.0143 0.0003 0.0678 /F02i %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 %X:380_775 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 %700:0.0113 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 %Y:380_775 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 %700: 0.0041 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 %Z:380-775 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10i %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /FF02i [%BEG FF02i Colour matching functions 5nm 02-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 3.769647E-03 4.146161E-04 1.847260E-02 %=390 385 3.769647E-03 4.146161E-04 1.847260E-02 %=390 390 3.769647E-03 4.146161E-04 1.847260E-02 395 9.382967E-03 1.059646E-03 4.609784E-02 400 2.214302E-02 2.452194E-03 1.096090E-01 405 4.742986E-02 4.971717E-03 2.369246E-01 410 8.953803E-02 9.079860E-03 4.508369E-01 415 1.446214E-01 1.429377E-02 7.378822E-01 420 2.035729E-01 2.027369E-02 1.051821E+00 425 2.488523E-01 2.612106E-02 1.305008E+00 430 2.918246E-01 3.319038E-02 1.552826E+00 435 3.227087E-01 4.157940E-02 1.748280E+00 440 3.482554E-01 5.033657E-02 1.917479E+00 445 3.418483E-01 5.743393E-02 1.918437E+00 450 3.224637E-01 6.472352E-02 1.848545E+00 455 2.826646E-01 7.238339E-02 1.664439E+00 460 2.485254E-01 8.514816E-02 1.522157E+00 465 2.219781E-01 1.060145E-01 1.428440E+00 470 1.806905E-01 1.298957E-01 1.250610E+00 475 1.291920E-01 1.535066E-01 9.991789E-01 480 8.182895E-02 1.788048E-01 7.552379E-01 485 4.600865E-02 2.064828E-01 5.617313E-01 490 2.083981E-02 2.379160E-01 4.099313E-01 495 7.097731E-03 2.850680E-01 3.105939E-01 500 2.461588E-03 3.483536E-01 2.376753E-01 505 3.649178E-03 4.277595E-01 1.720018E-01 510 1.556989E-02 5.204972E-01 1.176796E-01 515 4.315171E-02 6.206256E-01 8.283548E-02 520 7.962917E-02 7.180890E-01 5.650407E-02 525 1.268468E-01 7.946448E-01 3.751912E-02 530 1.818026E-01 8.575799E-01 2.438164E-02 535 2.405015E-01 9.071347E-01 1.566174E-02 540 3.098117E-01 9.544675E-01 9.846470E-03 545 3.804244E-01 9.814106E-01 6.131421E-03 550 4.494206E-01 9.890228E-01 3.790291E-03 555 5.280233E-01 9.994608E-01 2.327186E-03 560 6.133784E-01 9.967737E-01 1.432128E-03 565 7.016774E-01 9.902549E-01 8.822531E-04 570 7.967750E-01 9.732611E-01 5.452416E-04 575 8.853376E-01 9.424569E-01 3.386739E-04 580 9.638388E-01 8.963613E-01 2.117772E-04 585 1.051011E+00 8.587203E-01 1.335031E-04 590 1.109767E+00 8.115868E-01 8.494468E-05 595 1.143620E+00 7.544785E-01 5.460706E-05 600 1.151033E+00 6.918553E-01 3.549661E-05 605 1.134757E+00 6.270066E-01 2.334738E-05 610 1.083928E+00 5.583746E-01 1.554631E-05 615 1.007344E+00 4.895950E-01 1.048387E-05 620 9.142877E-01 4.229897E-01 0.000000E+00 625 8.135565E-01 3.609245E-01 0.000000E+00 630 6.924717E-01 2.980865E-01 0.000000E+00 635 5.755410E-01 2.416902E-01 0.000000E+00 640 4.731224E-01 1.943124E-01 0.000000E+00 645 3.844986E-01 1.547397E-01 0.000000E+00 650 2.997374E-01 1.193120E-01 0.000000E+00 655 2.277792E-01 8.979594E-02 0.000000E+00 660 1.707914E-01 6.671045E-02 0.000000E+00 665 1.263808E-01 4.899699E-02 0.000000E+00 670 9.224597E-02 3.559982E-02 0.000000E+00 675 6.639960E-02 2.554223E-02 0.000000E+00 680 4.710606E-02 1.807939E-02 0.000000E+00 685 3.292138E-02 1.261573E-02 0.000000E+00 690 2.262306E-02 8.661284E-03 0.000000E+00 695 1.575417E-02 6.027677E-03 0.000000E+00 700 1.096778E-02 4.195941E-03 0.000000E+00 705 7.608750E-03 2.910864E-03 0.000000E+00 710 5.214608E-03 1.995557E-03 0.000000E+00 715 3.569452E-03 1.367022E-03 0.000000E+00 720 2.464821E-03 9.447269E-04 0.000000E+00 725 1.703876E-03 6.537050E-04 0.000000E+00 730 1.186238E-03 4.555970E-04 0.000000E+00 735 8.269535E-04 3.179738E-04 0.000000E+00 740 5.758303E-04 2.217445E-04 0.000000E+00 745 4.058303E-04 1.565566E-04 0.000000E+00 750 2.856577E-04 1.103928E-04 0.000000E+00 755 2.021853E-04 7.827442E-05 0.000000E+00 760 1.438270E-04 5.578862E-05 0.000000E+00 765 1.024685E-04 3.981884E-05 0.000000E+00 770 7.347551E-05 2.860175E-05 0.000000E+00 775 5.259870E-05 2.051259E-05 0.000000E+00 %780 3.806114E-05 1.487243E-05 0.000000E+00 %785 2.758222E-05 1.080001E-05 0.000000E+00 %790 2.004122E-05 7.863920E-06 0.000000E+00 %795 1.458792E-05 5.736935E-06 0.000000E+00 %800 1.068141E-05 4.211597E-06 0.000000E+00 %805 7.857521E-06 3.106561E-06 0.000000E+00 %810 5.768284E-06 2.286786E-06 0.000000E+00 %815 4.259166E-06 1.693147E-06 0.000000E+00 %820 3.167765E-06 1.262556E-06 0.000000E+00 %825 2.358723E-06 9.422514E-07 0.000000E+00 %830 1.762465E-06 7.053860E-07 0.000000E+00 ] def %END CIEF_XYZ_02 Colour matching functions 5nm 02-degree /FF10i [%BEG CIEF_XYZ_10 Colour matching functions 5nm 10-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 2.952420E-03 4.076779E-04 1.318752E-02 %=390 385 2.952420E-03 4.076779E-04 1.318752E-02 %=390 390 2.952420E-03 4.076779E-04 1.318752E-02 395 7.641137E-03 1.078166E-03 3.424588E-02 400 1.879338E-02 2.589775E-03 8.508254E-02 405 4.204986E-02 5.474207E-03 1.927065E-01 410 8.277331E-02 1.041303E-02 3.832822E-01 415 1.395127E-01 1.712968E-02 6.568187E-01 420 2.077647E-01 2.576133E-02 9.933444E-01 425 2.688989E-01 3.529554E-02 1.308674E+00 430 3.281798E-01 4.698226E-02 1.624940E+00 435 3.693084E-01 6.047429E-02 1.867751E+00 440 4.026189E-01 7.468288E-02 2.075946E+00 445 4.042529E-01 8.820537E-02 2.132574E+00 450 3.932139E-01 1.039030E-01 2.128264E+00 455 3.482214E-01 1.195389E-01 1.946651E+00 460 3.013112E-01 1.414586E-01 1.768440E+00 465 2.534221E-01 1.701373E-01 1.582342E+00 470 1.914176E-01 1.999859E-01 1.310576E+00 475 1.283167E-01 2.312426E-01 1.010952E+00 480 7.593120E-02 2.682271E-01 7.516389E-01 485 3.836770E-02 3.109438E-01 5.549619E-01 490 1.400745E-02 3.554018E-01 3.978114E-01 495 3.446810E-03 4.148227E-01 2.905816E-01 500 5.652072E-03 4.780482E-01 2.078158E-01 505 1.561956E-02 5.491344E-01 1.394643E-01 510 3.778185E-02 6.248296E-01 8.852389E-02 515 7.538941E-02 7.012292E-01 5.824484E-02 520 1.201511E-01 7.788199E-01 3.784916E-02 525 1.756832E-01 8.376358E-01 2.431375E-02 530 2.380254E-01 8.829552E-01 1.539505E-02 535 3.046991E-01 9.233858E-01 9.753000E-03 540 3.841856E-01 9.665325E-01 6.083223E-03 545 4.633109E-01 9.886887E-01 3.769336E-03 550 5.374170E-01 9.907500E-01 2.323578E-03 555 6.230892E-01 9.997775E-01 1.426627E-03 560 7.123849E-01 9.944304E-01 8.779264E-04 565 8.016277E-01 9.848127E-01 5.408385E-04 570 8.933408E-01 9.640545E-01 3.342429E-04 575 9.721304E-01 9.286495E-01 2.076129E-04 580 1.034327E+00 8.775360E-01 1.298230E-04 585 1.106886E+00 8.370838E-01 8.183954E-05 590 1.147304E+00 7.869950E-01 5.207245E-05 595 1.160477E+00 7.272309E-01 3.347499E-05 600 1.148163E+00 6.629035E-01 2.175998E-05 605 1.113846E+00 5.970375E-01 1.431231E-05 610 1.048485E+00 5.282296E-01 9.530130E-06 615 9.617111E-01 4.601308E-01 6.426776E-06 620 8.629581E-01 3.950755E-01 0.000000E+00 625 7.603498E-01 3.351794E-01 0.000000E+00 630 6.413984E-01 2.751807E-01 0.000000E+00 635 5.290979E-01 2.219564E-01 0.000000E+00 640 4.323126E-01 1.776882E-01 0.000000E+00 645 3.496358E-01 1.410203E-01 0.000000E+00 650 2.714900E-01 1.083996E-01 0.000000E+00 655 2.056507E-01 8.137687E-02 0.000000E+00 660 1.538163E-01 6.033976E-02 0.000000E+00 665 1.136072E-01 4.425383E-02 0.000000E+00 670 8.281010E-02 3.211852E-02 0.000000E+00 675 5.954815E-02 2.302574E-02 0.000000E+00 680 4.221473E-02 1.628841E-02 0.000000E+00 685 2.948752E-02 1.136106E-02 0.000000E+00 690 2.025590E-02 7.797457E-03 0.000000E+00 695 1.410230E-02 5.425391E-03 0.000000E+00 700 9.816228E-03 3.776140E-03 0.000000E+00 705 6.809147E-03 2.619372E-03 0.000000E+00 710 4.666298E-03 1.795595E-03 0.000000E+00 715 3.194041E-03 1.229980E-03 0.000000E+00 720 2.205568E-03 8.499903E-04 0.000000E+00 725 1.524672E-03 5.881375E-04 0.000000E+00 730 1.061495E-03 4.098928E-04 0.000000E+00 735 7.400120E-04 2.860718E-04 0.000000E+00 740 5.153113E-04 1.994949E-04 0.000000E+00 745 3.631969E-04 1.408466E-04 0.000000E+00 750 2.556624E-04 9.931439E-05 0.000000E+00 755 1.809649E-04 7.041878E-05 0.000000E+00 760 1.287394E-04 5.018934E-05 0.000000E+00 765 9.172477E-05 3.582218E-05 0.000000E+00 770 6.577532E-05 2.573083E-05 0.000000E+00 775 4.708916E-05 1.845353E-05 0.000000E+00 %780 3.407653E-05 1.337946E-05 0.000000E+00 %785 2.469630E-05 9.715798E-06 0.000000E+00 %790 1.794555E-05 7.074424E-06 0.000000E+00 %795 1.306345E-05 5.160948E-06 0.000000E+00 %800 9.565993E-06 3.788729E-06 0.000000E+00 %805 7.037621E-06 2.794625E-06 0.000000E+00 %810 5.166853E-06 2.057152E-06 0.000000E+00 %815 3.815429E-06 1.523114E-06 0.000000E+00 %820 2.837980E-06 1.135758E-06 0.000000E+00 %825 2.113325E-06 8.476168E-07 0.000000E+00 %830 1.579199E-06 6.345380E-07 0.000000E+00 ] def %END CIEF_XYZ_10 Colour matching functions 5nm 10-degree xchart13 0 eq {%xchart13=0 %02 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F02i i get put } for %i=0,1,239 } if %xchart13=0 xchart13 1 eq {%xchart13=1 %10 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F10i i get put } for %i=0,1,239 } if %xchart13=1 xchart13 2 eq {%xchart13=2 %02 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF02i i4 1 add get put FAi 80 i add FF02i i4 2 add get put FAi 160 i add FF02i i4 3 add get put } for %i=0,1,79 } if %xchart13=2 xchart13 3 eq {%xchart13=3 %10 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF10i i4 1 add get put FAi 80 i add FF10i i4 2 add get put FAi 160 i add FF10i i4 3 add get put } for %i=0,1,79 } if %xchart13=3 xchart13 4 ge {%xchart13>=4 /CY 0.35 def /CY2 1.00 def /CX 50 def /W0 570 def /W1 540 def /W2 440 def %new /ILT 0 def ILT 0 eq {/tsa 0.000 def} if ILT 1 eq {/tsa 0.010 def} if %actual 2 or 10-degree CIE standard observer E, 80 data, 380-775nm, delta=5nm /lE1j 80 array def /mE1j 80 array def /sE1j 80 array def /lESj 80 array def /mESj 80 array def /sESj 80 array def /XE1j 80 array def /YE1j 80 array def /ZE1j 80 array def /xanE1j 80 array def /yanE1j 80 array def /zanE1j 80 array def /XESj 80 array def /YESj 80 array def /ZESj 80 array def /xanESj 80 array def /yanESj 80 array def /zanESj 80 array def /Xmi 88 array def /Ymi 88 array def /Ymi0 88 array def /Ymi1 88 array def /Ymi2 88 array def /Ymi3 88 array def /sASjk 80 array def 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put Xmi i get W2 le {/YEXP Xmi i get W2 sub CX div dup mul CY2 mul neg def} {/YEXP 0.0001 def} ifelse /EYEXP 10 YEXP exp 0.0001 add def sASjk i EYEXP put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put %s later with media absortion correction /YEXP Xmi i get W2 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi2 i EYEXP put %l later with 2% linear blue cone attribute /YEXP Xmi i get W0 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi0 i EYEXP put %m symmetric with no change /YEXP Xmi i get W1 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi1 i EYEXP put %y linear 0.5 l + 0.5 m Ymi3 i Ymi0 i get Ymi1 i get add 0.5 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 %s with media absortion correction sESj i Ymi2 i get sASjk i get mul put %l with 2% linear s cone attribute lESj i Ymi0 i get sESj i get 0.02 mul add put %m symmetric with no change mESj i Ymi1 i get put } for %i=0,1,79 %Normalisation of LMS to 100 /fslES 0 def /fsmES 0 def /fssES 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumLMS /fslES fslES lESj i get add def /fsmES fsmES mESj i get add def /fssES fssES sESj i get add def } for %i=0,79 %0 1 79 {/i exch def %i=0,1,79 %no normalisation LMS, multiply with 100 for E00 % lESj i lESj i get put % mESj i mESj i get put % sESj i sESj i get put % } for %i=0,1,79 %0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 % lESj i lESj i get 100 mul put % mESj i mESj i get fsmES 0.0001 add div 100 mul put % sESj i sESj i get 100 mul put % } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 lESj i lESj i get fslES 0.0001 add div 21.18 mul put mESj i mESj i get fsmES 0.0001 add div 21.18 mul put sESj i sESj i get fssES 0.0001 add div 21.18 mul put } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 /A11 1.3200 def %LMS -> x /A12 -0.6600 def /A13 0.3400 def /A21 0.5000 def %LMS -> y /A22 0.5000 def /A23 0.0000 def /A31 0.0000 def %LMS -> z /A32 0.0000 def /A33 1.0000 def 0 1 79 {/i exch def %i=0,1,79 FAi i 000 add lESj i get A11 mul mESj i get A12 mul add sESj i get A13 mul add put FAi i 080 add lESj i get A21 mul mESj i get A22 mul add sESj i get A23 mul add put FAi i 160 add lESj i get A31 mul mESj i get A32 mul add sESj i get A33 mul add put } for %i=0,1,79 } if %xchart13>=4 %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOWi 82 array def /DOWZi 17 array def /F02Zi 51 array def /F10Zi 51 array def /FF02Zi 51 array def /FF10Zi 51 array def /LMS0Zi 51 array def /LMS1Zi 51 array def /FAZi 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOWi i 380 i 5 mul add put } for %i=0,79 /DOWZi %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def %'cl80'CIE_Z_CL80_85.TXT 180326 %CIE_02 CL800-7R.PDF /.PS and MACPS2PDF /F02Zi [%CIE_02 3x17 data 700 ... 400 0.0113 0.0114 0.0115 0.0116 0.0117 0.0118 0.0118 0.0119 0.0119 0.0119 0.0120 0.0121 0.0121 0.0123 0.0125 0.0129 0.0143 0.0041 0.0040 0.0038 0.0036 0.0035 0.0035 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0030 0.0028 0.0026 0.0020 0.0003 0.0000 0.0011 0.0051 0.0074 0.0093 0.0106 0.0117 0.0125 0.0134 0.0145 0.0155 0.0170 0.0191 0.0220 0.0272 0.0377 0.0678] def %CIE_10 CL810-7R.PDF /.PS and MACPS2PDF /F10Zi [%CIE_10 3x17 data 700 ... 400 0.0100 0.0105 0.0107 0.0109 0.0110 0.0111 0.0112 0.0113 0.0114 0.0116 0.0118 0.0120 0.0124 0.0130 0.0145 0.0191 0.0191 0.0037 0.0036 0.0035 0.0035 0.0035 0.0034 0.0034 0.0034 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0028 0.0020 0.0020 0.0000 0.0052 0.0074 0.0088 0.0101 0.0110 0.0120 0.0130 0.0140 0.0153 0.0170 0.0194 0.0229 0.0289 0.0425 0.0859 0.0860] def %CIE_F02 CL820-7R.PDF /.PS and MACPS2PDF /FF02Zi [%CIE_F02 3x17 data 700 ... 400 0.0109 0.0113 0.0116 0.0118 0.0120 0.0121 0.0122 0.0123 0.0124 0.0125 0.0126 0.0128 0.0130 0.0134 0.0140 0.0155 0.0221 0.0041 0.0041 0.0040 0.0040 0.0040 0.0040 0.0039 0.0039 0.0039 0.0039 0.0039 0.0039 0.0038 0.0038 0.0037 0.0034 0.0024 0.0000 0.0035 0.0065 0.0088 0.0103 0.0116 0.0125 0.0133 0.0144 0.0155 0.0168 0.0185 0.0206 0.0242 0.0307 0.0448 0.1096] def %CIE_F10 CL830-7R.PDF /.PS and MACPS2PDF /FF10Zi [%CIE_F10 3x17 data 700 ... 400 0.0098 0.0104 0.0106 0.0107 0.0108 0.0109 0.0110 0.0111 0.0112 0.0114 0.0115 0.0118 0.0121 0.0128 0.0142 0.0187 0.0187 0.0037 0.0036 0.0036 0.0036 0.0036 0.0036 0.0036 0.0035 0.0035 0.0035 0.0035 0.0035 0.0034 0.0033 0.0031 0.0025 0.0025 0.0000 0.0057 0.0077 0.0090 0.0102 0.0112 0.0120 0.0128 0.0140 0.0152 0.0168 0.0191 0.0225 0.0283 0.0422 0.0849 0.0850] def %LMS_0.00 CL840-7R.PDF /.PS and MACPS2PDF /LMS0Zi [%LMS_17M3 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def %LMS_0.01 CL850-7R.PDF /.PS and MACPS2PDF identical CL840-7R.PDF /LMS1Zi [%LMS_17M4 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def 0 1 50 {/i exch def %i=0,50 xchart13 0 eq {FAZi i F02Zi i get put} if xchart13 1 eq {FAZi i F10Zi i get put} if xchart13 2 eq {FAZi i FF02Zi i get put} if xchart13 3 eq {FAZi i FF10Zi i get put} if xchart13 4 eq {FAZi i LMS0Zi i get put} if xchart13 5 eq {FAZi i LMS1Zi i get put} if } for %i=0,50 /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /Xi 82 array def /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /AAN1i 200 array def %actual data for plot, Munsell colours (M=1) /BAN1i 200 array def /AANXi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXi 200 array def /FXNZi 17 array def /FYNZi 17 array def /FZNZi 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 FXAi i FAi 00 i add get put FYAi i FAi 80 i add get put FZAi i FAi 160 i add get put } for %i=0,1,79 %STOPxx /XKSUM 0 def /YKSUM 0 def /ZKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /XKSUM XKSUM FXAi i get add def /YKSUM YKSUM FYAi i get add def /ZKSUM ZKSUM FZAi i get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXNi i FXAi i get YKSUM div 100 mul put FYNi i FYAi i get YKSUM div 100 mul put FZNi i FZAi i get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXMi i FXAi i get XKSUM div 100 mul put FYMi i FYAi i get YKSUM div 100 mul put FZMi i FZAi i get ZKSUM div 100 mul put } for %i=0,1,79 %STOPx 0 1 79 {/i exch def %i=0,80 %for any illuminant Xi i FXNi i get put Yi i FYNi i get put Zi i FZNi i get put /SUM FXNi i get FYNi i get add FZNi i get add 0.00001 add def XANi i FXNi i get SUM div put YANi i FYNi i get SUM div put ZANi i FZNi i get SUM div put } for %i=0,79 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZi i FAZi 00 i add get 100 mul YKSUM div 100 mul put FYNZi i FAZi 17 i add get 100 mul YKSUM div 100 mul put FZNZi i FAZi 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZi i get put YZi i FYNZi i get put ZZi i FZNZi i get put /SUMZ FXNZi i get FYNZi i get add FZNZi i get add def XANZi i FXNZi i get SUMZ div put YANZi i FYNZi i get SUMZ div put ZANZi i FZNZi i get SUMZ div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXNi i get add def /YW YW FYNi i get add def /ZW ZW FZNi i get add def } for %i=0,79 /SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANW XW SUMW FL add div def /YANW YW SUMW FL add div def /ZANW ZW SUMW FL add div def K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.8859 mul def /YK YW 0.8859 mul def /ZK ZW 0.8859 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANW def /YANWL YANW def /ZANWL ZANW def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYi 80 array def /BnYi 80 array def } bind def %END proc_CIE_LMS0 %**************************************************************** /proc_PDT_colours {%BEG proc_PDT_colours /l02Ii 77 array def /m02Ii 77 array def /s02Ii 77 array def /l02Mi 77 array def /m02Mi 77 array def /s02Mi 77 array def /X02Ii 77 array def /Y02Ii 77 array def /Z02Ii 77 array def /xan02Ii 77 array def /yan02Ii 77 array def /zan02Ii 77 array def /X02Mi 77 array def /Y02Mi 77 array def /Z02Mi 77 array def /xan02Mi 77 array def /yan02Mi 77 array def /zan02Mi 77 array def /ycuri 77 array def /l02Mi [ %LMS2.TXT %L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm 4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400 4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2 2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450 5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1 1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500 3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1 7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550 9.657395e-1 9.814541e-1 9.944890e-1 1 9.923160e-1 9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600 7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1 4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650 1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2 2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700 4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4 6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750 1.095065e-4 7.799195e-5 ] def /m02Mi [ %M2.DAT 3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400 4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2 3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450 9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1 2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500 5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1 9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95? 9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1 6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600 2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2 6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650 1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3 1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700 2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5 4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750 7.822762e-6 5.690886e-6 ] def /s02Mi [ %S2.DAT CIE 171.1:2006 9.547289e-3 9.547289e-3 9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410 3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1 9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460 7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1 2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510 4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560 4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5 4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610 5.418387e-6 0 0 0 0 0 0 0 0 0 %650 0 0 0 0 0 0 0 0 0 0 %700 0 0 0 0 0 0 0 0 0 0 %750 0 0 ] def %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23 /A11 1.94735469 def /A12 -1.41445123 def /A13 0.36476327 def /A21 0.68990272 def /A22 0.34832189 def /A33 1.93485343 def /fsl02Mi 0 def /fsm02Mi 0 def /fss02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Mi fsl02Mi l02Mi i get add def /fsm02Mi fsm02Mi m02Mi i get add def /fss02Mi fss02Mi s02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung LMS l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put m02Ii i m02Mi i get put s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put } for %i=0,76 /fsl02Ii 0 def /fsm02Ii 0 def /fss02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Ii fsl02Ii l02Ii i get add def /fsm02Ii fsm02Ii m02Ii i get add def /fss02Ii fss02Ii s02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 X02Ii i l02Mi i get A11 mul m02Mi i get A12 mul add s02Mi i get A13 mul add put Y02Ii i l02Mi i get A21 mul m02Mi i get A22 mul add put Z02Ii i s02Mi i get A33 mul put } for %i=0,76 /fsX02Ii 0 def /fsY02Ii 0 def /fsZ02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzIi /fsX02Ii fsX02Ii X02Ii i get add def /fsY02Ii fsY02Ii Y02Ii i get add def /fsZ02Ii fsZ02Ii Z02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ X02Mi i X02Ii i get 1.1510330 div put %max 600nm Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm } for %i=0,76 /fsX02Mi 0 def /fsY02Mi 0 def /fsZ02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzMi /fsX02Mi fsX02Mi X02Mi i get add def /fsY02Mi fsY02Mi Y02Mi i get add def /fsZ02Mi fsZ02Mi Z02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 xyzan /sumXYZ X02Ii i get Y02Ii i get add Z02Ii i get add def xan02Ii i X02Ii i get sumXYZ div put yan02Ii i Y02Ii i get sumXYZ div put zan02Ii i Z02Ii i get sumXYZ div put } for %i=0,76 } bind def %END proc_PDT_colours %************************************************* %STOP4 /proc_Munsell_colours {%BEG proc_Munsell_colours %calculation of transformation data /FARBE 27 array def /FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00 () () () %01 (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02 () () () %03 (L* about 10, 20, 50, 80, 90) () () %04 () () () %05 () () () %06 () () () %07 () () () %08 ] def %Input /xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data /xy_MUNSELL %BEG xy_MUNSELL [%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9 % 05 % 1 40 1 1 VALUE1 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296 % 1 40 02 2 VALUE2 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583 % 1 40 05 3 VALUE5 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912 % 1 40 08 4 VALUE8 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040 % 1 40 09 5 VALUE9 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051 ] def %END xy_MUNSELL /Y_MUNSELL 5 array def %5 Y*1000 data /Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100 [12100 31300 197700 591000 786600] def %here 4 decimal places! /xy_MUNSELL_C 2 array def %2 xy*1000 data /xy_MUNSELL_C %BEG xy_MUNSELL_C [3101 3162] def %END xy_MUNSELL_C /xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8 /xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex [% 1 01 2 4CR=2EX 3149 3086 % 1 01 5 5CR=2EX 3142 3234 % 1 01 8 6CR=2EX 3144 3275 ] def %END xy_MUNSELL_Ex %M=Munsell /XMi 200 array def %5*40 colour of chroma 2 /YMi 200 array def /ZMi 200 array def /XANMi 200 array def /YANMi 200 array def /ZANMi 200 array def /AANMi 200 array def /BANMi 200 array def 0 0 0 1 setcmykcolor /fscale 0.0001 def 0 1 199 {/k exch def %k=0,199 /k2 k 2 mul def XANMi k xy_MUNSELL k2 0 add get fscale mul put YANMi k xy_MUNSELL k2 1 add get fscale mul put ZANMi k 1. XANMi k get sub YANMi k get sub put /kV k 40 idiv def /YVALUE Y_MUNSELL kV get fscale mul def YMi k YVALUE put /SUMY YVALUE YANMi k get div def XMi k SUMY XANMi k get mul put ZMi k SUMY ZANMi k get mul put } for %k=0,199 %*********************** %XWM,YWM,ZWM and XKW,YKW,ZKW for white /YANWM xy_MUNSELL_C 0 get fscale mul def /YANWM xy_MUNSELL_C 1 get fscale mul def /ZANWM 1. YANWM sub YANWM sub def /YWM 100. def /SUMWM YWM YANWM div def /XWM SUMWM YANWM mul def /ZWM SUMWM ZANWM mul def /XKM XWM def /YKM YWM def /ZKM ZWM def } bind def %END proc_Munsell_colours %************************************************************************* /proc_Ostwald_colours {%BEG proc_Ostwald_colours %Input %/FAi 240 array def %CIE_02, CIE_10, CIE_F02, CIE_F10, LMS_17M3 %/SX01 80 array def %380 bis 775 mit deltalambda=05 %/SX02 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX05 80 array def %380 bis 775 mit deltalambda=05 %/SX06 80 array def %380 bis 775 mit deltalambda=05 %/SX07 80 array def %380 bis 775 mit deltalambda=05 /WEL1i 60 array def %irregular definition /WEL2i 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1i [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def %Calculation /RAOi 80 array def %380 bis 770 nm /FAOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /FANOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /SDAKOi 80 array def %380 bis 775 mit deltalambda=05 /SX00Oi 80 array def %380 bis 775 mit deltalambda=05 /SX01Oi 80 array def %380 bis 775 mit deltalambda=05 /SX02Oi 80 array def %380 bis 775 mit deltalambda=05 /SX03Oi 80 array def %380 bis 775 mit deltalambda=05 /SX04Oi 80 array def %380 bis 775 mit deltalambda=05 /SX05Oi 80 array def %380 bis 775 mit deltalambda=05 /SX06Oi 80 array def %380 bis 775 mit deltalambda=05 /SX07Oi 80 array def %380 bis 775 mit deltalambda=05 %special wavelength range with complementary colours for E? /FXDOi 80 array def /FYDOi 80 array def /FZDOi 80 array def /DOWOi 80 array def /FADOi 80 array def /FBDOi 80 array def /FCDOi 80 array def %Results /XOi 80 array def %usually 40 Ostwald COLOURS /YOi 80 array def /ZOi 80 array def /XANOi 80 array def %usually 40 Ostwald COLOURS /YANOi 80 array def /ZANOi 80 array def 0 1 239 {/i exch def %i=0,239 FAOi i FAi i get put } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO FAOi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add FAOi 00 i add get YKSUM div 100 mul put FANOi 80 i add FAOi 80 i add get YKSUM div 100 mul put FANOi 160 i add FAOi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 SX00Oi i SX00 i get put SX01Oi i SX01 i get put SX02Oi i SX02 i get put SX03Oi i SX03 i get put SX04Oi i SX04 i get put SX05Oi i SX05 i get put SX06Oi i SX06 i get put SX07Oi i SX07 i get put } for %i=0,79 %STOP6 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAKOi i xchartx 0 eq {SX00Oi i get} if xchartx 1 eq {SX01Oi i get} if xchartx 2 eq {SX02Oi i get} if xchartx 3 eq {SX03Oi i get} if xchartx 4 eq {SX04Oi i get} if xchartx 5 eq {SX05Oi i get} if xchartx 6 eq {SX06Oi i get} if xchartx 7 eq {SX07Oi i get} if put } for %i=0,79 %STOP7 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get FAOi 80 i add get mul add def } for %i=0,1,79 %STOP8 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add SDAKOi i get FAOi 00 i add get mul YKSUM div 100 mul put FANOi 80 i add SDAKOi i get FAOi 80 i add get mul YKSUM div 100 mul put FANOi 160 i add SDAKOi i get FAOi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %STOP11 /FXNOi 80 array def %FXN 0 = F2N imax /FYNOi 80 array def /FZNOi 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXNOi i FANOi 000 i add get put FYNOi i FANOi 080 i add get put FZNOi i FANOi 160 i add get put } for %i=0,79 %XWO,YWO,ZWO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 /SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWO XWO SUMWO div def /YANWO YWO SUMWO div def /ZANWO ZWO SUMWO div def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXDOi i FXNOi 005 i add get put FYDOi i FYNOi 005 i add get put FZDOi i FZNOi 005 i add get put DOWOi i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXDOi 61 FXDOi 60 get put FYDOi 61 FYDOi 60 get put FZDOi 61 FZDOi 60 get put FXDOi 62 FXDOi 60 get put FYDOi 62 FYDOi 60 get put FZDOi 62 FZDOi 60 get put 0 1 62 {/i exch def %i=0,62 FADOi i FXDOi i get put FBDOi i FYDOi i get put FCDOi i FZDOi i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %STOP12 %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FADO,FBDO,FCDO, KNPO %output FWERTiX/Y/Z (i=1,4) KNP 1 ge {/FWERT1X FADOi KNP 1 sub get def /FWERT1Y FBDOi KNP 1 sub get def /FWERT1Z FCDOi KNP 1 sub get def} {/FWERT1X FADOi 0 get def %again 400nm for i=0 /FWERT1Y FBDOi 0 get def /FWERT1Z FCDOi 0 get def} ifelse /FWERT2X FADOi KNP get def /FWERT2Y FBDOi KNP get def /FWERT2Z FCDOi KNP get def /FWERT3X FADOi KNP 1 add get def /FWERT3Y FBDOi KNP 1 add get def /FWERT3Z FCDOi KNP 1 add get def /FWERT4X FADOi KNP 2 add get def /FWERT4Y FBDOi KNP 2 add get def /FWERT4Z FCDOi KNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1i k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXDOi j get def %start at 405..700nm /FF2 FYDOi j get def /FF3 FZDOi j get def /U1 XWO def /U2 YWO def /U3 ZWO def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add neg def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /KNP INP def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /KNP IPN def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RAOi i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RAOi i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RAOi i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RAOi i1 0.5 put RAOi i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /XO 0 def /YO 0 def /ZO 0 def 0 1 079 {/i exch def %i=0,79 /XO XO FANOi 00 i add get RAOi i get mul add def /YO YO FANOi 80 i add get RAOi i get mul add def /ZO ZO FANOi 160 i add get RAOi i get mul add def } for %i=0,79 /SUMO XO YO add ZO add def /XANO XO SUMO FL add div def /YANO YO SUMO FL add div def /ZANO ZO SUMO FL add div def %************************************************* 0 0 0 1 setcmykcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 XOi k XO put YOi k YO put ZOi k ZO put XANOi k XANO put YANOi k YANO put ZANOi k ZANO put }%Icom=0 {%Icom=1 /kP 20 k add def XOi kP XWO XO sub put YOi kP YWO YO sub put ZOi kP ZWO ZO sub put /SUMO XOi kP get YOi kP get add ZOi kP get add def XANOi kP XOi kP get SUMO FL add div put YANOi kP YOi kP get SUMO FL add div put ZANOi kP ZOi kP get SUMO FL add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 XOi k XOi k get 0.8859 mul put YOi k YOi k get 0.8859 mul put ZOi k ZOi k get 0.8859 mul put XOi kP XOi kP get 0.8859 mul put YOi kP YOi kP get 0.8859 mul put ZOi kP ZOi kP get 0.8859 mul put } if %K=1 } for %k=0,19 %************************************** %XWO,YWO,ZWO and XKO,YKO,ZKO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XKO XWO def /YKO YWO def /ZKO ZWO def }%K=0 {%K=1 /XKO XWO 0.8859 mul def /YKO YWO 0.8859 mul def /ZKO ZWO 0.8859 mul def } ifelse %K=1 /SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKO XKO SUMKO div def /YANKO YKO SUMKO div def /ZANKO ZKO SUMKO div def /XANWL XANWO def /YANWL YANWO def /ZANWL ZANWO def } bind def %END proc_Ostwald_colours %********************************************************************** %**************************************************************** %allways /proc_DEF_colours {%BEG proc_DEF_colours %Colour Deficiencies /ip1 700 380 sub 5 idiv def %ip=64:700nm /XANP1 XANi ip1 get def /YANP1 YANi ip1 get def /ZANP1 ZANi ip1 get def /id1 505 380 sub 5 idiv def %ip=25:505nm /XAND1 XANi id1 get def /YAND1 YANi id1 get def /ZAND1 ZANi id1 get def /it1 400 380 sub 5 idiv def %ip=4:400nm /XANT1 XANi it1 get def /YANT1 YANi it1 get def /ZANT1 ZANi it1 get def %************************* /XANP XANP1 def /YANP YANP1 def /ZANP ZANP1 def /XAND 1.000 def /YAND 0.001 def /ZAND 0.999 def /XANT 0.171 def /YANT 0.001 def /ZANT 1.000 XANT sub YANT sub def %************************* /XAN00 0.3333 def %Illuminant E /YAN00 0.3333 def /mP YAN00 YANP sub XAN00 XANP sub div def %700nm /bP YAN00 XAN00 mP mul sub def /mD YAN00 YAND sub XAN00 XAND sub div def %xx /bD YAN00 XAN00 mD mul sub def /mT YAN00 YANT sub XAN00 XANT sub div def %xx /bT YAN00 XAN00 mT mul sub def %************************* /mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm /bP1 YAN00 XAN00 mP1 mul sub def %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /XAND1 XANZi i get def /YAND1 YANZi i get def /mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm /bD1 YAN00 XAN00 mD1 mul sub def /mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm /bT1 YAN00 XAN00 mT1 mul sub def /ishow {0 -40 rmoveto show 0 40 rmoveto} def /eshow {0 60 rmoveto show 0 -60 rmoveto} def /imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def /imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def /iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def } bind def %END proc_DEF_colours %allways if xchart6>=1 /proc_chromaticity {%BEG proc_chromaticity %chromaticity definitions xchartl 0 eq {%xchartl=0 %(x,y) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get put BANi i YANi i get put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 def /BANP1 YANP1 def /AAND1 XAND1 def /BAND1 YAND1 def /AANT1 XANT1 def /BANT1 YANT1 def /AANP XANP def /BANP YANP def /AAND XAND def /BAND YAND def /AANT XANT def /BANT YANT def %ACHROMATIC COLOUR /AANWL XANWL def /BANWL YANWL def /AANWC XANWC def /BANWC YANWC def } if %xchartl=0 %only for (x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=1 %only for (a0,b0) %***************** xchartl 2 eq {%xchartl=2 %(a1,b1) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=2 %only for (a1,b1) %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=3 %only for (a2,b2) %***************** xchartl 4 eq {%xchartl=4 %(a3,b3) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=4 %only for (a3,b3) %***************** xchartl 5 eq {%xchartl=5 %(a4,b4) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=5 %only for (a4,b4) %***************** xchartl 6 eq {%xchartl=6 %(a5,b5) /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def 0 1 79 {/i exch def %i=0,79 AANi i XANi i get A51 mul YANi i get A52 mul add A53 add YANi i get FL add div a2x mul put BANi i XANi i get B51 mul YANi i get B52 mul add B53 add YANi i get FL add div b2x mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get A51 mul YANZi i get A52 mul add A53 add YANZi i get FL add div a2x mul put BANZi i XANZi i get B51 mul YANZi i get B52 mul add B53 add YANZi i get FL add div b2x mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div a2x mul def /BANWL XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div b2x mul def /AANWC XANWC A51 mul YANWC A52 mul add A53 add YANWC FL add div a2x mul def /BANWC XANWC B51 mul YANWC B52 mul add B53 add YANWC FL add div b2x mul def } if %xchartl=6 %only for (a5,b5) %***************** xchartl 7 eq {%xchartl=7 %(a6,b6) %a=x/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=7 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_coor {%BEG proc_xaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1<=7 TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 3 eq or xchartl 7 eq or {%xchartl=1,3,7 TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,3,7 xchartl 2 eq xchartl 4 eq or xchartl 5 eq or {%xchartl=2,4,5 TBS (=\050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-0,171\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl#2,4,5 xchartl 6 eq {%xchartl=6 TBS (=\0508,61) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-7,20) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-0,269\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart=0,#0 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1,7 TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 2 eq or {%xchartl=1,2 TBS (=-0,40) show TBIS (z) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,2 xchartl 3 eq xchartl 5 eq or {%xchartl=3,5 TBS (=\050) show mP1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=3,5 xchartl 4 eq xchartl 7 eq or {%xchartl=4,7 TBS (=\050) show mD1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=4,7 xchartl 6 eq {%xchartl=6 TBS (=\0501,99) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+3,86) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-2,40\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart#0 } bind def %END proc_yaxis_xchartl_coor %********************************************************* /proc_chromaticity_lines {%BEG proc_chromaticity_lines for xchart6>=1 %chromaticity lines and with names for xchart6=2 xchartl 0 eq {%xchartl=0 %(x,y) /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolor 0 eq {(CIE 1931) show} if xcolor 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 M 0 000 000 (545) %33 1 050 050 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 L 1 050 050 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 100 -50 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 100 -50 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf XANWL fakt mul def /BANWLf YANWL fakt mul def /AANWCf XANWC fakt mul def /BANWCf YANWC fakt mul def /i 400 380 sub 5 idiv def %4 T /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0.5 0 0.5 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS /i 450 380 sub 5 idiv def %14 S /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S /i 475 380 sub 5 idiv def %18 B /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be (Lc) AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4 /i 495 380 sub 5 idiv def %23 Rc /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S) AANF 120 add BANF 400 sub moveto TIK (M) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 505 380 sub 5 idiv def %26 505c,E /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S) AANF 250 add BANF 300 sub moveto TIK (V') show 0 0 0 setrgbcolor AANF 050 add BANF 550 sub moveto TIK (V) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 520 380 sub 5 idiv def %28 G /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B) AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4 1 1 0 setrgbcolor AANF 100 sub BANF 700 sub moveto TIK (Y) show (l) iy4 TK (=) show 0 0 1 setrgbcolor TIK (B) show (l) iy4 /i 540 380 sub 5 idiv def %32 M /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %540 M AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4 /i 555 380 sub 5 idiv def %35 V /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M) AANF 000 add BANF 000 add moveto TIK (V) show (m) is4 /i 570 380 sub 5 idiv def %38 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %570 L %AANF 250 sub BANF 200 sub moveto TIK (Y) show %0 0 0 setrgbcolor AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4 /i 575 380 sub 5 idiv def %39 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %575 L AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4 /i 700 380 sub 5 idiv def %64 R /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %700 AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4 %Protanop PL 1 0 0 setrgbcolor AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans0 neg ytrans0 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=0 %(x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) %STOP9 /xtrans1a 0500 def /xtrans1 1300 def /ytrans1 3200 def xtrans1a ytrans1 translate 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans1a neg ytrans1 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans1 ytrans1 translate /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 1 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 200 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0050 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans1 neg ytrans1 neg translate %ENDE: 2 } if %xchartl=1 %(a0,b0) %*********************************************************** xchartl 2 eq {%xchartl=2 (a1,b1) /xtrans2a 0500 def /xtrans2 1300 def /ytrans2 3200 def xtrans2a ytrans2 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans2a neg ytrans2 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans2 ytrans2 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -250 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans2 neg ytrans2 neg translate %for text and grafic %ENDE: 2 } if %xchartl=2 %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) /xtrans3a 0500 def /xtrans3 1300 def /ytrans3 3200 def xtrans3a ytrans3 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans3a neg ytrans3 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans3 ytrans3 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 100 -050 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1700 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 0500 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0250 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans3 neg ytrans3 neg translate %for text and grafic %ENDE: 2 } if %xchartl=3 %*********************************************************** xchartl 4 eq {%xchartl=4 %(a3,b3) /xtrans4a 0500 def /xtrans4 1300 def /ytrans4 3200 def xtrans4a ytrans4 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans4a neg ytrans4 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans4 ytrans4 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -280 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2100 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0550 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans4 neg ytrans4 neg translate %for text and grafic %ENDE: 2 } if %xchartl=4 %*********************************************************** xchartl 5 eq {%xchartl=5 %(a4,b4) /xtrans5a 0500 def /xtrans5 1300 def /ytrans5 3200 def xtrans5a ytrans5 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans5a neg ytrans5 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans5 ytrans5 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 -050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -050 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -300 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0800 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0700 0080 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0300 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 0050 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans5 neg ytrans5 neg translate %for text and grafic %ENDE: 2 } if %xchartl=5 %*********************************************************** xchartl 6 eq {%xchartl=6 %(a5,b5) /xtrans6a 0500 def /xtrans6 1300 def /ytrans6 3200 def xtrans6a ytrans6 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans6a neg ytrans6 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans6 ytrans6 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 0 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans6 neg ytrans6 neg translate %for text and grafic %ENDE: 2 } if %xchartl=6 %*********************************************************** xchartl 7 eq {%xchartl=7 %(a6,b6) /xtrans7a 0500 def /xtrans7 1300 def /ytrans7 3200 def xtrans7a ytrans7 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans7a neg ytrans7 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans7 ytrans7 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 newpath TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 newpath newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 newpath TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 newpath /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1800 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans7 neg ytrans7 neg translate %for text and grafic %ENDE: 2 } if %xchartl=7 } bind def %END proc_chromaticity_lines /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt /proc_tab1N {%BEG proc_tab1N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab1N %******************************************************** /proc_tab2N {%BEG proc_tab2N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab2N %********************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} %new {/xchart5 2 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %STOP1 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolor cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow gsave %XCHA01.PS END 5 /Times-ISOL1 FS %175 85 moveto (DG411-3A) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale 30 setlinewidth %xchart3 0 def %with Munsell colours %xchart3 1 def %with Ostwald colours %xchart3 2 det %without any colour /xchart3 1 def %diagram 0:Munsell colours, 1:Ostwald colours, 2:- %xchart5 0 def %without marc illuminant and text %xchart5 1 def %with marc illuminant %xchart5 2 def %with marc illuminant and text /xchart5 2 def %0:-, 1:illuminant, 2:illuminant and text %xchart6 0 def %without chromaticity_lines %xchart6 1 def %with chromaticity_lines %xchart6 2 def %with chromaticity_lines and names /xchart6 2 def %0:-, 1:chromaticity_lines 2:chromaticity_lines & names %xchart7 0 def %Ostwald colours without Name or Y %xchart7 1 def %Ostwald colours with Name %xchart7 2 def %Ostwald colours with CIE Y /xchart7 2 def %0:-, 1:Name, 2:Y %xchartl with 0 1 2 3 4 5 6 7 %xchart8 0 def %0:Pxx (P60, P55, P50, P45, P40, P35, P30, P25) colours %xchart8 1 def %1:Dxx (D65, D50, P40, A00, E00, C00, P00, Q00) colours /xchart8 1 def %0:Pxx, 1:Dxx colours %xchart9 0 def %for Y10-7R.EPS -> Table XYZ, not used here %xchart9 1 def %for Y10-7R.EPS -> Table CAB, not used here %xchart9 2 def %for Y10-7R.EPS -> Table (a,b), not used here /xchart9 0 def %Table 0:(XYZ), 1:(CAB), 2(ab) %xchart10 0 def %for Y10G00NP.PS6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10G00NP.PS6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10G00NP.PS6.PS -> chroma (A*i,B*i) /xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) %xchart13 0 def %CIE_02 %xchart13 1 def %CIE_10 %xchart13 2 def %CIE_F02 %xchart13 3 def %CIE_F10 %xchart13 4 def %LMS_17M3 %xchart13 5 def %LMS_17M4 /xchart13 4 def %xchart13=4(CIE_42),1(CIE_14),2(CIE_F42),3(CIE_F14),4/5 (model) %/xchart14 0 def %unnormiert %/xchart14 1 def %Yw-normiert %/xchart14 2 def %XYZw-normiert /xchart14 0 def %1:unnormiert, 2:Yw-normiert. 3:XYZw-normiert /posax 2700 def /posay 0550 def /posbx -350 def /posby -3150 def /FL 0.00001 def /Y18 18 def %grey background %/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i) /n1e 1.0000 def %allways %/n1e 0.3333 def %very special (a', b') xchart10 1 le {/n0e 1.0000 def} {/n0e 0.3333 def} ifelse gsave /xchartx xchart def 4 1 4 {/xchartx exch def %xchartx=0,7 %8 illuminants gsave 20 setlinewidth %0 0 11550 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey %0 0 11550 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz %STOP %allways proc_CIE_LMS0 %STOP1 proc_DEF_colours xchart3 0 eq {%BEG proc_Munsell_colours proc_Munsell_colours } if %END proc_Munsell_colours xchart3 1 eq {%BEG proc_Ostwald_colours proc_Ostwald_colours } if %END proc_Ostwald_colours %STOP2 /xchartl 05 def 02 1 02 {/xchartl exch def %xchartl=0,7 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto xchartl 7 le {(DG411-) show} {(DG411-) show} ifelse xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow} if xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow} if (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.3 setcmykcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 1.0 colrecst %frame black /xtexti 96 array def /ytexti 96 array def %BEG INC Y11_XCHART10_0/1/2.PS %line 5531 %******************************************************************** %BEG 'CL70'Y11_XCHART1A_1.PS FROM 'CL66'Y10-7R_66.EPS xchart10 1 eq {%xchart10=1 long loop 1700 lines! %/xxt -0.021 def /yyt -0.024 def %/xat 0.031 def /yat 0.029 def /xxt 0.000 def /yyt 0.000 def /xat 0.000 def /yat 0.000 def /proc_Yexp {%BEG proc_Yexp xchart10 0 eq {%chromaticity /Yexp 1 def } if %chromaticity xchart10 1 eq {%chromatic value xchart3 0 eq {%Munsell colours /Yexp YMi ikV40 get def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp YOi i get def } if %Ostwald colours } if %chromatic value xchart10 2 eq {%chroma xchart3 0 eq {%Munsell colours /Yexp Y18 YMi ikV40 get Y18 div n0e exp mul def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp Y18 YOi i get Y18 div n0e exp mul def } if %Ostwald colours } if %chroma } bind def %END proc_Yexp 0 0 0 1 setcmykcolor /xchart12 xchartl 12 mul def xchart3 0 eq {%xchart3=0 %Munsell_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Ostwald_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=1 %Ostwald_colours xchart3 1 eq xchartl 0 eq and {%xchart3=1 only for Ostwald colours and (x,y) xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name und Spektralbereich) showde %0DG411-7 00581 (Name and spectral range) showen %1DG411-7 00581 (Nombre y gama espectral) showes %2DG411-7 00581 (Nom et la gamma spectrale) showfr %3DG411-7 00581 (Nome e la gamma spettrale) showit %4DG411-7 00581 (Name and spectral range) showjp %5DG411-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBEO 0 get show TBV 0 -40 rmoveto FARBEO 1 get show 0 40 rmoveto TBIS FARBEO 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBEO 3 get show TBV 0 -40 rmoveto FARBEO 4 get show 0 40 rmoveto TBIS FARBEO 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBEO 6 get show TBV 0 -40 rmoveto FARBEO 7 get show 0 40 rmoveto TBIS FARBEO 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBEO 9 get show TBV 0 -40 rmoveto FARBEO 10 get show 0 40 rmoveto TBIS FARBEO 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBEO 12 get show TBV 0 -40 rmoveto FARBEO 13 get show 0 40 rmoveto TBIS FARBEO 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBEO 15 get show TBV 0 -40 rmoveto FARBEO 16 get show 0 40 rmoveto TBIS FARBEO 17 get show } if %xchart3=1 only for Ostwald colours TBS 0 0 0 1 setcmykcolor xchart3 0 eq {%xchart3=0 %Munsell_colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Munsell) show TBS (-System) showde %0DG411-7 02581 ( System) showea %1DG411-7 02581 TBIS (, Y) show (w) ib6 xcolor 1 eq {(,10) ib6} if TBS K 0 eq {(=100, ) show}{(=88,6, ) show} ifelse TELi xchartx get show xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (C=2, V=1, 2, 5, 8 & 9, ) show %0DG411-7 03581 TELi xchartx get show } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Optimal Colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Ostwald) showde TBS ( Farben (o)) showde %0DG411-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1DG411-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2DG411-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3DG411-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4DG411-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5DG411-7 02581 TBIS (, Y) show 0 -60 rmoveto (W) show 0 60 rmoveto TBS K 0 eq {(=100) show}{(=88,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (max (m) Buntwert, ) showde %0DG411-7 03581 (max (m) chromatic value, ) showen %1DG411-7 03581 (chromatic m\341x (m), ) showes %2DG411-7 03581 (max (m) chromatic valeur, ) showfr %3DG411-7 03581 (max (m) chromatic value, ) showit %4DG411-7 03581 (max (m) chromatic value, ) showjp %5DG411-7 03581 TELi xchartx get show } if %xchart3=1 %Optimal_colours %BEG For All Colours last line xtexti xchart12 2 add get ytexti xchart12 2 add get moveto proc_diagram_xchartl_txt %END For All Colours last line %*********************************************************** /imM 199 def %maximum Munsell Colours /imO 039 def %maximum Ostwald Colours %***************************************** 0 setgray xchartl 0 eq {%xchartl=0 %(x,y) %only for xchartl=0 proc_chromaticity proc_chromaticity_lines /fakt 4000 def /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic xchart3 0 eq {%xchart3=0 %BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 AnYi i XANMi i kV40 add get fakt mul put %x BnYi i YANMi i kV40 add get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath XANWL fakt mul YANWL fakt mul 40 0 360 arc stroke xchart5 2 eq {%xchart5=2 %+TELi XANWL fakt mul 200 sub 150 add YANWL fakt mul 500 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi xchart5 3 eq {%xchart5=3 %+V=1..9 1250 550 add 1316 250 add moveto (1) show 1250 350 add 1316 100 add moveto (2) show 1250 200 add 1316 050 add moveto (5) show } if %xchart5=3 %+V=1..9 } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 0 0 setrgbcolor 0 1 39 {/i exch def %i=0,39 AnYi i XANOi i get fakt mul put %x BnYi i YANOi i get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans0 neg ytrans0 neg translate %for scala and graphi } if %xchartl=0 %************************ %Special coordinate system for (Ax,Bx) digrams*************** %***************** xchartl 1 ge {%xchartl>=1 /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic %axis and scales 0 0 0 1 setcmyk_olvcolor -2250 0 moveto 3950 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1700 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-40) ( ) ( ) ( ) ( 40)] def /yt10x [(-40) ( ) ( ) ( ) (40)] def /fakt 40 def %default xchart3 0 eq {/xt10x [(-10) ( ) ( ) ( ) ( 10)] def /yt10x [(-10) ( ) ( ) ( ) (10) ] def} if %xchart3=0 %Munsell 0 0 0 1 setcmyk_olvcolor 0 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {%i=4 -1600 i 800 mul add 0 moveto -100 150 rmoveto TBIM (A) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1600 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {%i=4 -100 -1600 i 800 mul add moveto -250 150 rmoveto TBIM (B) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl>=1 %********************************************************** xchartl 1 eq {%xchartl=1 %(A0,B0) (a=x/y, b=-0.4*z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl=1 %(A0,B0) %***************************************************************** xchartl 2 eq {%xchartl=2 %(A1,B1) (a1=[x-XANT]/y, b1=z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans2 3500 def /ytrans2 2000 def xtrans2 ytrans2 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (T1) ib6 TBS (=) show 1.0 cvsshow3x (, ) show TBIS (b) show (T1) ib6 TBS (=) show XANT cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans2 neg ytrans2 neg translate %for scala and graphic } if %xchartl=2 %(A1,B1) %************************ xchartl 3 eq {%xchartl=1 %(A2,B2) (a2=x/y, b2=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans3 3500 def /ytrans3 2000 def xtrans3 ytrans3 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans3 neg ytrans3 neg translate %for scala and graphic } if %xchartl=3 %(A2,B2) %************************ xchartl 4 eq {%xchartl=04 %(A3,B3) (a3=[x-XANT]/y, b3=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans4 3500 def /ytrans4 2000 def xtrans4 ytrans4 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans4 neg ytrans4 neg translate %for scala and graphic } if %xchartl=4 %(A3,B3) %************************ xchartl 5 eq {%xchartl=5 %(A4,B4) (a4=(x-XANT)/y, b4=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans5 3500 def /ytrans5 2000 def xtrans5 ytrans5 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans5 neg ytrans5 neg translate %for scala and graphic } if %xchartl=5 %(A4,B4) %************************ xchartl 6 eq {%xchartl=6 %(A5,B5) (a5=[x-XANT]/y, b5=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def /xtrans6 3500 def /ytrans6 2000 def xtrans6 ytrans6 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (a) show (2x) ib6 TBS ([\050+) show A51 cvsshow2x TBIS (x) show TBS A52 cvsshow2x TBIS (y) show TBS A53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (b) show (2x) ib6 TBS ([\050+) show B51 cvsshow2x TBIS (x) show TBS (+) show B52 cvsshow2x TBIS (y) show TBS B53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (2x) ib6 TBS ( = ) show a2x cvsshow2x (, ) show TBIS (b) show (2x) ib6 TBS ( = ) show b2x cvsshow2x -3400 iyT idyT 7 mul sub moveto SS (l) show (B,G,Y,R) ib6 TBS (=475,503,574,494c,E nm) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get A51 mul YANMi ikV40 get A52 mul add A53 add YANMi ikV40 get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANMi ikV40 get B51 mul YANMi ikV40 get B52 mul add B53 add YANMi ikV40 get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get A51 mul YANOi i get A52 mul add A53 add YANOi i get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANOi i get B51 mul YANOi i get B52 mul add B53 add YANOi i get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans6 neg ytrans6 neg translate %for scala and graphic } if %xchartl=6 %(A5,B5) %************************ xchartl 7 eq {%xchartl=7 %(A6,B6) (a6=x/y, b6=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans7 3500 def /ytrans7 2000 def xtrans7 ytrans7 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans7 neg ytrans7 neg translate %for scala and graphic } if %xchartl=7 } if %xchart10=1 long loop 1700 lines! %END 'CL70'Y11_XCHART1A_1.PS %*************************************************************** %END INC Y11_XCHART10_0/1/2.PS %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 08 MM sub 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 http://farbe.li.tu-berlin.de/DG41/DG411-1A_3N 20180221 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark17 where {pop} {userdict /pdfmark17 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark17 [ /View [ /Fit ] /DOCVIEW pdfmark17 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SV {160 /Symbol FS} bind def /CV {160 /Courier-ISOL1 FS} bind def /CS {200 /Courier-ISOL1 FS} bind def /CK {240 /Courier-ISOL1 FS} bind def /CM {280 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBV {160 /CourierB-ISOL1 FS} bind def /CBS {200 /CourierB-ISOL1 FS} bind def /CBK {240 /CourierB-ISOL1 FS} bind def /CBM {280 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /ns {350 /Times-ISOL1 FS show} bind def /ks {350 /TimesI-ISOL1 FS show} bind def /bs {350 /TimesB-ISOL1 FS show} bind def /js {350 /TimesBI-ISOL1 FS show} bind def /sy {350 /Symbol FS show} bind def /is {280 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /es {280 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ib {280 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eb {280 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ip {280 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /ns2 {280 /Times-ISOL1 FS show TM} bind def /ks2 {280 /TimesI-ISOL1 FS show TM} bind def /bs2 {280 /TimesB-ISOL1 FS show TM} bind def /js2 {280 /TimesBI-ISOL1 FS show TM} bind def /sy2 {280 /Symbol FS show TM} bind def /is2 {240 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {240 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {240 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {240 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {240 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def /iy2 {240 /Symbol FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def %40% kleiner /ns4 {240 /Times-ISOL1 FS show TK} bind def /ks4 {240 /TimesI-ISOL1 FS show TK} bind def /bs4 {240 /TimesB-ISOL1 FS show TK} bind def /js4 {240 /TimesBI-ISOL1 FS show TK} bind def /ss4 {240 /Symbol FS show TK} bind def /is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def /iy4 {200 /Symbol FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def %60% kleiner /ns6 {200 /Times-ISOL1 FS show TS} bind def /ks6 {200 /TimesI-ISOL1 FS show TS} bind def /bs6 {200 /TimesB-ISOL1 FS show TS} bind def /js6 {200 /TimesBI-ISOL1 FS show TS} bind def /ss6 {200 /Symbol FS show TS} bind def /is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /es6 {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eb6 {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def /iy6 {160 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /cvicvs {cvi 6 string cvs} def /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.1234/99.0123/99.0010/99.0001 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10000 mul cvi /nxi exch def %nxi=991234/990123/990010/990000 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=1234/0123/0010/0001 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=1234/0123/0010/0001 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def /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 %************************************************* /proc_CIE_LMS0 {%BEG proc_CIE_LMS0 %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %Combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F02i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F10i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /FF02i 320 array def %80x4 CIE_F02 fundamental observer /FF10i 320 array def %80x4 CIE_F10 fundamental observer /FAi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /XZAi 17 array def /YZAi 17 array def /ZZAi 17 array def /XANZAi 17 array def /YANZAi 17 array def /ZANZAi 17 array def /FXAi 80 array def %unnormiert /FYAi 80 array def /FZAi 80 array def /FXNi 80 array def %Y-normiert /FYNi 80 array def /FZNi 80 array def /FXMi 80 array def %XYZ-normiert /FYMi 80 array def /FZMi 80 array def %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F02i CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 %400nm: 0.0143 0.0003 0.0678 /F02i %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 %X:380_775 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 %700:0.0113 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 %Y:380_775 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 %700: 0.0041 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 %Z:380-775 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10i %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /FF02i [%BEG FF02i Colour matching functions 5nm 02-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 3.769647E-03 4.146161E-04 1.847260E-02 %=390 385 3.769647E-03 4.146161E-04 1.847260E-02 %=390 390 3.769647E-03 4.146161E-04 1.847260E-02 395 9.382967E-03 1.059646E-03 4.609784E-02 400 2.214302E-02 2.452194E-03 1.096090E-01 405 4.742986E-02 4.971717E-03 2.369246E-01 410 8.953803E-02 9.079860E-03 4.508369E-01 415 1.446214E-01 1.429377E-02 7.378822E-01 420 2.035729E-01 2.027369E-02 1.051821E+00 425 2.488523E-01 2.612106E-02 1.305008E+00 430 2.918246E-01 3.319038E-02 1.552826E+00 435 3.227087E-01 4.157940E-02 1.748280E+00 440 3.482554E-01 5.033657E-02 1.917479E+00 445 3.418483E-01 5.743393E-02 1.918437E+00 450 3.224637E-01 6.472352E-02 1.848545E+00 455 2.826646E-01 7.238339E-02 1.664439E+00 460 2.485254E-01 8.514816E-02 1.522157E+00 465 2.219781E-01 1.060145E-01 1.428440E+00 470 1.806905E-01 1.298957E-01 1.250610E+00 475 1.291920E-01 1.535066E-01 9.991789E-01 480 8.182895E-02 1.788048E-01 7.552379E-01 485 4.600865E-02 2.064828E-01 5.617313E-01 490 2.083981E-02 2.379160E-01 4.099313E-01 495 7.097731E-03 2.850680E-01 3.105939E-01 500 2.461588E-03 3.483536E-01 2.376753E-01 505 3.649178E-03 4.277595E-01 1.720018E-01 510 1.556989E-02 5.204972E-01 1.176796E-01 515 4.315171E-02 6.206256E-01 8.283548E-02 520 7.962917E-02 7.180890E-01 5.650407E-02 525 1.268468E-01 7.946448E-01 3.751912E-02 530 1.818026E-01 8.575799E-01 2.438164E-02 535 2.405015E-01 9.071347E-01 1.566174E-02 540 3.098117E-01 9.544675E-01 9.846470E-03 545 3.804244E-01 9.814106E-01 6.131421E-03 550 4.494206E-01 9.890228E-01 3.790291E-03 555 5.280233E-01 9.994608E-01 2.327186E-03 560 6.133784E-01 9.967737E-01 1.432128E-03 565 7.016774E-01 9.902549E-01 8.822531E-04 570 7.967750E-01 9.732611E-01 5.452416E-04 575 8.853376E-01 9.424569E-01 3.386739E-04 580 9.638388E-01 8.963613E-01 2.117772E-04 585 1.051011E+00 8.587203E-01 1.335031E-04 590 1.109767E+00 8.115868E-01 8.494468E-05 595 1.143620E+00 7.544785E-01 5.460706E-05 600 1.151033E+00 6.918553E-01 3.549661E-05 605 1.134757E+00 6.270066E-01 2.334738E-05 610 1.083928E+00 5.583746E-01 1.554631E-05 615 1.007344E+00 4.895950E-01 1.048387E-05 620 9.142877E-01 4.229897E-01 0.000000E+00 625 8.135565E-01 3.609245E-01 0.000000E+00 630 6.924717E-01 2.980865E-01 0.000000E+00 635 5.755410E-01 2.416902E-01 0.000000E+00 640 4.731224E-01 1.943124E-01 0.000000E+00 645 3.844986E-01 1.547397E-01 0.000000E+00 650 2.997374E-01 1.193120E-01 0.000000E+00 655 2.277792E-01 8.979594E-02 0.000000E+00 660 1.707914E-01 6.671045E-02 0.000000E+00 665 1.263808E-01 4.899699E-02 0.000000E+00 670 9.224597E-02 3.559982E-02 0.000000E+00 675 6.639960E-02 2.554223E-02 0.000000E+00 680 4.710606E-02 1.807939E-02 0.000000E+00 685 3.292138E-02 1.261573E-02 0.000000E+00 690 2.262306E-02 8.661284E-03 0.000000E+00 695 1.575417E-02 6.027677E-03 0.000000E+00 700 1.096778E-02 4.195941E-03 0.000000E+00 705 7.608750E-03 2.910864E-03 0.000000E+00 710 5.214608E-03 1.995557E-03 0.000000E+00 715 3.569452E-03 1.367022E-03 0.000000E+00 720 2.464821E-03 9.447269E-04 0.000000E+00 725 1.703876E-03 6.537050E-04 0.000000E+00 730 1.186238E-03 4.555970E-04 0.000000E+00 735 8.269535E-04 3.179738E-04 0.000000E+00 740 5.758303E-04 2.217445E-04 0.000000E+00 745 4.058303E-04 1.565566E-04 0.000000E+00 750 2.856577E-04 1.103928E-04 0.000000E+00 755 2.021853E-04 7.827442E-05 0.000000E+00 760 1.438270E-04 5.578862E-05 0.000000E+00 765 1.024685E-04 3.981884E-05 0.000000E+00 770 7.347551E-05 2.860175E-05 0.000000E+00 775 5.259870E-05 2.051259E-05 0.000000E+00 %780 3.806114E-05 1.487243E-05 0.000000E+00 %785 2.758222E-05 1.080001E-05 0.000000E+00 %790 2.004122E-05 7.863920E-06 0.000000E+00 %795 1.458792E-05 5.736935E-06 0.000000E+00 %800 1.068141E-05 4.211597E-06 0.000000E+00 %805 7.857521E-06 3.106561E-06 0.000000E+00 %810 5.768284E-06 2.286786E-06 0.000000E+00 %815 4.259166E-06 1.693147E-06 0.000000E+00 %820 3.167765E-06 1.262556E-06 0.000000E+00 %825 2.358723E-06 9.422514E-07 0.000000E+00 %830 1.762465E-06 7.053860E-07 0.000000E+00 ] def %END CIEF_XYZ_02 Colour matching functions 5nm 02-degree /FF10i [%BEG CIEF_XYZ_10 Colour matching functions 5nm 10-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 2.952420E-03 4.076779E-04 1.318752E-02 %=390 385 2.952420E-03 4.076779E-04 1.318752E-02 %=390 390 2.952420E-03 4.076779E-04 1.318752E-02 395 7.641137E-03 1.078166E-03 3.424588E-02 400 1.879338E-02 2.589775E-03 8.508254E-02 405 4.204986E-02 5.474207E-03 1.927065E-01 410 8.277331E-02 1.041303E-02 3.832822E-01 415 1.395127E-01 1.712968E-02 6.568187E-01 420 2.077647E-01 2.576133E-02 9.933444E-01 425 2.688989E-01 3.529554E-02 1.308674E+00 430 3.281798E-01 4.698226E-02 1.624940E+00 435 3.693084E-01 6.047429E-02 1.867751E+00 440 4.026189E-01 7.468288E-02 2.075946E+00 445 4.042529E-01 8.820537E-02 2.132574E+00 450 3.932139E-01 1.039030E-01 2.128264E+00 455 3.482214E-01 1.195389E-01 1.946651E+00 460 3.013112E-01 1.414586E-01 1.768440E+00 465 2.534221E-01 1.701373E-01 1.582342E+00 470 1.914176E-01 1.999859E-01 1.310576E+00 475 1.283167E-01 2.312426E-01 1.010952E+00 480 7.593120E-02 2.682271E-01 7.516389E-01 485 3.836770E-02 3.109438E-01 5.549619E-01 490 1.400745E-02 3.554018E-01 3.978114E-01 495 3.446810E-03 4.148227E-01 2.905816E-01 500 5.652072E-03 4.780482E-01 2.078158E-01 505 1.561956E-02 5.491344E-01 1.394643E-01 510 3.778185E-02 6.248296E-01 8.852389E-02 515 7.538941E-02 7.012292E-01 5.824484E-02 520 1.201511E-01 7.788199E-01 3.784916E-02 525 1.756832E-01 8.376358E-01 2.431375E-02 530 2.380254E-01 8.829552E-01 1.539505E-02 535 3.046991E-01 9.233858E-01 9.753000E-03 540 3.841856E-01 9.665325E-01 6.083223E-03 545 4.633109E-01 9.886887E-01 3.769336E-03 550 5.374170E-01 9.907500E-01 2.323578E-03 555 6.230892E-01 9.997775E-01 1.426627E-03 560 7.123849E-01 9.944304E-01 8.779264E-04 565 8.016277E-01 9.848127E-01 5.408385E-04 570 8.933408E-01 9.640545E-01 3.342429E-04 575 9.721304E-01 9.286495E-01 2.076129E-04 580 1.034327E+00 8.775360E-01 1.298230E-04 585 1.106886E+00 8.370838E-01 8.183954E-05 590 1.147304E+00 7.869950E-01 5.207245E-05 595 1.160477E+00 7.272309E-01 3.347499E-05 600 1.148163E+00 6.629035E-01 2.175998E-05 605 1.113846E+00 5.970375E-01 1.431231E-05 610 1.048485E+00 5.282296E-01 9.530130E-06 615 9.617111E-01 4.601308E-01 6.426776E-06 620 8.629581E-01 3.950755E-01 0.000000E+00 625 7.603498E-01 3.351794E-01 0.000000E+00 630 6.413984E-01 2.751807E-01 0.000000E+00 635 5.290979E-01 2.219564E-01 0.000000E+00 640 4.323126E-01 1.776882E-01 0.000000E+00 645 3.496358E-01 1.410203E-01 0.000000E+00 650 2.714900E-01 1.083996E-01 0.000000E+00 655 2.056507E-01 8.137687E-02 0.000000E+00 660 1.538163E-01 6.033976E-02 0.000000E+00 665 1.136072E-01 4.425383E-02 0.000000E+00 670 8.281010E-02 3.211852E-02 0.000000E+00 675 5.954815E-02 2.302574E-02 0.000000E+00 680 4.221473E-02 1.628841E-02 0.000000E+00 685 2.948752E-02 1.136106E-02 0.000000E+00 690 2.025590E-02 7.797457E-03 0.000000E+00 695 1.410230E-02 5.425391E-03 0.000000E+00 700 9.816228E-03 3.776140E-03 0.000000E+00 705 6.809147E-03 2.619372E-03 0.000000E+00 710 4.666298E-03 1.795595E-03 0.000000E+00 715 3.194041E-03 1.229980E-03 0.000000E+00 720 2.205568E-03 8.499903E-04 0.000000E+00 725 1.524672E-03 5.881375E-04 0.000000E+00 730 1.061495E-03 4.098928E-04 0.000000E+00 735 7.400120E-04 2.860718E-04 0.000000E+00 740 5.153113E-04 1.994949E-04 0.000000E+00 745 3.631969E-04 1.408466E-04 0.000000E+00 750 2.556624E-04 9.931439E-05 0.000000E+00 755 1.809649E-04 7.041878E-05 0.000000E+00 760 1.287394E-04 5.018934E-05 0.000000E+00 765 9.172477E-05 3.582218E-05 0.000000E+00 770 6.577532E-05 2.573083E-05 0.000000E+00 775 4.708916E-05 1.845353E-05 0.000000E+00 %780 3.407653E-05 1.337946E-05 0.000000E+00 %785 2.469630E-05 9.715798E-06 0.000000E+00 %790 1.794555E-05 7.074424E-06 0.000000E+00 %795 1.306345E-05 5.160948E-06 0.000000E+00 %800 9.565993E-06 3.788729E-06 0.000000E+00 %805 7.037621E-06 2.794625E-06 0.000000E+00 %810 5.166853E-06 2.057152E-06 0.000000E+00 %815 3.815429E-06 1.523114E-06 0.000000E+00 %820 2.837980E-06 1.135758E-06 0.000000E+00 %825 2.113325E-06 8.476168E-07 0.000000E+00 %830 1.579199E-06 6.345380E-07 0.000000E+00 ] def %END CIEF_XYZ_10 Colour matching functions 5nm 10-degree xchart13 0 eq {%xchart13=0 %02 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F02i i get put } for %i=0,1,239 } if %xchart13=0 xchart13 1 eq {%xchart13=1 %10 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F10i i get put } for %i=0,1,239 } if %xchart13=1 xchart13 2 eq {%xchart13=2 %02 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF02i i4 1 add get put FAi 80 i add FF02i i4 2 add get put FAi 160 i add FF02i i4 3 add get put } for %i=0,1,79 } if %xchart13=2 xchart13 3 eq {%xchart13=3 %10 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF10i i4 1 add get put FAi 80 i add FF10i i4 2 add get put FAi 160 i add FF10i i4 3 add get put } for %i=0,1,79 } if %xchart13=3 xchart13 4 ge {%xchart13>=4 /CY 0.35 def /CY2 1.00 def /CX 50 def /W0 570 def /W1 540 def /W2 440 def %new /ILT 0 def ILT 0 eq {/tsa 0.000 def} if ILT 1 eq {/tsa 0.010 def} if %actual 2 or 10-degree CIE standard observer E, 80 data, 380-775nm, delta=5nm /lE1j 80 array def /mE1j 80 array def /sE1j 80 array def /lESj 80 array def /mESj 80 array def /sESj 80 array def /XE1j 80 array def /YE1j 80 array def /ZE1j 80 array def /xanE1j 80 array def /yanE1j 80 array def /zanE1j 80 array def /XESj 80 array def /YESj 80 array def /ZESj 80 array def /xanESj 80 array def /yanESj 80 array def /zanESj 80 array def /Xmi 88 array def /Ymi 88 array def /Ymi0 88 array def /Ymi1 88 array def /Ymi2 88 array def /Ymi3 88 array def /sASjk 80 array def 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put Xmi i get W2 le {/YEXP Xmi i get W2 sub CX div dup mul CY2 mul neg def} {/YEXP 0.0001 def} ifelse /EYEXP 10 YEXP exp 0.0001 add def sASjk i EYEXP put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put %s later with media absortion correction /YEXP Xmi i get W2 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi2 i EYEXP put %l later with 2% linear blue cone attribute /YEXP Xmi i get W0 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi0 i EYEXP put %m symmetric with no change /YEXP Xmi i get W1 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi1 i EYEXP put %y linear 0.5 l + 0.5 m Ymi3 i Ymi0 i get Ymi1 i get add 0.5 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 %s with media absortion correction sESj i Ymi2 i get sASjk i get mul put %l with 2% linear s cone attribute lESj i Ymi0 i get sESj i get 0.02 mul add put %m symmetric with no change mESj i Ymi1 i get put } for %i=0,1,79 %Normalisation of LMS to 100 /fslES 0 def /fsmES 0 def /fssES 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumLMS /fslES fslES lESj i get add def /fsmES fsmES mESj i get add def /fssES fssES sESj i get add def } for %i=0,79 %0 1 79 {/i exch def %i=0,1,79 %no normalisation LMS, multiply with 100 for E00 % lESj i lESj i get put % mESj i mESj i get put % sESj i sESj i get put % } for %i=0,1,79 %0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 % lESj i lESj i get 100 mul put % mESj i mESj i get fsmES 0.0001 add div 100 mul put % sESj i sESj i get 100 mul put % } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 lESj i lESj i get fslES 0.0001 add div 21.18 mul put mESj i mESj i get fsmES 0.0001 add div 21.18 mul put sESj i sESj i get fssES 0.0001 add div 21.18 mul put } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 /A11 1.3200 def %LMS -> x /A12 -0.6600 def /A13 0.3400 def /A21 0.5000 def %LMS -> y /A22 0.5000 def /A23 0.0000 def /A31 0.0000 def %LMS -> z /A32 0.0000 def /A33 1.0000 def 0 1 79 {/i exch def %i=0,1,79 FAi i 000 add lESj i get A11 mul mESj i get A12 mul add sESj i get A13 mul add put FAi i 080 add lESj i get A21 mul mESj i get A22 mul add sESj i get A23 mul add put FAi i 160 add lESj i get A31 mul mESj i get A32 mul add sESj i get A33 mul add put } for %i=0,1,79 } if %xchart13>=4 %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOWi 82 array def /DOWZi 17 array def /F02Zi 51 array def /F10Zi 51 array def /FF02Zi 51 array def /FF10Zi 51 array def /LMS0Zi 51 array def /LMS1Zi 51 array def /FAZi 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOWi i 380 i 5 mul add put } for %i=0,79 /DOWZi %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def %'cl80'CIE_Z_CL80_85.TXT 180326 %CIE_02 CL800-7R.PDF /.PS and MACPS2PDF /F02Zi [%CIE_02 3x17 data 700 ... 400 0.0113 0.0114 0.0115 0.0116 0.0117 0.0118 0.0118 0.0119 0.0119 0.0119 0.0120 0.0121 0.0121 0.0123 0.0125 0.0129 0.0143 0.0041 0.0040 0.0038 0.0036 0.0035 0.0035 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0030 0.0028 0.0026 0.0020 0.0003 0.0000 0.0011 0.0051 0.0074 0.0093 0.0106 0.0117 0.0125 0.0134 0.0145 0.0155 0.0170 0.0191 0.0220 0.0272 0.0377 0.0678] def %CIE_10 CL810-7R.PDF /.PS and MACPS2PDF /F10Zi [%CIE_10 3x17 data 700 ... 400 0.0100 0.0105 0.0107 0.0109 0.0110 0.0111 0.0112 0.0113 0.0114 0.0116 0.0118 0.0120 0.0124 0.0130 0.0145 0.0191 0.0191 0.0037 0.0036 0.0035 0.0035 0.0035 0.0034 0.0034 0.0034 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0028 0.0020 0.0020 0.0000 0.0052 0.0074 0.0088 0.0101 0.0110 0.0120 0.0130 0.0140 0.0153 0.0170 0.0194 0.0229 0.0289 0.0425 0.0859 0.0860] def %CIE_F02 CL820-7R.PDF /.PS and MACPS2PDF /FF02Zi [%CIE_F02 3x17 data 700 ... 400 0.0109 0.0113 0.0116 0.0118 0.0120 0.0121 0.0122 0.0123 0.0124 0.0125 0.0126 0.0128 0.0130 0.0134 0.0140 0.0155 0.0221 0.0041 0.0041 0.0040 0.0040 0.0040 0.0040 0.0039 0.0039 0.0039 0.0039 0.0039 0.0039 0.0038 0.0038 0.0037 0.0034 0.0024 0.0000 0.0035 0.0065 0.0088 0.0103 0.0116 0.0125 0.0133 0.0144 0.0155 0.0168 0.0185 0.0206 0.0242 0.0307 0.0448 0.1096] def %CIE_F10 CL830-7R.PDF /.PS and MACPS2PDF /FF10Zi [%CIE_F10 3x17 data 700 ... 400 0.0098 0.0104 0.0106 0.0107 0.0108 0.0109 0.0110 0.0111 0.0112 0.0114 0.0115 0.0118 0.0121 0.0128 0.0142 0.0187 0.0187 0.0037 0.0036 0.0036 0.0036 0.0036 0.0036 0.0036 0.0035 0.0035 0.0035 0.0035 0.0035 0.0034 0.0033 0.0031 0.0025 0.0025 0.0000 0.0057 0.0077 0.0090 0.0102 0.0112 0.0120 0.0128 0.0140 0.0152 0.0168 0.0191 0.0225 0.0283 0.0422 0.0849 0.0850] def %LMS_0.00 CL840-7R.PDF /.PS and MACPS2PDF /LMS0Zi [%LMS_17M3 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def %LMS_0.01 CL850-7R.PDF /.PS and MACPS2PDF identical CL840-7R.PDF /LMS1Zi [%LMS_17M4 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def 0 1 50 {/i exch def %i=0,50 xchart13 0 eq {FAZi i F02Zi i get put} if xchart13 1 eq {FAZi i F10Zi i get put} if xchart13 2 eq {FAZi i FF02Zi i get put} if xchart13 3 eq {FAZi i FF10Zi i get put} if xchart13 4 eq {FAZi i LMS0Zi i get put} if xchart13 5 eq {FAZi i LMS1Zi i get put} if } for %i=0,50 /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /Xi 82 array def /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /AAN1i 200 array def %actual data for plot, Munsell colours (M=1) /BAN1i 200 array def /AANXi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXi 200 array def /FXNZi 17 array def /FYNZi 17 array def /FZNZi 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 FXAi i FAi 00 i add get put FYAi i FAi 80 i add get put FZAi i FAi 160 i add get put } for %i=0,1,79 %STOPxx /XKSUM 0 def /YKSUM 0 def /ZKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /XKSUM XKSUM FXAi i get add def /YKSUM YKSUM FYAi i get add def /ZKSUM ZKSUM FZAi i get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXNi i FXAi i get YKSUM div 100 mul put FYNi i FYAi i get YKSUM div 100 mul put FZNi i FZAi i get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXMi i FXAi i get XKSUM div 100 mul put FYMi i FYAi i get YKSUM div 100 mul put FZMi i FZAi i get ZKSUM div 100 mul put } for %i=0,1,79 %STOPx 0 1 79 {/i exch def %i=0,80 %for any illuminant Xi i FXNi i get put Yi i FYNi i get put Zi i FZNi i get put /SUM FXNi i get FYNi i get add FZNi i get add 0.00001 add def XANi i FXNi i get SUM div put YANi i FYNi i get SUM div put ZANi i FZNi i get SUM div put } for %i=0,79 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZi i FAZi 00 i add get 100 mul YKSUM div 100 mul put FYNZi i FAZi 17 i add get 100 mul YKSUM div 100 mul put FZNZi i FAZi 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZi i get put YZi i FYNZi i get put ZZi i FZNZi i get put /SUMZ FXNZi i get FYNZi i get add FZNZi i get add def XANZi i FXNZi i get SUMZ div put YANZi i FYNZi i get SUMZ div put ZANZi i FZNZi i get SUMZ div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXNi i get add def /YW YW FYNi i get add def /ZW ZW FZNi i get add def } for %i=0,79 /SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANW XW SUMW FL add div def /YANW YW SUMW FL add div def /ZANW ZW SUMW FL add div def K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.8859 mul def /YK YW 0.8859 mul def /ZK ZW 0.8859 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANW def /YANWL YANW def /ZANWL ZANW def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYi 80 array def /BnYi 80 array def } bind def %END proc_CIE_LMS0 %**************************************************************** /proc_PDT_colours {%BEG proc_PDT_colours /l02Ii 77 array def /m02Ii 77 array def /s02Ii 77 array def /l02Mi 77 array def /m02Mi 77 array def /s02Mi 77 array def /X02Ii 77 array def /Y02Ii 77 array def /Z02Ii 77 array def /xan02Ii 77 array def /yan02Ii 77 array def /zan02Ii 77 array def /X02Mi 77 array def /Y02Mi 77 array def /Z02Mi 77 array def /xan02Mi 77 array def /yan02Mi 77 array def /zan02Mi 77 array def /ycuri 77 array def /l02Mi [ %LMS2.TXT %L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm 4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400 4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2 2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450 5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1 1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500 3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1 7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550 9.657395e-1 9.814541e-1 9.944890e-1 1 9.923160e-1 9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600 7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1 4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650 1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2 2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700 4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4 6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750 1.095065e-4 7.799195e-5 ] def /m02Mi [ %M2.DAT 3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400 4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2 3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450 9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1 2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500 5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1 9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95? 9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1 6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600 2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2 6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650 1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3 1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700 2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5 4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750 7.822762e-6 5.690886e-6 ] def /s02Mi [ %S2.DAT CIE 171.1:2006 9.547289e-3 9.547289e-3 9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410 3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1 9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460 7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1 2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510 4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560 4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5 4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610 5.418387e-6 0 0 0 0 0 0 0 0 0 %650 0 0 0 0 0 0 0 0 0 0 %700 0 0 0 0 0 0 0 0 0 0 %750 0 0 ] def %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23 /A11 1.94735469 def /A12 -1.41445123 def /A13 0.36476327 def /A21 0.68990272 def /A22 0.34832189 def /A33 1.93485343 def /fsl02Mi 0 def /fsm02Mi 0 def /fss02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Mi fsl02Mi l02Mi i get add def /fsm02Mi fsm02Mi m02Mi i get add def /fss02Mi fss02Mi s02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung LMS l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put m02Ii i m02Mi i get put s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put } for %i=0,76 /fsl02Ii 0 def /fsm02Ii 0 def /fss02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Ii fsl02Ii l02Ii i get add def /fsm02Ii fsm02Ii m02Ii i get add def /fss02Ii fss02Ii s02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 X02Ii i l02Mi i get A11 mul m02Mi i get A12 mul add s02Mi i get A13 mul add put Y02Ii i l02Mi i get A21 mul m02Mi i get A22 mul add put Z02Ii i s02Mi i get A33 mul put } for %i=0,76 /fsX02Ii 0 def /fsY02Ii 0 def /fsZ02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzIi /fsX02Ii fsX02Ii X02Ii i get add def /fsY02Ii fsY02Ii Y02Ii i get add def /fsZ02Ii fsZ02Ii Z02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ X02Mi i X02Ii i get 1.1510330 div put %max 600nm Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm } for %i=0,76 /fsX02Mi 0 def /fsY02Mi 0 def /fsZ02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzMi /fsX02Mi fsX02Mi X02Mi i get add def /fsY02Mi fsY02Mi Y02Mi i get add def /fsZ02Mi fsZ02Mi Z02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 xyzan /sumXYZ X02Ii i get Y02Ii i get add Z02Ii i get add def xan02Ii i X02Ii i get sumXYZ div put yan02Ii i Y02Ii i get sumXYZ div put zan02Ii i Z02Ii i get sumXYZ div put } for %i=0,76 } bind def %END proc_PDT_colours %************************************************* %STOP4 /proc_Munsell_colours {%BEG proc_Munsell_colours %calculation of transformation data /FARBE 27 array def /FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00 () () () %01 (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02 () () () %03 (L* about 10, 20, 50, 80, 90) () () %04 () () () %05 () () () %06 () () () %07 () () () %08 ] def %Input /xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data /xy_MUNSELL %BEG xy_MUNSELL [%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9 % 05 % 1 40 1 1 VALUE1 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296 % 1 40 02 2 VALUE2 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583 % 1 40 05 3 VALUE5 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912 % 1 40 08 4 VALUE8 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040 % 1 40 09 5 VALUE9 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051 ] def %END xy_MUNSELL /Y_MUNSELL 5 array def %5 Y*1000 data /Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100 [12100 31300 197700 591000 786600] def %here 4 decimal places! /xy_MUNSELL_C 2 array def %2 xy*1000 data /xy_MUNSELL_C %BEG xy_MUNSELL_C [3101 3162] def %END xy_MUNSELL_C /xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8 /xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex [% 1 01 2 4CR=2EX 3149 3086 % 1 01 5 5CR=2EX 3142 3234 % 1 01 8 6CR=2EX 3144 3275 ] def %END xy_MUNSELL_Ex %M=Munsell /XMi 200 array def %5*40 colour of chroma 2 /YMi 200 array def /ZMi 200 array def /XANMi 200 array def /YANMi 200 array def /ZANMi 200 array def /AANMi 200 array def /BANMi 200 array def 0 0 0 1 setcmykcolor /fscale 0.0001 def 0 1 199 {/k exch def %k=0,199 /k2 k 2 mul def XANMi k xy_MUNSELL k2 0 add get fscale mul put YANMi k xy_MUNSELL k2 1 add get fscale mul put ZANMi k 1. XANMi k get sub YANMi k get sub put /kV k 40 idiv def /YVALUE Y_MUNSELL kV get fscale mul def YMi k YVALUE put /SUMY YVALUE YANMi k get div def XMi k SUMY XANMi k get mul put ZMi k SUMY ZANMi k get mul put } for %k=0,199 %*********************** %XWM,YWM,ZWM and XKW,YKW,ZKW for white /YANWM xy_MUNSELL_C 0 get fscale mul def /YANWM xy_MUNSELL_C 1 get fscale mul def /ZANWM 1. YANWM sub YANWM sub def /YWM 100. def /SUMWM YWM YANWM div def /XWM SUMWM YANWM mul def /ZWM SUMWM ZANWM mul def /XKM XWM def /YKM YWM def /ZKM ZWM def } bind def %END proc_Munsell_colours %************************************************************************* /proc_Ostwald_colours {%BEG proc_Ostwald_colours %Input %/FAi 240 array def %CIE_02, CIE_10, CIE_F02, CIE_F10, LMS_17M3 %/SX01 80 array def %380 bis 775 mit deltalambda=05 %/SX02 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX05 80 array def %380 bis 775 mit deltalambda=05 %/SX06 80 array def %380 bis 775 mit deltalambda=05 %/SX07 80 array def %380 bis 775 mit deltalambda=05 /WEL1i 60 array def %irregular definition /WEL2i 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1i [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def %Calculation /RAOi 80 array def %380 bis 770 nm /FAOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /FANOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /SDAKOi 80 array def %380 bis 775 mit deltalambda=05 /SX00Oi 80 array def %380 bis 775 mit deltalambda=05 /SX01Oi 80 array def %380 bis 775 mit deltalambda=05 /SX02Oi 80 array def %380 bis 775 mit deltalambda=05 /SX03Oi 80 array def %380 bis 775 mit deltalambda=05 /SX04Oi 80 array def %380 bis 775 mit deltalambda=05 /SX05Oi 80 array def %380 bis 775 mit deltalambda=05 /SX06Oi 80 array def %380 bis 775 mit deltalambda=05 /SX07Oi 80 array def %380 bis 775 mit deltalambda=05 %special wavelength range with complementary colours for E? /FXDOi 80 array def /FYDOi 80 array def /FZDOi 80 array def /DOWOi 80 array def /FADOi 80 array def /FBDOi 80 array def /FCDOi 80 array def %Results /XOi 80 array def %usually 40 Ostwald COLOURS /YOi 80 array def /ZOi 80 array def /XANOi 80 array def %usually 40 Ostwald COLOURS /YANOi 80 array def /ZANOi 80 array def 0 1 239 {/i exch def %i=0,239 FAOi i FAi i get put } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO FAOi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add FAOi 00 i add get YKSUM div 100 mul put FANOi 80 i add FAOi 80 i add get YKSUM div 100 mul put FANOi 160 i add FAOi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 SX00Oi i SX00 i get put SX01Oi i SX01 i get put SX02Oi i SX02 i get put SX03Oi i SX03 i get put SX04Oi i SX04 i get put SX05Oi i SX05 i get put SX06Oi i SX06 i get put SX07Oi i SX07 i get put } for %i=0,79 %STOP6 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAKOi i xchartx 0 eq {SX00Oi i get} if xchartx 1 eq {SX01Oi i get} if xchartx 2 eq {SX02Oi i get} if xchartx 3 eq {SX03Oi i get} if xchartx 4 eq {SX04Oi i get} if xchartx 5 eq {SX05Oi i get} if xchartx 6 eq {SX06Oi i get} if xchartx 7 eq {SX07Oi i get} if put } for %i=0,79 %STOP7 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get FAOi 80 i add get mul add def } for %i=0,1,79 %STOP8 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add SDAKOi i get FAOi 00 i add get mul YKSUM div 100 mul put FANOi 80 i add SDAKOi i get FAOi 80 i add get mul YKSUM div 100 mul put FANOi 160 i add SDAKOi i get FAOi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %STOP11 /FXNOi 80 array def %FXN 0 = F2N imax /FYNOi 80 array def /FZNOi 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXNOi i FANOi 000 i add get put FYNOi i FANOi 080 i add get put FZNOi i FANOi 160 i add get put } for %i=0,79 %XWO,YWO,ZWO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 /SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWO XWO SUMWO div def /YANWO YWO SUMWO div def /ZANWO ZWO SUMWO div def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXDOi i FXNOi 005 i add get put FYDOi i FYNOi 005 i add get put FZDOi i FZNOi 005 i add get put DOWOi i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXDOi 61 FXDOi 60 get put FYDOi 61 FYDOi 60 get put FZDOi 61 FZDOi 60 get put FXDOi 62 FXDOi 60 get put FYDOi 62 FYDOi 60 get put FZDOi 62 FZDOi 60 get put 0 1 62 {/i exch def %i=0,62 FADOi i FXDOi i get put FBDOi i FYDOi i get put FCDOi i FZDOi i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %STOP12 %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FADO,FBDO,FCDO, KNPO %output FWERTiX/Y/Z (i=1,4) KNP 1 ge {/FWERT1X FADOi KNP 1 sub get def /FWERT1Y FBDOi KNP 1 sub get def /FWERT1Z FCDOi KNP 1 sub get def} {/FWERT1X FADOi 0 get def %again 400nm for i=0 /FWERT1Y FBDOi 0 get def /FWERT1Z FCDOi 0 get def} ifelse /FWERT2X FADOi KNP get def /FWERT2Y FBDOi KNP get def /FWERT2Z FCDOi KNP get def /FWERT3X FADOi KNP 1 add get def /FWERT3Y FBDOi KNP 1 add get def /FWERT3Z FCDOi KNP 1 add get def /FWERT4X FADOi KNP 2 add get def /FWERT4Y FBDOi KNP 2 add get def /FWERT4Z FCDOi KNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1i k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXDOi j get def %start at 405..700nm /FF2 FYDOi j get def /FF3 FZDOi j get def /U1 XWO def /U2 YWO def /U3 ZWO def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add neg def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /KNP INP def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /KNP IPN def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RAOi i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RAOi i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RAOi i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RAOi i1 0.5 put RAOi i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /XO 0 def /YO 0 def /ZO 0 def 0 1 079 {/i exch def %i=0,79 /XO XO FANOi 00 i add get RAOi i get mul add def /YO YO FANOi 80 i add get RAOi i get mul add def /ZO ZO FANOi 160 i add get RAOi i get mul add def } for %i=0,79 /SUMO XO YO add ZO add def /XANO XO SUMO FL add div def /YANO YO SUMO FL add div def /ZANO ZO SUMO FL add div def %************************************************* 0 0 0 1 setcmykcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 XOi k XO put YOi k YO put ZOi k ZO put XANOi k XANO put YANOi k YANO put ZANOi k ZANO put }%Icom=0 {%Icom=1 /kP 20 k add def XOi kP XWO XO sub put YOi kP YWO YO sub put ZOi kP ZWO ZO sub put /SUMO XOi kP get YOi kP get add ZOi kP get add def XANOi kP XOi kP get SUMO FL add div put YANOi kP YOi kP get SUMO FL add div put ZANOi kP ZOi kP get SUMO FL add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 XOi k XOi k get 0.8859 mul put YOi k YOi k get 0.8859 mul put ZOi k ZOi k get 0.8859 mul put XOi kP XOi kP get 0.8859 mul put YOi kP YOi kP get 0.8859 mul put ZOi kP ZOi kP get 0.8859 mul put } if %K=1 } for %k=0,19 %************************************** %XWO,YWO,ZWO and XKO,YKO,ZKO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XKO XWO def /YKO YWO def /ZKO ZWO def }%K=0 {%K=1 /XKO XWO 0.8859 mul def /YKO YWO 0.8859 mul def /ZKO ZWO 0.8859 mul def } ifelse %K=1 /SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKO XKO SUMKO div def /YANKO YKO SUMKO div def /ZANKO ZKO SUMKO div def /XANWL XANWO def /YANWL YANWO def /ZANWL ZANWO def } bind def %END proc_Ostwald_colours %********************************************************************** %**************************************************************** %allways /proc_DEF_colours {%BEG proc_DEF_colours %Colour Deficiencies /ip1 700 380 sub 5 idiv def %ip=64:700nm /XANP1 XANi ip1 get def /YANP1 YANi ip1 get def /ZANP1 ZANi ip1 get def /id1 505 380 sub 5 idiv def %ip=25:505nm /XAND1 XANi id1 get def /YAND1 YANi id1 get def /ZAND1 ZANi id1 get def /it1 400 380 sub 5 idiv def %ip=4:400nm /XANT1 XANi it1 get def /YANT1 YANi it1 get def /ZANT1 ZANi it1 get def %************************* /XANP XANP1 def /YANP YANP1 def /ZANP ZANP1 def /XAND 1.000 def /YAND 0.001 def /ZAND 0.999 def /XANT 0.171 def /YANT 0.001 def /ZANT 1.000 XANT sub YANT sub def %************************* /XAN00 0.3333 def %Illuminant E /YAN00 0.3333 def /mP YAN00 YANP sub XAN00 XANP sub div def %700nm /bP YAN00 XAN00 mP mul sub def /mD YAN00 YAND sub XAN00 XAND sub div def %xx /bD YAN00 XAN00 mD mul sub def /mT YAN00 YANT sub XAN00 XANT sub div def %xx /bT YAN00 XAN00 mT mul sub def %************************* /mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm /bP1 YAN00 XAN00 mP1 mul sub def %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /XAND1 XANZi i get def /YAND1 YANZi i get def /mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm /bD1 YAN00 XAN00 mD1 mul sub def /mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm /bT1 YAN00 XAN00 mT1 mul sub def /ishow {0 -40 rmoveto show 0 40 rmoveto} def /eshow {0 60 rmoveto show 0 -60 rmoveto} def /imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def /imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def /iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def } bind def %END proc_DEF_colours %allways if xchart6>=1 /proc_chromaticity {%BEG proc_chromaticity %chromaticity definitions xchartl 0 eq {%xchartl=0 %(x,y) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get put BANi i YANi i get put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 def /BANP1 YANP1 def /AAND1 XAND1 def /BAND1 YAND1 def /AANT1 XANT1 def /BANT1 YANT1 def /AANP XANP def /BANP YANP def /AAND XAND def /BAND YAND def /AANT XANT def /BANT YANT def %ACHROMATIC COLOUR /AANWL XANWL def /BANWL YANWL def /AANWC XANWC def /BANWC YANWC def } if %xchartl=0 %only for (x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=1 %only for (a0,b0) %***************** xchartl 2 eq {%xchartl=2 %(a1,b1) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=2 %only for (a1,b1) %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=3 %only for (a2,b2) %***************** xchartl 4 eq {%xchartl=4 %(a3,b3) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=4 %only for (a3,b3) %***************** xchartl 5 eq {%xchartl=5 %(a4,b4) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=5 %only for (a4,b4) %***************** xchartl 6 eq {%xchartl=6 %(a5,b5) /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def 0 1 79 {/i exch def %i=0,79 AANi i XANi i get A51 mul YANi i get A52 mul add A53 add YANi i get FL add div a2x mul put BANi i XANi i get B51 mul YANi i get B52 mul add B53 add YANi i get FL add div b2x mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get A51 mul YANZi i get A52 mul add A53 add YANZi i get FL add div a2x mul put BANZi i XANZi i get B51 mul YANZi i get B52 mul add B53 add YANZi i get FL add div b2x mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div a2x mul def /BANWL XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div b2x mul def /AANWC XANWC A51 mul YANWC A52 mul add A53 add YANWC FL add div a2x mul def /BANWC XANWC B51 mul YANWC B52 mul add B53 add YANWC FL add div b2x mul def } if %xchartl=6 %only for (a5,b5) %***************** xchartl 7 eq {%xchartl=7 %(a6,b6) %a=x/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=7 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_coor {%BEG proc_xaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1<=7 TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 3 eq or xchartl 7 eq or {%xchartl=1,3,7 TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,3,7 xchartl 2 eq xchartl 4 eq or xchartl 5 eq or {%xchartl=2,4,5 TBS (=\050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-0,171\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl#2,4,5 xchartl 6 eq {%xchartl=6 TBS (=\0508,61) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-7,20) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-0,269\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart=0,#0 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1,7 TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 2 eq or {%xchartl=1,2 TBS (=-0,40) show TBIS (z) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,2 xchartl 3 eq xchartl 5 eq or {%xchartl=3,5 TBS (=\050) show mP1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=3,5 xchartl 4 eq xchartl 7 eq or {%xchartl=4,7 TBS (=\050) show mD1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=4,7 xchartl 6 eq {%xchartl=6 TBS (=\0501,99) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+3,86) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-2,40\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart#0 } bind def %END proc_yaxis_xchartl_coor %********************************************************* /proc_chromaticity_lines {%BEG proc_chromaticity_lines for xchart6>=1 %chromaticity lines and with names for xchart6=2 xchartl 0 eq {%xchartl=0 %(x,y) /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolor 0 eq {(CIE 1931) show} if xcolor 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 M 0 000 000 (545) %33 1 050 050 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 L 1 050 050 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 100 -50 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 100 -50 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf XANWL fakt mul def /BANWLf YANWL fakt mul def /AANWCf XANWC fakt mul def /BANWCf YANWC fakt mul def /i 400 380 sub 5 idiv def %4 T /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0.5 0 0.5 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS /i 450 380 sub 5 idiv def %14 S /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S /i 475 380 sub 5 idiv def %18 B /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be (Lc) AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4 /i 495 380 sub 5 idiv def %23 Rc /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S) AANF 120 add BANF 400 sub moveto TIK (M) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 505 380 sub 5 idiv def %26 505c,E /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S) AANF 250 add BANF 300 sub moveto TIK (V') show 0 0 0 setrgbcolor AANF 050 add BANF 550 sub moveto TIK (V) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 520 380 sub 5 idiv def %28 G /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B) AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4 1 1 0 setrgbcolor AANF 100 sub BANF 700 sub moveto TIK (Y) show (l) iy4 TK (=) show 0 0 1 setrgbcolor TIK (B) show (l) iy4 /i 540 380 sub 5 idiv def %32 M /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %540 M AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4 /i 555 380 sub 5 idiv def %35 V /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M) AANF 000 add BANF 000 add moveto TIK (V) show (m) is4 /i 570 380 sub 5 idiv def %38 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %570 L %AANF 250 sub BANF 200 sub moveto TIK (Y) show %0 0 0 setrgbcolor AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4 /i 575 380 sub 5 idiv def %39 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %575 L AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4 /i 700 380 sub 5 idiv def %64 R /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %700 AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4 %Protanop PL 1 0 0 setrgbcolor AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans0 neg ytrans0 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=0 %(x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) %STOP9 /xtrans1a 0500 def /xtrans1 1300 def /ytrans1 3200 def xtrans1a ytrans1 translate 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans1a neg ytrans1 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans1 ytrans1 translate /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 1 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 200 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0050 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans1 neg ytrans1 neg translate %ENDE: 2 } if %xchartl=1 %(a0,b0) %*********************************************************** xchartl 2 eq {%xchartl=2 (a1,b1) /xtrans2a 0500 def /xtrans2 1300 def /ytrans2 3200 def xtrans2a ytrans2 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans2a neg ytrans2 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans2 ytrans2 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -250 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans2 neg ytrans2 neg translate %for text and grafic %ENDE: 2 } if %xchartl=2 %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) /xtrans3a 0500 def /xtrans3 1300 def /ytrans3 3200 def xtrans3a ytrans3 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans3a neg ytrans3 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans3 ytrans3 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 100 -050 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1700 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 0500 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0250 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans3 neg ytrans3 neg translate %for text and grafic %ENDE: 2 } if %xchartl=3 %*********************************************************** xchartl 4 eq {%xchartl=4 %(a3,b3) /xtrans4a 0500 def /xtrans4 1300 def /ytrans4 3200 def xtrans4a ytrans4 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans4a neg ytrans4 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans4 ytrans4 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -280 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2100 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0550 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans4 neg ytrans4 neg translate %for text and grafic %ENDE: 2 } if %xchartl=4 %*********************************************************** xchartl 5 eq {%xchartl=5 %(a4,b4) /xtrans5a 0500 def /xtrans5 1300 def /ytrans5 3200 def xtrans5a ytrans5 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans5a neg ytrans5 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans5 ytrans5 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 -050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -050 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -300 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0800 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0700 0080 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0300 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 0050 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans5 neg ytrans5 neg translate %for text and grafic %ENDE: 2 } if %xchartl=5 %*********************************************************** xchartl 6 eq {%xchartl=6 %(a5,b5) /xtrans6a 0500 def /xtrans6 1300 def /ytrans6 3200 def xtrans6a ytrans6 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans6a neg ytrans6 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans6 ytrans6 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 0 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans6 neg ytrans6 neg translate %for text and grafic %ENDE: 2 } if %xchartl=6 %*********************************************************** xchartl 7 eq {%xchartl=7 %(a6,b6) /xtrans7a 0500 def /xtrans7 1300 def /ytrans7 3200 def xtrans7a ytrans7 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans7a neg ytrans7 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans7 ytrans7 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 newpath TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 newpath newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 newpath TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 newpath /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1800 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans7 neg ytrans7 neg translate %for text and grafic %ENDE: 2 } if %xchartl=7 } bind def %END proc_chromaticity_lines /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt /proc_tab1N {%BEG proc_tab1N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab1N %******************************************************** /proc_tab2N {%BEG proc_tab2N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab2N %********************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} %new {/xchart5 2 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %STOP1 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolor cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow gsave %XCHA01.PS END 5 /Times-ISOL1 FS %175 85 moveto (DG411-1A_3N) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale 30 setlinewidth %xchart3 0 def %with Munsell colours %xchart3 1 def %with Ostwald colours %xchart3 2 det %without any colour /xchart3 1 def %diagram 0:Munsell colours, 1:Ostwald colours, 2:- %xchart5 0 def %without marc illuminant and text %xchart5 1 def %with marc illuminant %xchart5 2 def %with marc illuminant and text /xchart5 2 def %0:-, 1:illuminant, 2:illuminant and text %xchart6 0 def %without chromaticity_lines %xchart6 1 def %with chromaticity_lines %xchart6 2 def %with chromaticity_lines and names /xchart6 2 def %0:-, 1:chromaticity_lines 2:chromaticity_lines & names %xchart7 0 def %Ostwald colours without Name or Y %xchart7 1 def %Ostwald colours with Name %xchart7 2 def %Ostwald colours with CIE Y /xchart7 2 def %0:-, 1:Name, 2:Y %xchartl with 0 1 2 3 4 5 6 7 %xchart8 0 def %0:Pxx (P60, P55, P50, P45, P40, P35, P30, P25) colours %xchart8 1 def %1:Dxx (D65, D50, P40, A00, E00, C00, P00, Q00) colours /xchart8 1 def %0:Pxx, 1:Dxx colours %xchart9 0 def %for Y10-7R.EPS -> Table XYZ, not used here %xchart9 1 def %for Y10-7R.EPS -> Table CAB, not used here %xchart9 2 def %for Y10-7R.EPS -> Table (a,b), not used here /xchart9 0 def %Table 0:(XYZ), 1:(CAB), 2(ab) %xchart10 0 def %for Y10G00NP.PS6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10G00NP.PS6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10G00NP.PS6.PS -> chroma (A*i,B*i) /xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) %xchart13 0 def %CIE_02 %xchart13 1 def %CIE_10 %xchart13 2 def %CIE_F02 %xchart13 3 def %CIE_F10 %xchart13 4 def %LMS_17M3 %xchart13 5 def %LMS_17M4 /xchart13 4 def %xchart13=4(CIE_42),1(CIE_14),2(CIE_F42),3(CIE_F14),4/5 (model) %/xchart14 0 def %unnormiert %/xchart14 1 def %Yw-normiert %/xchart14 2 def %XYZw-normiert /xchart14 0 def %1:unnormiert, 2:Yw-normiert. 3:XYZw-normiert /posax 2700 def /posay 0550 def /posbx -350 def /posby -3150 def /FL 0.00001 def /Y18 18 def %grey background %/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i) /n1e 1.0000 def %allways %/n1e 0.3333 def %very special (a', b') xchart10 1 le {/n0e 1.0000 def} {/n0e 0.3333 def} ifelse gsave /xchartx xchart def 6 1 6 {/xchartx exch def %xchartx=0,7 %8 illuminants gsave 20 setlinewidth %0 0 11550 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey %0 0 11550 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz %STOP %allways proc_CIE_LMS0 %STOP1 proc_DEF_colours xchart3 0 eq {%BEG proc_Munsell_colours proc_Munsell_colours } if %END proc_Munsell_colours xchart3 1 eq {%BEG proc_Ostwald_colours proc_Ostwald_colours } if %END proc_Ostwald_colours %STOP2 /xchartl 05 def 00 1 00 {/xchartl exch def %xchartl=0,7 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto xchartl 7 le {(DG411-) show} {(DG411-) show} ifelse xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow} if xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow} if (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.3 setcmykcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 1.0 colrecst %frame black /xtexti 96 array def /ytexti 96 array def %BEG INC Y11_XCHART10_0/1/2.PS %line 5531 %******************************************************************** %BEG 'CL70'Y11_XCHART1A_1.PS FROM 'CL66'Y10-7R_66.EPS xchart10 1 eq {%xchart10=1 long loop 1700 lines! %/xxt -0.021 def /yyt -0.024 def %/xat 0.031 def /yat 0.029 def /xxt 0.000 def /yyt 0.000 def /xat 0.000 def /yat 0.000 def /proc_Yexp {%BEG proc_Yexp xchart10 0 eq {%chromaticity /Yexp 1 def } if %chromaticity xchart10 1 eq {%chromatic value xchart3 0 eq {%Munsell colours /Yexp YMi ikV40 get def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp YOi i get def } if %Ostwald colours } if %chromatic value xchart10 2 eq {%chroma xchart3 0 eq {%Munsell colours /Yexp Y18 YMi ikV40 get Y18 div n0e exp mul def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp Y18 YOi i get Y18 div n0e exp mul def } if %Ostwald colours } if %chroma } bind def %END proc_Yexp 0 0 0 1 setcmykcolor /xchart12 xchartl 12 mul def xchart3 0 eq {%xchart3=0 %Munsell_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Ostwald_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=1 %Ostwald_colours xchart3 1 eq xchartl 0 eq and {%xchart3=1 only for Ostwald colours and (x,y) xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name und Spektralbereich) showde %0DG411-7 00581 (Name and spectral range) showen %1DG411-7 00581 (Nombre y gama espectral) showes %2DG411-7 00581 (Nom et la gamma spectrale) showfr %3DG411-7 00581 (Nome e la gamma spettrale) showit %4DG411-7 00581 (Name and spectral range) showjp %5DG411-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBEO 0 get show TBV 0 -40 rmoveto FARBEO 1 get show 0 40 rmoveto TBIS FARBEO 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBEO 3 get show TBV 0 -40 rmoveto FARBEO 4 get show 0 40 rmoveto TBIS FARBEO 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBEO 6 get show TBV 0 -40 rmoveto FARBEO 7 get show 0 40 rmoveto TBIS FARBEO 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBEO 9 get show TBV 0 -40 rmoveto FARBEO 10 get show 0 40 rmoveto TBIS FARBEO 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBEO 12 get show TBV 0 -40 rmoveto FARBEO 13 get show 0 40 rmoveto TBIS FARBEO 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBEO 15 get show TBV 0 -40 rmoveto FARBEO 16 get show 0 40 rmoveto TBIS FARBEO 17 get show } if %xchart3=1 only for Ostwald colours TBS 0 0 0 1 setcmykcolor xchart3 0 eq {%xchart3=0 %Munsell_colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Munsell) show TBS (-System) showde %0DG411-7 02581 ( System) showea %1DG411-7 02581 TBIS (, Y) show (w) ib6 xcolor 1 eq {(,10) ib6} if TBS K 0 eq {(=100, ) show}{(=88,6, ) show} ifelse TELi xchartx get show xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (C=2, V=1, 2, 5, 8 & 9, ) show %0DG411-7 03581 TELi xchartx get show } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Optimal Colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Ostwald) showde TBS ( Farben (o)) showde %0DG411-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1DG411-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2DG411-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3DG411-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4DG411-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5DG411-7 02581 TBIS (, Y) show 0 -60 rmoveto (W) show 0 60 rmoveto TBS K 0 eq {(=100) show}{(=88,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (max (m) Buntwert, ) showde %0DG411-7 03581 (max (m) chromatic value, ) showen %1DG411-7 03581 (chromatic m\341x (m), ) showes %2DG411-7 03581 (max (m) chromatic valeur, ) showfr %3DG411-7 03581 (max (m) chromatic value, ) showit %4DG411-7 03581 (max (m) chromatic value, ) showjp %5DG411-7 03581 TELi xchartx get show } if %xchart3=1 %Optimal_colours %BEG For All Colours last line xtexti xchart12 2 add get ytexti xchart12 2 add get moveto proc_diagram_xchartl_txt %END For All Colours last line %*********************************************************** /imM 199 def %maximum Munsell Colours /imO 039 def %maximum Ostwald Colours %***************************************** 0 setgray xchartl 0 eq {%xchartl=0 %(x,y) %only for xchartl=0 proc_chromaticity proc_chromaticity_lines /fakt 4000 def /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic xchart3 0 eq {%xchart3=0 %BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 AnYi i XANMi i kV40 add get fakt mul put %x BnYi i YANMi i kV40 add get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath XANWL fakt mul YANWL fakt mul 40 0 360 arc stroke xchart5 2 eq {%xchart5=2 %+TELi XANWL fakt mul 200 sub 150 add YANWL fakt mul 500 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi xchart5 3 eq {%xchart5=3 %+V=1..9 1250 550 add 1316 250 add moveto (1) show 1250 350 add 1316 100 add moveto (2) show 1250 200 add 1316 050 add moveto (5) show } if %xchart5=3 %+V=1..9 } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 0 0 setrgbcolor 0 1 39 {/i exch def %i=0,39 AnYi i XANOi i get fakt mul put %x BnYi i YANOi i get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans0 neg ytrans0 neg translate %for scala and graphi } if %xchartl=0 %************************ %Special coordinate system for (Ax,Bx) digrams*************** %***************** xchartl 1 ge {%xchartl>=1 /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic %axis and scales 0 0 0 1 setcmyk_olvcolor -2250 0 moveto 3950 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1700 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-40) ( ) ( ) ( ) ( 40)] def /yt10x [(-40) ( ) ( ) ( ) (40)] def /fakt 40 def %default xchart3 0 eq {/xt10x [(-10) ( ) ( ) ( ) ( 10)] def /yt10x [(-10) ( ) ( ) ( ) (10) ] def} if %xchart3=0 %Munsell 0 0 0 1 setcmyk_olvcolor 0 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {%i=4 -1600 i 800 mul add 0 moveto -100 150 rmoveto TBIM (A) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1600 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {%i=4 -100 -1600 i 800 mul add moveto -250 150 rmoveto TBIM (B) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl>=1 %********************************************************** xchartl 1 eq {%xchartl=1 %(A0,B0) (a=x/y, b=-0.4*z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl=1 %(A0,B0) %***************************************************************** xchartl 2 eq {%xchartl=2 %(A1,B1) (a1=[x-XANT]/y, b1=z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans2 3500 def /ytrans2 2000 def xtrans2 ytrans2 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (T1) ib6 TBS (=) show 1.0 cvsshow3x (, ) show TBIS (b) show (T1) ib6 TBS (=) show XANT cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans2 neg ytrans2 neg translate %for scala and graphic } if %xchartl=2 %(A1,B1) %************************ xchartl 3 eq {%xchartl=1 %(A2,B2) (a2=x/y, b2=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans3 3500 def /ytrans3 2000 def xtrans3 ytrans3 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans3 neg ytrans3 neg translate %for scala and graphic } if %xchartl=3 %(A2,B2) %************************ xchartl 4 eq {%xchartl=04 %(A3,B3) (a3=[x-XANT]/y, b3=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans4 3500 def /ytrans4 2000 def xtrans4 ytrans4 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans4 neg ytrans4 neg translate %for scala and graphic } if %xchartl=4 %(A3,B3) %************************ xchartl 5 eq {%xchartl=5 %(A4,B4) (a4=(x-XANT)/y, b4=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans5 3500 def /ytrans5 2000 def xtrans5 ytrans5 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans5 neg ytrans5 neg translate %for scala and graphic } if %xchartl=5 %(A4,B4) %************************ xchartl 6 eq {%xchartl=6 %(A5,B5) (a5=[x-XANT]/y, b5=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def /xtrans6 3500 def /ytrans6 2000 def xtrans6 ytrans6 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (a) show (2x) ib6 TBS ([\050+) show A51 cvsshow2x TBIS (x) show TBS A52 cvsshow2x TBIS (y) show TBS A53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (b) show (2x) ib6 TBS ([\050+) show B51 cvsshow2x TBIS (x) show TBS (+) show B52 cvsshow2x TBIS (y) show TBS B53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (2x) ib6 TBS ( = ) show a2x cvsshow2x (, ) show TBIS (b) show (2x) ib6 TBS ( = ) show b2x cvsshow2x -3400 iyT idyT 7 mul sub moveto SS (l) show (B,G,Y,R) ib6 TBS (=475,503,574,494c,E nm) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get A51 mul YANMi ikV40 get A52 mul add A53 add YANMi ikV40 get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANMi ikV40 get B51 mul YANMi ikV40 get B52 mul add B53 add YANMi ikV40 get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get A51 mul YANOi i get A52 mul add A53 add YANOi i get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANOi i get B51 mul YANOi i get B52 mul add B53 add YANOi i get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans6 neg ytrans6 neg translate %for scala and graphic } if %xchartl=6 %(A5,B5) %************************ xchartl 7 eq {%xchartl=7 %(A6,B6) (a6=x/y, b6=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans7 3500 def /ytrans7 2000 def xtrans7 ytrans7 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans7 neg ytrans7 neg translate %for scala and graphic } if %xchartl=7 } if %xchart10=1 long loop 1700 lines! %END 'CL70'Y11_XCHART1A_1.PS %*************************************************************** %END INC Y11_XCHART10_0/1/2.PS %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer %%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 http://farbe.li.tu-berlin.de/DG41/DG411-3A 20180221 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark18 where {pop} {userdict /pdfmark18 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/DG41/DG41.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018060112000) /ModDate (D:20180601112000) /DOCINFO pdfmark18 [ /View [ /Fit ] /DOCVIEW pdfmark18 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SV {160 /Symbol FS} bind def /CV {160 /Courier-ISOL1 FS} bind def /CS {200 /Courier-ISOL1 FS} bind def /CK {240 /Courier-ISOL1 FS} bind def /CM {280 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBV {160 /CourierB-ISOL1 FS} bind def /CBS {200 /CourierB-ISOL1 FS} bind def /CBK {240 /CourierB-ISOL1 FS} bind def /CBM {280 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /ns {350 /Times-ISOL1 FS show} bind def /ks {350 /TimesI-ISOL1 FS show} bind def /bs {350 /TimesB-ISOL1 FS show} bind def /js {350 /TimesBI-ISOL1 FS show} bind def /sy {350 /Symbol FS show} bind def /is {280 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /es {280 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ib {280 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eb {280 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ip {280 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /ns2 {280 /Times-ISOL1 FS show TM} bind def /ks2 {280 /TimesI-ISOL1 FS show TM} bind def /bs2 {280 /TimesB-ISOL1 FS show TM} bind def /js2 {280 /TimesBI-ISOL1 FS show TM} bind def /sy2 {280 /Symbol FS show TM} bind def /is2 {240 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {240 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {240 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {240 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {240 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def /iy2 {240 /Symbol FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def %40% kleiner /ns4 {240 /Times-ISOL1 FS show TK} bind def /ks4 {240 /TimesI-ISOL1 FS show TK} bind def /bs4 {240 /TimesB-ISOL1 FS show TK} bind def /js4 {240 /TimesBI-ISOL1 FS show TK} bind def /ss4 {240 /Symbol FS show TK} bind def /is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def /iy4 {200 /Symbol FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def %60% kleiner /ns6 {200 /Times-ISOL1 FS show TS} bind def /ks6 {200 /TimesI-ISOL1 FS show TS} bind def /bs6 {200 /TimesB-ISOL1 FS show TS} bind def /js6 {200 /TimesBI-ISOL1 FS show TS} bind def /ss6 {200 /Symbol FS show TS} bind def /is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /es6 {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eb6 {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def /iy6 {160 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /cvicvs {cvi 6 string cvs} def /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.1234/99.0123/99.0010/99.0001 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10000 mul cvi /nxi exch def %nxi=991234/990123/990010/990000 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=1234/0123/0010/0001 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=1234/0123/0010/0001 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def /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 %************************************************* /proc_CIE_LMS0 {%BEG proc_CIE_LMS0 %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %Combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F02i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F10i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /FF02i 320 array def %80x4 CIE_F02 fundamental observer /FF10i 320 array def %80x4 CIE_F10 fundamental observer /FAi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /XZAi 17 array def /YZAi 17 array def /ZZAi 17 array def /XANZAi 17 array def /YANZAi 17 array def /ZANZAi 17 array def /FXAi 80 array def %unnormiert /FYAi 80 array def /FZAi 80 array def /FXNi 80 array def %Y-normiert /FYNi 80 array def /FZNi 80 array def /FXMi 80 array def %XYZ-normiert /FYMi 80 array def /FZMi 80 array def %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F02i CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 %400nm: 0.0143 0.0003 0.0678 /F02i %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 %X:380_775 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 %700:0.0113 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 %Y:380_775 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 %700: 0.0041 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 %Z:380-775 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10i %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def /FF02i [%BEG FF02i Colour matching functions 5nm 02-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 3.769647E-03 4.146161E-04 1.847260E-02 %=390 385 3.769647E-03 4.146161E-04 1.847260E-02 %=390 390 3.769647E-03 4.146161E-04 1.847260E-02 395 9.382967E-03 1.059646E-03 4.609784E-02 400 2.214302E-02 2.452194E-03 1.096090E-01 405 4.742986E-02 4.971717E-03 2.369246E-01 410 8.953803E-02 9.079860E-03 4.508369E-01 415 1.446214E-01 1.429377E-02 7.378822E-01 420 2.035729E-01 2.027369E-02 1.051821E+00 425 2.488523E-01 2.612106E-02 1.305008E+00 430 2.918246E-01 3.319038E-02 1.552826E+00 435 3.227087E-01 4.157940E-02 1.748280E+00 440 3.482554E-01 5.033657E-02 1.917479E+00 445 3.418483E-01 5.743393E-02 1.918437E+00 450 3.224637E-01 6.472352E-02 1.848545E+00 455 2.826646E-01 7.238339E-02 1.664439E+00 460 2.485254E-01 8.514816E-02 1.522157E+00 465 2.219781E-01 1.060145E-01 1.428440E+00 470 1.806905E-01 1.298957E-01 1.250610E+00 475 1.291920E-01 1.535066E-01 9.991789E-01 480 8.182895E-02 1.788048E-01 7.552379E-01 485 4.600865E-02 2.064828E-01 5.617313E-01 490 2.083981E-02 2.379160E-01 4.099313E-01 495 7.097731E-03 2.850680E-01 3.105939E-01 500 2.461588E-03 3.483536E-01 2.376753E-01 505 3.649178E-03 4.277595E-01 1.720018E-01 510 1.556989E-02 5.204972E-01 1.176796E-01 515 4.315171E-02 6.206256E-01 8.283548E-02 520 7.962917E-02 7.180890E-01 5.650407E-02 525 1.268468E-01 7.946448E-01 3.751912E-02 530 1.818026E-01 8.575799E-01 2.438164E-02 535 2.405015E-01 9.071347E-01 1.566174E-02 540 3.098117E-01 9.544675E-01 9.846470E-03 545 3.804244E-01 9.814106E-01 6.131421E-03 550 4.494206E-01 9.890228E-01 3.790291E-03 555 5.280233E-01 9.994608E-01 2.327186E-03 560 6.133784E-01 9.967737E-01 1.432128E-03 565 7.016774E-01 9.902549E-01 8.822531E-04 570 7.967750E-01 9.732611E-01 5.452416E-04 575 8.853376E-01 9.424569E-01 3.386739E-04 580 9.638388E-01 8.963613E-01 2.117772E-04 585 1.051011E+00 8.587203E-01 1.335031E-04 590 1.109767E+00 8.115868E-01 8.494468E-05 595 1.143620E+00 7.544785E-01 5.460706E-05 600 1.151033E+00 6.918553E-01 3.549661E-05 605 1.134757E+00 6.270066E-01 2.334738E-05 610 1.083928E+00 5.583746E-01 1.554631E-05 615 1.007344E+00 4.895950E-01 1.048387E-05 620 9.142877E-01 4.229897E-01 0.000000E+00 625 8.135565E-01 3.609245E-01 0.000000E+00 630 6.924717E-01 2.980865E-01 0.000000E+00 635 5.755410E-01 2.416902E-01 0.000000E+00 640 4.731224E-01 1.943124E-01 0.000000E+00 645 3.844986E-01 1.547397E-01 0.000000E+00 650 2.997374E-01 1.193120E-01 0.000000E+00 655 2.277792E-01 8.979594E-02 0.000000E+00 660 1.707914E-01 6.671045E-02 0.000000E+00 665 1.263808E-01 4.899699E-02 0.000000E+00 670 9.224597E-02 3.559982E-02 0.000000E+00 675 6.639960E-02 2.554223E-02 0.000000E+00 680 4.710606E-02 1.807939E-02 0.000000E+00 685 3.292138E-02 1.261573E-02 0.000000E+00 690 2.262306E-02 8.661284E-03 0.000000E+00 695 1.575417E-02 6.027677E-03 0.000000E+00 700 1.096778E-02 4.195941E-03 0.000000E+00 705 7.608750E-03 2.910864E-03 0.000000E+00 710 5.214608E-03 1.995557E-03 0.000000E+00 715 3.569452E-03 1.367022E-03 0.000000E+00 720 2.464821E-03 9.447269E-04 0.000000E+00 725 1.703876E-03 6.537050E-04 0.000000E+00 730 1.186238E-03 4.555970E-04 0.000000E+00 735 8.269535E-04 3.179738E-04 0.000000E+00 740 5.758303E-04 2.217445E-04 0.000000E+00 745 4.058303E-04 1.565566E-04 0.000000E+00 750 2.856577E-04 1.103928E-04 0.000000E+00 755 2.021853E-04 7.827442E-05 0.000000E+00 760 1.438270E-04 5.578862E-05 0.000000E+00 765 1.024685E-04 3.981884E-05 0.000000E+00 770 7.347551E-05 2.860175E-05 0.000000E+00 775 5.259870E-05 2.051259E-05 0.000000E+00 %780 3.806114E-05 1.487243E-05 0.000000E+00 %785 2.758222E-05 1.080001E-05 0.000000E+00 %790 2.004122E-05 7.863920E-06 0.000000E+00 %795 1.458792E-05 5.736935E-06 0.000000E+00 %800 1.068141E-05 4.211597E-06 0.000000E+00 %805 7.857521E-06 3.106561E-06 0.000000E+00 %810 5.768284E-06 2.286786E-06 0.000000E+00 %815 4.259166E-06 1.693147E-06 0.000000E+00 %820 3.167765E-06 1.262556E-06 0.000000E+00 %825 2.358723E-06 9.422514E-07 0.000000E+00 %830 1.762465E-06 7.053860E-07 0.000000E+00 ] def %END CIEF_XYZ_02 Colour matching functions 5nm 02-degree /FF10i [%BEG CIEF_XYZ_10 Colour matching functions 5nm 10-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 2.952420E-03 4.076779E-04 1.318752E-02 %=390 385 2.952420E-03 4.076779E-04 1.318752E-02 %=390 390 2.952420E-03 4.076779E-04 1.318752E-02 395 7.641137E-03 1.078166E-03 3.424588E-02 400 1.879338E-02 2.589775E-03 8.508254E-02 405 4.204986E-02 5.474207E-03 1.927065E-01 410 8.277331E-02 1.041303E-02 3.832822E-01 415 1.395127E-01 1.712968E-02 6.568187E-01 420 2.077647E-01 2.576133E-02 9.933444E-01 425 2.688989E-01 3.529554E-02 1.308674E+00 430 3.281798E-01 4.698226E-02 1.624940E+00 435 3.693084E-01 6.047429E-02 1.867751E+00 440 4.026189E-01 7.468288E-02 2.075946E+00 445 4.042529E-01 8.820537E-02 2.132574E+00 450 3.932139E-01 1.039030E-01 2.128264E+00 455 3.482214E-01 1.195389E-01 1.946651E+00 460 3.013112E-01 1.414586E-01 1.768440E+00 465 2.534221E-01 1.701373E-01 1.582342E+00 470 1.914176E-01 1.999859E-01 1.310576E+00 475 1.283167E-01 2.312426E-01 1.010952E+00 480 7.593120E-02 2.682271E-01 7.516389E-01 485 3.836770E-02 3.109438E-01 5.549619E-01 490 1.400745E-02 3.554018E-01 3.978114E-01 495 3.446810E-03 4.148227E-01 2.905816E-01 500 5.652072E-03 4.780482E-01 2.078158E-01 505 1.561956E-02 5.491344E-01 1.394643E-01 510 3.778185E-02 6.248296E-01 8.852389E-02 515 7.538941E-02 7.012292E-01 5.824484E-02 520 1.201511E-01 7.788199E-01 3.784916E-02 525 1.756832E-01 8.376358E-01 2.431375E-02 530 2.380254E-01 8.829552E-01 1.539505E-02 535 3.046991E-01 9.233858E-01 9.753000E-03 540 3.841856E-01 9.665325E-01 6.083223E-03 545 4.633109E-01 9.886887E-01 3.769336E-03 550 5.374170E-01 9.907500E-01 2.323578E-03 555 6.230892E-01 9.997775E-01 1.426627E-03 560 7.123849E-01 9.944304E-01 8.779264E-04 565 8.016277E-01 9.848127E-01 5.408385E-04 570 8.933408E-01 9.640545E-01 3.342429E-04 575 9.721304E-01 9.286495E-01 2.076129E-04 580 1.034327E+00 8.775360E-01 1.298230E-04 585 1.106886E+00 8.370838E-01 8.183954E-05 590 1.147304E+00 7.869950E-01 5.207245E-05 595 1.160477E+00 7.272309E-01 3.347499E-05 600 1.148163E+00 6.629035E-01 2.175998E-05 605 1.113846E+00 5.970375E-01 1.431231E-05 610 1.048485E+00 5.282296E-01 9.530130E-06 615 9.617111E-01 4.601308E-01 6.426776E-06 620 8.629581E-01 3.950755E-01 0.000000E+00 625 7.603498E-01 3.351794E-01 0.000000E+00 630 6.413984E-01 2.751807E-01 0.000000E+00 635 5.290979E-01 2.219564E-01 0.000000E+00 640 4.323126E-01 1.776882E-01 0.000000E+00 645 3.496358E-01 1.410203E-01 0.000000E+00 650 2.714900E-01 1.083996E-01 0.000000E+00 655 2.056507E-01 8.137687E-02 0.000000E+00 660 1.538163E-01 6.033976E-02 0.000000E+00 665 1.136072E-01 4.425383E-02 0.000000E+00 670 8.281010E-02 3.211852E-02 0.000000E+00 675 5.954815E-02 2.302574E-02 0.000000E+00 680 4.221473E-02 1.628841E-02 0.000000E+00 685 2.948752E-02 1.136106E-02 0.000000E+00 690 2.025590E-02 7.797457E-03 0.000000E+00 695 1.410230E-02 5.425391E-03 0.000000E+00 700 9.816228E-03 3.776140E-03 0.000000E+00 705 6.809147E-03 2.619372E-03 0.000000E+00 710 4.666298E-03 1.795595E-03 0.000000E+00 715 3.194041E-03 1.229980E-03 0.000000E+00 720 2.205568E-03 8.499903E-04 0.000000E+00 725 1.524672E-03 5.881375E-04 0.000000E+00 730 1.061495E-03 4.098928E-04 0.000000E+00 735 7.400120E-04 2.860718E-04 0.000000E+00 740 5.153113E-04 1.994949E-04 0.000000E+00 745 3.631969E-04 1.408466E-04 0.000000E+00 750 2.556624E-04 9.931439E-05 0.000000E+00 755 1.809649E-04 7.041878E-05 0.000000E+00 760 1.287394E-04 5.018934E-05 0.000000E+00 765 9.172477E-05 3.582218E-05 0.000000E+00 770 6.577532E-05 2.573083E-05 0.000000E+00 775 4.708916E-05 1.845353E-05 0.000000E+00 %780 3.407653E-05 1.337946E-05 0.000000E+00 %785 2.469630E-05 9.715798E-06 0.000000E+00 %790 1.794555E-05 7.074424E-06 0.000000E+00 %795 1.306345E-05 5.160948E-06 0.000000E+00 %800 9.565993E-06 3.788729E-06 0.000000E+00 %805 7.037621E-06 2.794625E-06 0.000000E+00 %810 5.166853E-06 2.057152E-06 0.000000E+00 %815 3.815429E-06 1.523114E-06 0.000000E+00 %820 2.837980E-06 1.135758E-06 0.000000E+00 %825 2.113325E-06 8.476168E-07 0.000000E+00 %830 1.579199E-06 6.345380E-07 0.000000E+00 ] def %END CIEF_XYZ_10 Colour matching functions 5nm 10-degree xchart13 0 eq {%xchart13=0 %02 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F02i i get put } for %i=0,1,239 } if %xchart13=0 xchart13 1 eq {%xchart13=1 %10 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F10i i get put } for %i=0,1,239 } if %xchart13=1 xchart13 2 eq {%xchart13=2 %02 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF02i i4 1 add get put FAi 80 i add FF02i i4 2 add get put FAi 160 i add FF02i i4 3 add get put } for %i=0,1,79 } if %xchart13=2 xchart13 3 eq {%xchart13=3 %10 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF10i i4 1 add get put FAi 80 i add FF10i i4 2 add get put FAi 160 i add FF10i i4 3 add get put } for %i=0,1,79 } if %xchart13=3 xchart13 4 ge {%xchart13>=4 /CY 0.35 def /CY2 1.00 def /CX 50 def /W0 570 def /W1 540 def /W2 440 def %new /ILT 0 def ILT 0 eq {/tsa 0.000 def} if ILT 1 eq {/tsa 0.010 def} if %actual 2 or 10-degree CIE standard observer E, 80 data, 380-775nm, delta=5nm /lE1j 80 array def /mE1j 80 array def /sE1j 80 array def /lESj 80 array def /mESj 80 array def /sESj 80 array def /XE1j 80 array def /YE1j 80 array def /ZE1j 80 array def /xanE1j 80 array def /yanE1j 80 array def /zanE1j 80 array def /XESj 80 array def /YESj 80 array def /ZESj 80 array def /xanESj 80 array def /yanESj 80 array def /zanESj 80 array def /Xmi 88 array def /Ymi 88 array def /Ymi0 88 array def /Ymi1 88 array def /Ymi2 88 array def /Ymi3 88 array def /sASjk 80 array def 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put Xmi i get W2 le {/YEXP Xmi i get W2 sub CX div dup mul CY2 mul neg def} {/YEXP 0.0001 def} ifelse /EYEXP 10 YEXP exp 0.0001 add def sASjk i EYEXP put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put %s later with media absortion correction /YEXP Xmi i get W2 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi2 i EYEXP put %l later with 2% linear blue cone attribute /YEXP Xmi i get W0 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi0 i EYEXP put %m symmetric with no change /YEXP Xmi i get W1 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi1 i EYEXP put %y linear 0.5 l + 0.5 m Ymi3 i Ymi0 i get Ymi1 i get add 0.5 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 %s with media absortion correction sESj i Ymi2 i get sASjk i get mul put %l with 2% linear s cone attribute lESj i Ymi0 i get sESj i get 0.02 mul add put %m symmetric with no change mESj i Ymi1 i get put } for %i=0,1,79 %Normalisation of LMS to 100 /fslES 0 def /fsmES 0 def /fssES 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumLMS /fslES fslES lESj i get add def /fsmES fsmES mESj i get add def /fssES fssES sESj i get add def } for %i=0,79 %0 1 79 {/i exch def %i=0,1,79 %no normalisation LMS, multiply with 100 for E00 % lESj i lESj i get put % mESj i mESj i get put % sESj i sESj i get put % } for %i=0,1,79 %0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 % lESj i lESj i get 100 mul put % mESj i mESj i get fsmES 0.0001 add div 100 mul put % sESj i sESj i get 100 mul put % } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 lESj i lESj i get fslES 0.0001 add div 21.18 mul put mESj i mESj i get fsmES 0.0001 add div 21.18 mul put sESj i sESj i get fssES 0.0001 add div 21.18 mul put } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 /A11 1.3200 def %LMS -> x /A12 -0.6600 def /A13 0.3400 def /A21 0.5000 def %LMS -> y /A22 0.5000 def /A23 0.0000 def /A31 0.0000 def %LMS -> z /A32 0.0000 def /A33 1.0000 def 0 1 79 {/i exch def %i=0,1,79 FAi i 000 add lESj i get A11 mul mESj i get A12 mul add sESj i get A13 mul add put FAi i 080 add lESj i get A21 mul mESj i get A22 mul add sESj i get A23 mul add put FAi i 160 add lESj i get A31 mul mESj i get A32 mul add sESj i get A33 mul add put } for %i=0,1,79 } if %xchart13>=4 %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOWi 82 array def /DOWZi 17 array def /F02Zi 51 array def /F10Zi 51 array def /FF02Zi 51 array def /FF10Zi 51 array def /LMS0Zi 51 array def /LMS1Zi 51 array def /FAZi 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOWi i 380 i 5 mul add put } for %i=0,79 /DOWZi %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def %'cl80'CIE_Z_CL80_85.TXT 180326 %CIE_02 CL800-7R.PDF /.PS and MACPS2PDF /F02Zi [%CIE_02 3x17 data 700 ... 400 0.0113 0.0114 0.0115 0.0116 0.0117 0.0118 0.0118 0.0119 0.0119 0.0119 0.0120 0.0121 0.0121 0.0123 0.0125 0.0129 0.0143 0.0041 0.0040 0.0038 0.0036 0.0035 0.0035 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0030 0.0028 0.0026 0.0020 0.0003 0.0000 0.0011 0.0051 0.0074 0.0093 0.0106 0.0117 0.0125 0.0134 0.0145 0.0155 0.0170 0.0191 0.0220 0.0272 0.0377 0.0678] def %CIE_10 CL810-7R.PDF /.PS and MACPS2PDF /F10Zi [%CIE_10 3x17 data 700 ... 400 0.0100 0.0105 0.0107 0.0109 0.0110 0.0111 0.0112 0.0113 0.0114 0.0116 0.0118 0.0120 0.0124 0.0130 0.0145 0.0191 0.0191 0.0037 0.0036 0.0035 0.0035 0.0035 0.0034 0.0034 0.0034 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0028 0.0020 0.0020 0.0000 0.0052 0.0074 0.0088 0.0101 0.0110 0.0120 0.0130 0.0140 0.0153 0.0170 0.0194 0.0229 0.0289 0.0425 0.0859 0.0860] def %CIE_F02 CL820-7R.PDF /.PS and MACPS2PDF /FF02Zi [%CIE_F02 3x17 data 700 ... 400 0.0109 0.0113 0.0116 0.0118 0.0120 0.0121 0.0122 0.0123 0.0124 0.0125 0.0126 0.0128 0.0130 0.0134 0.0140 0.0155 0.0221 0.0041 0.0041 0.0040 0.0040 0.0040 0.0040 0.0039 0.0039 0.0039 0.0039 0.0039 0.0039 0.0038 0.0038 0.0037 0.0034 0.0024 0.0000 0.0035 0.0065 0.0088 0.0103 0.0116 0.0125 0.0133 0.0144 0.0155 0.0168 0.0185 0.0206 0.0242 0.0307 0.0448 0.1096] def %CIE_F10 CL830-7R.PDF /.PS and MACPS2PDF /FF10Zi [%CIE_F10 3x17 data 700 ... 400 0.0098 0.0104 0.0106 0.0107 0.0108 0.0109 0.0110 0.0111 0.0112 0.0114 0.0115 0.0118 0.0121 0.0128 0.0142 0.0187 0.0187 0.0037 0.0036 0.0036 0.0036 0.0036 0.0036 0.0036 0.0035 0.0035 0.0035 0.0035 0.0035 0.0034 0.0033 0.0031 0.0025 0.0025 0.0000 0.0057 0.0077 0.0090 0.0102 0.0112 0.0120 0.0128 0.0140 0.0152 0.0168 0.0191 0.0225 0.0283 0.0422 0.0849 0.0850] def %LMS_0.00 CL840-7R.PDF /.PS and MACPS2PDF /LMS0Zi [%LMS_17M3 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def %LMS_0.01 CL850-7R.PDF /.PS and MACPS2PDF identical CL840-7R.PDF /LMS1Zi [%LMS_17M4 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def 0 1 50 {/i exch def %i=0,50 xchart13 0 eq {FAZi i F02Zi i get put} if xchart13 1 eq {FAZi i F10Zi i get put} if xchart13 2 eq {FAZi i FF02Zi i get put} if xchart13 3 eq {FAZi i FF10Zi i get put} if xchart13 4 eq {FAZi i LMS0Zi i get put} if xchart13 5 eq {FAZi i LMS1Zi i get put} if } for %i=0,50 /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /Xi 82 array def /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /AAN1i 200 array def %actual data for plot, Munsell colours (M=1) /BAN1i 200 array def /AANXi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXi 200 array def /FXNZi 17 array def /FYNZi 17 array def /FZNZi 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 FXAi i FAi 00 i add get put FYAi i FAi 80 i add get put FZAi i FAi 160 i add get put } for %i=0,1,79 %STOPxx /XKSUM 0 def /YKSUM 0 def /ZKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /XKSUM XKSUM FXAi i get add def /YKSUM YKSUM FYAi i get add def /ZKSUM ZKSUM FZAi i get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXNi i FXAi i get YKSUM div 100 mul put FYNi i FYAi i get YKSUM div 100 mul put FZNi i FZAi i get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXMi i FXAi i get XKSUM div 100 mul put FYMi i FYAi i get YKSUM div 100 mul put FZMi i FZAi i get ZKSUM div 100 mul put } for %i=0,1,79 %STOPx 0 1 79 {/i exch def %i=0,80 %for any illuminant Xi i FXNi i get put Yi i FYNi i get put Zi i FZNi i get put /SUM FXNi i get FYNi i get add FZNi i get add 0.00001 add def XANi i FXNi i get SUM div put YANi i FYNi i get SUM div put ZANi i FZNi i get SUM div put } for %i=0,79 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZi i FAZi 00 i add get 100 mul YKSUM div 100 mul put FYNZi i FAZi 17 i add get 100 mul YKSUM div 100 mul put FZNZi i FAZi 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZi i get put YZi i FYNZi i get put ZZi i FZNZi i get put /SUMZ FXNZi i get FYNZi i get add FZNZi i get add def XANZi i FXNZi i get SUMZ div put YANZi i FYNZi i get SUMZ div put ZANZi i FZNZi i get SUMZ div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXNi i get add def /YW YW FYNi i get add def /ZW ZW FZNi i get add def } for %i=0,79 /SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANW XW SUMW FL add div def /YANW YW SUMW FL add div def /ZANW ZW SUMW FL add div def K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.8859 mul def /YK YW 0.8859 mul def /ZK ZW 0.8859 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANW def /YANWL YANW def /ZANWL ZANW def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYi 80 array def /BnYi 80 array def } bind def %END proc_CIE_LMS0 %**************************************************************** /proc_PDT_colours {%BEG proc_PDT_colours /l02Ii 77 array def /m02Ii 77 array def /s02Ii 77 array def /l02Mi 77 array def /m02Mi 77 array def /s02Mi 77 array def /X02Ii 77 array def /Y02Ii 77 array def /Z02Ii 77 array def /xan02Ii 77 array def /yan02Ii 77 array def /zan02Ii 77 array def /X02Mi 77 array def /Y02Mi 77 array def /Z02Mi 77 array def /xan02Mi 77 array def /yan02Mi 77 array def /zan02Mi 77 array def /ycuri 77 array def /l02Mi [ %LMS2.TXT %L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm 4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400 4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2 2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450 5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1 1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500 3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1 7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550 9.657395e-1 9.814541e-1 9.944890e-1 1 9.923160e-1 9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600 7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1 4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650 1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2 2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700 4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4 6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750 1.095065e-4 7.799195e-5 ] def /m02Mi [ %M2.DAT 3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400 4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2 3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450 9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1 2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500 5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1 9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95? 9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1 6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600 2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2 6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650 1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3 1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700 2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5 4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750 7.822762e-6 5.690886e-6 ] def /s02Mi [ %S2.DAT CIE 171.1:2006 9.547289e-3 9.547289e-3 9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410 3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1 9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460 7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1 2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510 4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560 4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5 4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610 5.418387e-6 0 0 0 0 0 0 0 0 0 %650 0 0 0 0 0 0 0 0 0 0 %700 0 0 0 0 0 0 0 0 0 0 %750 0 0 ] def %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23 /A11 1.94735469 def /A12 -1.41445123 def /A13 0.36476327 def /A21 0.68990272 def /A22 0.34832189 def /A33 1.93485343 def /fsl02Mi 0 def /fsm02Mi 0 def /fss02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Mi fsl02Mi l02Mi i get add def /fsm02Mi fsm02Mi m02Mi i get add def /fss02Mi fss02Mi s02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung LMS l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put m02Ii i m02Mi i get put s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put } for %i=0,76 /fsl02Ii 0 def /fsm02Ii 0 def /fss02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Ii fsl02Ii l02Ii i get add def /fsm02Ii fsm02Ii m02Ii i get add def /fss02Ii fss02Ii s02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 X02Ii i l02Mi i get A11 mul m02Mi i get A12 mul add s02Mi i get A13 mul add put Y02Ii i l02Mi i get A21 mul m02Mi i get A22 mul add put Z02Ii i s02Mi i get A33 mul put } for %i=0,76 /fsX02Ii 0 def /fsY02Ii 0 def /fsZ02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzIi /fsX02Ii fsX02Ii X02Ii i get add def /fsY02Ii fsY02Ii Y02Ii i get add def /fsZ02Ii fsZ02Ii Z02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ X02Mi i X02Ii i get 1.1510330 div put %max 600nm Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm } for %i=0,76 /fsX02Mi 0 def /fsY02Mi 0 def /fsZ02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzMi /fsX02Mi fsX02Mi X02Mi i get add def /fsY02Mi fsY02Mi Y02Mi i get add def /fsZ02Mi fsZ02Mi Z02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 xyzan /sumXYZ X02Ii i get Y02Ii i get add Z02Ii i get add def xan02Ii i X02Ii i get sumXYZ div put yan02Ii i Y02Ii i get sumXYZ div put zan02Ii i Z02Ii i get sumXYZ div put } for %i=0,76 } bind def %END proc_PDT_colours %************************************************* %STOP4 /proc_Munsell_colours {%BEG proc_Munsell_colours %calculation of transformation data /FARBE 27 array def /FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00 () () () %01 (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02 () () () %03 (L* about 10, 20, 50, 80, 90) () () %04 () () () %05 () () () %06 () () () %07 () () () %08 ] def %Input /xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data /xy_MUNSELL %BEG xy_MUNSELL [%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9 % 05 % 1 40 1 1 VALUE1 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296 % 1 40 02 2 VALUE2 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583 % 1 40 05 3 VALUE5 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912 % 1 40 08 4 VALUE8 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040 % 1 40 09 5 VALUE9 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051 ] def %END xy_MUNSELL /Y_MUNSELL 5 array def %5 Y*1000 data /Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100 [12100 31300 197700 591000 786600] def %here 4 decimal places! /xy_MUNSELL_C 2 array def %2 xy*1000 data /xy_MUNSELL_C %BEG xy_MUNSELL_C [3101 3162] def %END xy_MUNSELL_C /xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8 /xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex [% 1 01 2 4CR=2EX 3149 3086 % 1 01 5 5CR=2EX 3142 3234 % 1 01 8 6CR=2EX 3144 3275 ] def %END xy_MUNSELL_Ex %M=Munsell /XMi 200 array def %5*40 colour of chroma 2 /YMi 200 array def /ZMi 200 array def /XANMi 200 array def /YANMi 200 array def /ZANMi 200 array def /AANMi 200 array def /BANMi 200 array def 0 0 0 1 setcmykcolor /fscale 0.0001 def 0 1 199 {/k exch def %k=0,199 /k2 k 2 mul def XANMi k xy_MUNSELL k2 0 add get fscale mul put YANMi k xy_MUNSELL k2 1 add get fscale mul put ZANMi k 1. XANMi k get sub YANMi k get sub put /kV k 40 idiv def /YVALUE Y_MUNSELL kV get fscale mul def YMi k YVALUE put /SUMY YVALUE YANMi k get div def XMi k SUMY XANMi k get mul put ZMi k SUMY ZANMi k get mul put } for %k=0,199 %*********************** %XWM,YWM,ZWM and XKW,YKW,ZKW for white /YANWM xy_MUNSELL_C 0 get fscale mul def /YANWM xy_MUNSELL_C 1 get fscale mul def /ZANWM 1. YANWM sub YANWM sub def /YWM 100. def /SUMWM YWM YANWM div def /XWM SUMWM YANWM mul def /ZWM SUMWM ZANWM mul def /XKM XWM def /YKM YWM def /ZKM ZWM def } bind def %END proc_Munsell_colours %************************************************************************* /proc_Ostwald_colours {%BEG proc_Ostwald_colours %Input %/FAi 240 array def %CIE_02, CIE_10, CIE_F02, CIE_F10, LMS_17M3 %/SX01 80 array def %380 bis 775 mit deltalambda=05 %/SX02 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX05 80 array def %380 bis 775 mit deltalambda=05 %/SX06 80 array def %380 bis 775 mit deltalambda=05 %/SX07 80 array def %380 bis 775 mit deltalambda=05 /WEL1i 60 array def %irregular definition /WEL2i 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1i [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def %Calculation /RAOi 80 array def %380 bis 770 nm /FAOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /FANOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /SDAKOi 80 array def %380 bis 775 mit deltalambda=05 /SX00Oi 80 array def %380 bis 775 mit deltalambda=05 /SX01Oi 80 array def %380 bis 775 mit deltalambda=05 /SX02Oi 80 array def %380 bis 775 mit deltalambda=05 /SX03Oi 80 array def %380 bis 775 mit deltalambda=05 /SX04Oi 80 array def %380 bis 775 mit deltalambda=05 /SX05Oi 80 array def %380 bis 775 mit deltalambda=05 /SX06Oi 80 array def %380 bis 775 mit deltalambda=05 /SX07Oi 80 array def %380 bis 775 mit deltalambda=05 %special wavelength range with complementary colours for E? /FXDOi 80 array def /FYDOi 80 array def /FZDOi 80 array def /DOWOi 80 array def /FADOi 80 array def /FBDOi 80 array def /FCDOi 80 array def %Results /XOi 80 array def %usually 40 Ostwald COLOURS /YOi 80 array def /ZOi 80 array def /XANOi 80 array def %usually 40 Ostwald COLOURS /YANOi 80 array def /ZANOi 80 array def 0 1 239 {/i exch def %i=0,239 FAOi i FAi i get put } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO FAOi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add FAOi 00 i add get YKSUM div 100 mul put FANOi 80 i add FAOi 80 i add get YKSUM div 100 mul put FANOi 160 i add FAOi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 SX00Oi i SX00 i get put SX01Oi i SX01 i get put SX02Oi i SX02 i get put SX03Oi i SX03 i get put SX04Oi i SX04 i get put SX05Oi i SX05 i get put SX06Oi i SX06 i get put SX07Oi i SX07 i get put } for %i=0,79 %STOP6 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAKOi i xchartx 0 eq {SX00Oi i get} if xchartx 1 eq {SX01Oi i get} if xchartx 2 eq {SX02Oi i get} if xchartx 3 eq {SX03Oi i get} if xchartx 4 eq {SX04Oi i get} if xchartx 5 eq {SX05Oi i get} if xchartx 6 eq {SX06Oi i get} if xchartx 7 eq {SX07Oi i get} if put } for %i=0,79 %STOP7 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get FAOi 80 i add get mul add def } for %i=0,1,79 %STOP8 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add SDAKOi i get FAOi 00 i add get mul YKSUM div 100 mul put FANOi 80 i add SDAKOi i get FAOi 80 i add get mul YKSUM div 100 mul put FANOi 160 i add SDAKOi i get FAOi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %STOP11 /FXNOi 80 array def %FXN 0 = F2N imax /FYNOi 80 array def /FZNOi 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXNOi i FANOi 000 i add get put FYNOi i FANOi 080 i add get put FZNOi i FANOi 160 i add get put } for %i=0,79 %XWO,YWO,ZWO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 /SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWO XWO SUMWO div def /YANWO YWO SUMWO div def /ZANWO ZWO SUMWO div def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXDOi i FXNOi 005 i add get put FYDOi i FYNOi 005 i add get put FZDOi i FZNOi 005 i add get put DOWOi i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXDOi 61 FXDOi 60 get put FYDOi 61 FYDOi 60 get put FZDOi 61 FZDOi 60 get put FXDOi 62 FXDOi 60 get put FYDOi 62 FYDOi 60 get put FZDOi 62 FZDOi 60 get put 0 1 62 {/i exch def %i=0,62 FADOi i FXDOi i get put FBDOi i FYDOi i get put FCDOi i FZDOi i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %STOP12 %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FADO,FBDO,FCDO, KNPO %output FWERTiX/Y/Z (i=1,4) KNP 1 ge {/FWERT1X FADOi KNP 1 sub get def /FWERT1Y FBDOi KNP 1 sub get def /FWERT1Z FCDOi KNP 1 sub get def} {/FWERT1X FADOi 0 get def %again 400nm for i=0 /FWERT1Y FBDOi 0 get def /FWERT1Z FCDOi 0 get def} ifelse /FWERT2X FADOi KNP get def /FWERT2Y FBDOi KNP get def /FWERT2Z FCDOi KNP get def /FWERT3X FADOi KNP 1 add get def /FWERT3Y FBDOi KNP 1 add get def /FWERT3Z FCDOi KNP 1 add get def /FWERT4X FADOi KNP 2 add get def /FWERT4Y FBDOi KNP 2 add get def /FWERT4Z FCDOi KNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1i k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXDOi j get def %start at 405..700nm /FF2 FYDOi j get def /FF3 FZDOi j get def /U1 XWO def /U2 YWO def /U3 ZWO def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add neg def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /KNP INP def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /KNP IPN def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RAOi i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RAOi i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RAOi i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RAOi i1 0.5 put RAOi i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /XO 0 def /YO 0 def /ZO 0 def 0 1 079 {/i exch def %i=0,79 /XO XO FANOi 00 i add get RAOi i get mul add def /YO YO FANOi 80 i add get RAOi i get mul add def /ZO ZO FANOi 160 i add get RAOi i get mul add def } for %i=0,79 /SUMO XO YO add ZO add def /XANO XO SUMO FL add div def /YANO YO SUMO FL add div def /ZANO ZO SUMO FL add div def %************************************************* 0 0 0 1 setcmykcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 XOi k XO put YOi k YO put ZOi k ZO put XANOi k XANO put YANOi k YANO put ZANOi k ZANO put }%Icom=0 {%Icom=1 /kP 20 k add def XOi kP XWO XO sub put YOi kP YWO YO sub put ZOi kP ZWO ZO sub put /SUMO XOi kP get YOi kP get add ZOi kP get add def XANOi kP XOi kP get SUMO FL add div put YANOi kP YOi kP get SUMO FL add div put ZANOi kP ZOi kP get SUMO FL add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 XOi k XOi k get 0.8859 mul put YOi k YOi k get 0.8859 mul put ZOi k ZOi k get 0.8859 mul put XOi kP XOi kP get 0.8859 mul put YOi kP YOi kP get 0.8859 mul put ZOi kP ZOi kP get 0.8859 mul put } if %K=1 } for %k=0,19 %************************************** %XWO,YWO,ZWO and XKO,YKO,ZKO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XKO XWO def /YKO YWO def /ZKO ZWO def }%K=0 {%K=1 /XKO XWO 0.8859 mul def /YKO YWO 0.8859 mul def /ZKO ZWO 0.8859 mul def } ifelse %K=1 /SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKO XKO SUMKO div def /YANKO YKO SUMKO div def /ZANKO ZKO SUMKO div def /XANWL XANWO def /YANWL YANWO def /ZANWL ZANWO def } bind def %END proc_Ostwald_colours %********************************************************************** %**************************************************************** %allways /proc_DEF_colours {%BEG proc_DEF_colours %Colour Deficiencies /ip1 700 380 sub 5 idiv def %ip=64:700nm /XANP1 XANi ip1 get def /YANP1 YANi ip1 get def /ZANP1 ZANi ip1 get def /id1 505 380 sub 5 idiv def %ip=25:505nm /XAND1 XANi id1 get def /YAND1 YANi id1 get def /ZAND1 ZANi id1 get def /it1 400 380 sub 5 idiv def %ip=4:400nm /XANT1 XANi it1 get def /YANT1 YANi it1 get def /ZANT1 ZANi it1 get def %************************* /XANP XANP1 def /YANP YANP1 def /ZANP ZANP1 def /XAND 1.000 def /YAND 0.001 def /ZAND 0.999 def /XANT 0.171 def /YANT 0.001 def /ZANT 1.000 XANT sub YANT sub def %************************* /XAN00 0.3333 def %Illuminant E /YAN00 0.3333 def /mP YAN00 YANP sub XAN00 XANP sub div def %700nm /bP YAN00 XAN00 mP mul sub def /mD YAN00 YAND sub XAN00 XAND sub div def %xx /bD YAN00 XAN00 mD mul sub def /mT YAN00 YANT sub XAN00 XANT sub div def %xx /bT YAN00 XAN00 mT mul sub def %************************* /mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm /bP1 YAN00 XAN00 mP1 mul sub def %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /XAND1 XANZi i get def /YAND1 YANZi i get def /mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm /bD1 YAN00 XAN00 mD1 mul sub def /mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm /bT1 YAN00 XAN00 mT1 mul sub def /ishow {0 -40 rmoveto show 0 40 rmoveto} def /eshow {0 60 rmoveto show 0 -60 rmoveto} def /imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def /imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def /iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def } bind def %END proc_DEF_colours %allways if xchart6>=1 /proc_chromaticity {%BEG proc_chromaticity %chromaticity definitions xchartl 0 eq {%xchartl=0 %(x,y) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get put BANi i YANi i get put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 def /BANP1 YANP1 def /AAND1 XAND1 def /BAND1 YAND1 def /AANT1 XANT1 def /BANT1 YANT1 def /AANP XANP def /BANP YANP def /AAND XAND def /BAND YAND def /AANT XANT def /BANT YANT def %ACHROMATIC COLOUR /AANWL XANWL def /BANWL YANWL def /AANWC XANWC def /BANWC YANWC def } if %xchartl=0 %only for (x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=1 %only for (a0,b0) %***************** xchartl 2 eq {%xchartl=2 %(a1,b1) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=2 %only for (a1,b1) %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=3 %only for (a2,b2) %***************** xchartl 4 eq {%xchartl=4 %(a3,b3) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=4 %only for (a3,b3) %***************** xchartl 5 eq {%xchartl=5 %(a4,b4) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=5 %only for (a4,b4) %***************** xchartl 6 eq {%xchartl=6 %(a5,b5) /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def 0 1 79 {/i exch def %i=0,79 AANi i XANi i get A51 mul YANi i get A52 mul add A53 add YANi i get FL add div a2x mul put BANi i XANi i get B51 mul YANi i get B52 mul add B53 add YANi i get FL add div b2x mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get A51 mul YANZi i get A52 mul add A53 add YANZi i get FL add div a2x mul put BANZi i XANZi i get B51 mul YANZi i get B52 mul add B53 add YANZi i get FL add div b2x mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div a2x mul def /BANWL XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div b2x mul def /AANWC XANWC A51 mul YANWC A52 mul add A53 add YANWC FL add div a2x mul def /BANWC XANWC B51 mul YANWC B52 mul add B53 add YANWC FL add div b2x mul def } if %xchartl=6 %only for (a5,b5) %***************** xchartl 7 eq {%xchartl=7 %(a6,b6) %a=x/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=7 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_coor {%BEG proc_xaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1<=7 TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 3 eq or xchartl 7 eq or {%xchartl=1,3,7 TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,3,7 xchartl 2 eq xchartl 4 eq or xchartl 5 eq or {%xchartl=2,4,5 TBS (=\050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-0,171\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl#2,4,5 xchartl 6 eq {%xchartl=6 TBS (=\0508,61) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-7,20) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-0,269\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart=0,#0 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1,7 TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 2 eq or {%xchartl=1,2 TBS (=-0,40) show TBIS (z) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,2 xchartl 3 eq xchartl 5 eq or {%xchartl=3,5 TBS (=\050) show mP1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=3,5 xchartl 4 eq xchartl 7 eq or {%xchartl=4,7 TBS (=\050) show mD1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=4,7 xchartl 6 eq {%xchartl=6 TBS (=\0501,99) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+3,86) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-2,40\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart#0 } bind def %END proc_yaxis_xchartl_coor %********************************************************* /proc_chromaticity_lines {%BEG proc_chromaticity_lines for xchart6>=1 %chromaticity lines and with names for xchart6=2 xchartl 0 eq {%xchartl=0 %(x,y) /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolor 0 eq {(CIE 1931) show} if xcolor 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 M 0 000 000 (545) %33 1 050 050 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 L 1 050 050 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 100 -50 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 100 -50 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf XANWL fakt mul def /BANWLf YANWL fakt mul def /AANWCf XANWC fakt mul def /BANWCf YANWC fakt mul def /i 400 380 sub 5 idiv def %4 T /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0.5 0 0.5 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS /i 450 380 sub 5 idiv def %14 S /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S /i 475 380 sub 5 idiv def %18 B /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be (Lc) AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4 /i 495 380 sub 5 idiv def %23 Rc /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S) AANF 120 add BANF 400 sub moveto TIK (M) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 505 380 sub 5 idiv def %26 505c,E /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S) AANF 250 add BANF 300 sub moveto TIK (V') show 0 0 0 setrgbcolor AANF 050 add BANF 550 sub moveto TIK (V) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 520 380 sub 5 idiv def %28 G /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B) AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4 1 1 0 setrgbcolor AANF 100 sub BANF 700 sub moveto TIK (Y) show (l) iy4 TK (=) show 0 0 1 setrgbcolor TIK (B) show (l) iy4 /i 540 380 sub 5 idiv def %32 M /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %540 M AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4 /i 555 380 sub 5 idiv def %35 V /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M) AANF 000 add BANF 000 add moveto TIK (V) show (m) is4 /i 570 380 sub 5 idiv def %38 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %570 L %AANF 250 sub BANF 200 sub moveto TIK (Y) show %0 0 0 setrgbcolor AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4 /i 575 380 sub 5 idiv def %39 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %575 L AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4 /i 700 380 sub 5 idiv def %64 R /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %700 AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4 %Protanop PL 1 0 0 setrgbcolor AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans0 neg ytrans0 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=0 %(x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) %STOP9 /xtrans1a 0500 def /xtrans1 1300 def /ytrans1 3200 def xtrans1a ytrans1 translate 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans1a neg ytrans1 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans1 ytrans1 translate /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 1 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 200 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0050 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans1 neg ytrans1 neg translate %ENDE: 2 } if %xchartl=1 %(a0,b0) %*********************************************************** xchartl 2 eq {%xchartl=2 (a1,b1) /xtrans2a 0500 def /xtrans2 1300 def /ytrans2 3200 def xtrans2a ytrans2 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans2a neg ytrans2 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans2 ytrans2 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -250 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans2 neg ytrans2 neg translate %for text and grafic %ENDE: 2 } if %xchartl=2 %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) /xtrans3a 0500 def /xtrans3 1300 def /ytrans3 3200 def xtrans3a ytrans3 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans3a neg ytrans3 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans3 ytrans3 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 100 -050 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1700 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 0500 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0250 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans3 neg ytrans3 neg translate %for text and grafic %ENDE: 2 } if %xchartl=3 %*********************************************************** xchartl 4 eq {%xchartl=4 %(a3,b3) /xtrans4a 0500 def /xtrans4 1300 def /ytrans4 3200 def xtrans4a ytrans4 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans4a neg ytrans4 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans4 ytrans4 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -280 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2100 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0550 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans4 neg ytrans4 neg translate %for text and grafic %ENDE: 2 } if %xchartl=4 %*********************************************************** xchartl 5 eq {%xchartl=5 %(a4,b4) /xtrans5a 0500 def /xtrans5 1300 def /ytrans5 3200 def xtrans5a ytrans5 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans5a neg ytrans5 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans5 ytrans5 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 -050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -050 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -300 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0800 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0700 0080 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0300 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 0050 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans5 neg ytrans5 neg translate %for text and grafic %ENDE: 2 } if %xchartl=5 %*********************************************************** xchartl 6 eq {%xchartl=6 %(a5,b5) /xtrans6a 0500 def /xtrans6 1300 def /ytrans6 3200 def xtrans6a ytrans6 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans6a neg ytrans6 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans6 ytrans6 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPx newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 0 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans6 neg ytrans6 neg translate %for text and grafic %ENDE: 2 } if %xchartl=6 %*********************************************************** xchartl 7 eq {%xchartl=7 %(a6,b6) /xtrans7a 0500 def /xtrans7 1300 def /ytrans7 3200 def xtrans7a ytrans7 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor posbx posby moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans7a neg ytrans7 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans7 ytrans7 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 newpath TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 newpath newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 newpath TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 newpath /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1800 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans7 neg ytrans7 neg translate %for text and grafic %ENDE: 2 } if %xchartl=7 } bind def %END proc_chromaticity_lines /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt /proc_tab1N {%BEG proc_tab1N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab1N %******************************************************** /proc_tab2N {%BEG proc_tab2N /idyT 250 def /iyT 1800 def -3400 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -3400 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab2N %********************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} %new {/xchart5 2 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %STOP1 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolor cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow gsave %XCHA01.PS END 5 /Times-ISOL1 FS %175 85 moveto (DG411-3A) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale 30 setlinewidth %xchart3 0 def %with Munsell colours %xchart3 1 def %with Ostwald colours %xchart3 2 det %without any colour /xchart3 1 def %diagram 0:Munsell colours, 1:Ostwald colours, 2:- %xchart5 0 def %without marc illuminant and text %xchart5 1 def %with marc illuminant %xchart5 2 def %with marc illuminant and text /xchart5 2 def %0:-, 1:illuminant, 2:illuminant and text %xchart6 0 def %without chromaticity_lines %xchart6 1 def %with chromaticity_lines %xchart6 2 def %with chromaticity_lines and names /xchart6 2 def %0:-, 1:chromaticity_lines 2:chromaticity_lines & names %xchart7 0 def %Ostwald colours without Name or Y %xchart7 1 def %Ostwald colours with Name %xchart7 2 def %Ostwald colours with CIE Y /xchart7 2 def %0:-, 1:Name, 2:Y %xchartl with 0 1 2 3 4 5 6 7 %xchart8 0 def %0:Pxx (P60, P55, P50, P45, P40, P35, P30, P25) colours %xchart8 1 def %1:Dxx (D65, D50, P40, A00, E00, C00, P00, Q00) colours /xchart8 1 def %0:Pxx, 1:Dxx colours %xchart9 0 def %for Y10-7R.EPS -> Table XYZ, not used here %xchart9 1 def %for Y10-7R.EPS -> Table CAB, not used here %xchart9 2 def %for Y10-7R.EPS -> Table (a,b), not used here /xchart9 0 def %Table 0:(XYZ), 1:(CAB), 2(ab) %xchart10 0 def %for Y10G00NP.PS6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10G00NP.PS6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10G00NP.PS6.PS -> chroma (A*i,B*i) /xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) %xchart13 0 def %CIE_02 %xchart13 1 def %CIE_10 %xchart13 2 def %CIE_F02 %xchart13 3 def %CIE_F10 %xchart13 4 def %LMS_17M3 %xchart13 5 def %LMS_17M4 /xchart13 4 def %xchart13=4(CIE_42),1(CIE_14),2(CIE_F42),3(CIE_F14),4/5 (model) %/xchart14 0 def %unnormiert %/xchart14 1 def %Yw-normiert %/xchart14 2 def %XYZw-normiert /xchart14 0 def %1:unnormiert, 2:Yw-normiert. 3:XYZw-normiert /posax 2700 def /posay 0550 def /posbx -350 def /posby -3150 def /FL 0.00001 def /Y18 18 def %grey background %/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i) /n1e 1.0000 def %allways %/n1e 0.3333 def %very special (a', b') xchart10 1 le {/n0e 1.0000 def} {/n0e 0.3333 def} ifelse gsave /xchartx xchart def 6 1 6 {/xchartx exch def %xchartx=0,7 %8 illuminants gsave 20 setlinewidth %0 0 11550 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey %0 0 11550 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz %STOP %allways proc_CIE_LMS0 %STOP1 proc_DEF_colours xchart3 0 eq {%BEG proc_Munsell_colours proc_Munsell_colours } if %END proc_Munsell_colours xchart3 1 eq {%BEG proc_Ostwald_colours proc_Ostwald_colours } if %END proc_Ostwald_colours %STOP2 /xchartl 05 def 02 1 02 {/xchartl exch def %xchartl=0,7 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto xchartl 7 le {(DG411-) show} {(DG411-) show} ifelse xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow} if xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow} if (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.3 setcmykcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 1.0 colrecst %frame black /xtexti 96 array def /ytexti 96 array def %BEG INC Y11_XCHART10_0/1/2.PS %line 5531 %******************************************************************** %BEG 'CL70'Y11_XCHART1A_1.PS FROM 'CL66'Y10-7R_66.EPS xchart10 1 eq {%xchart10=1 long loop 1700 lines! %/xxt -0.021 def /yyt -0.024 def %/xat 0.031 def /yat 0.029 def /xxt 0.000 def /yyt 0.000 def /xat 0.000 def /yat 0.000 def /proc_Yexp {%BEG proc_Yexp xchart10 0 eq {%chromaticity /Yexp 1 def } if %chromaticity xchart10 1 eq {%chromatic value xchart3 0 eq {%Munsell colours /Yexp YMi ikV40 get def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp YOi i get def } if %Ostwald colours } if %chromatic value xchart10 2 eq {%chroma xchart3 0 eq {%Munsell colours /Yexp Y18 YMi ikV40 get Y18 div n0e exp mul def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp Y18 YOi i get Y18 div n0e exp mul def } if %Ostwald colours } if %chroma } bind def %END proc_Yexp 0 0 0 1 setcmykcolor /xchart12 xchartl 12 mul def xchart3 0 eq {%xchart3=0 %Munsell_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Ostwald_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=1 %Ostwald_colours xchart3 1 eq xchartl 0 eq and {%xchart3=1 only for Ostwald colours and (x,y) xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name und Spektralbereich) showde %0DG411-7 00581 (Name and spectral range) showen %1DG411-7 00581 (Nombre y gama espectral) showes %2DG411-7 00581 (Nom et la gamma spectrale) showfr %3DG411-7 00581 (Nome e la gamma spettrale) showit %4DG411-7 00581 (Name and spectral range) showjp %5DG411-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBEO 0 get show TBV 0 -40 rmoveto FARBEO 1 get show 0 40 rmoveto TBIS FARBEO 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBEO 3 get show TBV 0 -40 rmoveto FARBEO 4 get show 0 40 rmoveto TBIS FARBEO 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBEO 6 get show TBV 0 -40 rmoveto FARBEO 7 get show 0 40 rmoveto TBIS FARBEO 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBEO 9 get show TBV 0 -40 rmoveto FARBEO 10 get show 0 40 rmoveto TBIS FARBEO 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBEO 12 get show TBV 0 -40 rmoveto FARBEO 13 get show 0 40 rmoveto TBIS FARBEO 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBEO 15 get show TBV 0 -40 rmoveto FARBEO 16 get show 0 40 rmoveto TBIS FARBEO 17 get show } if %xchart3=1 only for Ostwald colours TBS 0 0 0 1 setcmykcolor xchart3 0 eq {%xchart3=0 %Munsell_colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Munsell) show TBS (-System) showde %0DG411-7 02581 ( System) showea %1DG411-7 02581 TBIS (, Y) show (w) ib6 xcolor 1 eq {(,10) ib6} if TBS K 0 eq {(=100, ) show}{(=88,6, ) show} ifelse TELi xchartx get show xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (C=2, V=1, 2, 5, 8 & 9, ) show %0DG411-7 03581 TELi xchartx get show } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Optimal Colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Ostwald) showde TBS ( Farben (o)) showde %0DG411-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1DG411-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2DG411-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3DG411-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4DG411-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5DG411-7 02581 TBIS (, Y) show 0 -60 rmoveto (W) show 0 60 rmoveto TBS K 0 eq {(=100) show}{(=88,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (max (m) Buntwert, ) showde %0DG411-7 03581 (max (m) chromatic value, ) showen %1DG411-7 03581 (chromatic m\341x (m), ) showes %2DG411-7 03581 (max (m) chromatic valeur, ) showfr %3DG411-7 03581 (max (m) chromatic value, ) showit %4DG411-7 03581 (max (m) chromatic value, ) showjp %5DG411-7 03581 TELi xchartx get show } if %xchart3=1 %Optimal_colours %BEG For All Colours last line xtexti xchart12 2 add get ytexti xchart12 2 add get moveto proc_diagram_xchartl_txt %END For All Colours last line %*********************************************************** /imM 199 def %maximum Munsell Colours /imO 039 def %maximum Ostwald Colours %***************************************** 0 setgray xchartl 0 eq {%xchartl=0 %(x,y) %only for xchartl=0 proc_chromaticity proc_chromaticity_lines /fakt 4000 def /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 translate %for scala and graphic xchart3 0 eq {%xchart3=0 %BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 AnYi i XANMi i kV40 add get fakt mul put %x BnYi i YANMi i kV40 add get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath XANWL fakt mul YANWL fakt mul 40 0 360 arc stroke xchart5 2 eq {%xchart5=2 %+TELi XANWL fakt mul 200 sub 150 add YANWL fakt mul 500 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi xchart5 3 eq {%xchart5=3 %+V=1..9 1250 550 add 1316 250 add moveto (1) show 1250 350 add 1316 100 add moveto (2) show 1250 200 add 1316 050 add moveto (5) show } if %xchart5=3 %+V=1..9 } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 0 0 setrgbcolor 0 1 39 {/i exch def %i=0,39 AnYi i XANOi i get fakt mul put %x BnYi i YANOi i get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans0 neg ytrans0 neg translate %for scala and graphi } if %xchartl=0 %************************ %Special coordinate system for (Ax,Bx) digrams*************** %***************** xchartl 1 ge {%xchartl>=1 /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic %axis and scales 0 0 0 1 setcmyk_olvcolor -2250 0 moveto 3950 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1700 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-40) ( ) ( ) ( ) ( 40)] def /yt10x [(-40) ( ) ( ) ( ) (40)] def /fakt 40 def %default xchart3 0 eq {/xt10x [(-10) ( ) ( ) ( ) ( 10)] def /yt10x [(-10) ( ) ( ) ( ) (10) ] def} if %xchart3=0 %Munsell 0 0 0 1 setcmyk_olvcolor 0 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {%i=4 -1600 i 800 mul add 0 moveto -100 150 rmoveto TBIM (A) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1600 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {%i=4 -100 -1600 i 800 mul add moveto -250 150 rmoveto TBIM (B) show xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl>=1 %********************************************************** xchartl 1 eq {%xchartl=1 %(A0,B0) (a=x/y, b=-0.4*z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl=1 %(A0,B0) %***************************************************************** xchartl 2 eq {%xchartl=2 %(A1,B1) (a1=[x-XANT]/y, b1=z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans2 3500 def /ytrans2 2000 def xtrans2 ytrans2 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (T1) ib6 TBS (=) show 1.0 cvsshow3x (, ) show TBIS (b) show (T1) ib6 TBS (=) show XANT cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans2 neg ytrans2 neg translate %for scala and graphic } if %xchartl=2 %(A1,B1) %************************ xchartl 3 eq {%xchartl=1 %(A2,B2) (a2=x/y, b2=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans3 3500 def /ytrans3 2000 def xtrans3 ytrans3 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans3 neg ytrans3 neg translate %for scala and graphic } if %xchartl=3 %(A2,B2) %************************ xchartl 4 eq {%xchartl=04 %(A3,B3) (a3=[x-XANT]/y, b3=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans4 3500 def /ytrans4 2000 def xtrans4 ytrans4 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans4 neg ytrans4 neg translate %for scala and graphic } if %xchartl=4 %(A3,B3) %************************ xchartl 5 eq {%xchartl=5 %(A4,B4) (a4=(x-XANT)/y, b4=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans5 3500 def /ytrans5 2000 def xtrans5 ytrans5 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans5 neg ytrans5 neg translate %for scala and graphic } if %xchartl=5 %(A4,B4) %************************ xchartl 6 eq {%xchartl=6 %(A5,B5) (a5=[x-XANT]/y, b5=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def /xtrans6 3500 def /ytrans6 2000 def xtrans6 ytrans6 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (a) show (2x) ib6 TBS ([\050+) show A51 cvsshow2x TBIS (x) show TBS A52 cvsshow2x TBIS (y) show TBS A53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (b) show (2x) ib6 TBS ([\050+) show B51 cvsshow2x TBIS (x) show TBS (+) show B52 cvsshow2x TBIS (y) show TBS B53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (2x) ib6 TBS ( = ) show a2x cvsshow2x (, ) show TBIS (b) show (2x) ib6 TBS ( = ) show b2x cvsshow2x -3400 iyT idyT 7 mul sub moveto SS (l) show (B,G,Y,R) ib6 TBS (=475,503,574,494c,E nm) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get A51 mul YANMi ikV40 get A52 mul add A53 add YANMi ikV40 get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANMi ikV40 get B51 mul YANMi ikV40 get B52 mul add B53 add YANMi ikV40 get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get A51 mul YANOi i get A52 mul add A53 add YANOi i get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANOi i get B51 mul YANOi i get B52 mul add B53 add YANOi i get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2x mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans6 neg ytrans6 neg translate %for scala and graphic } if %xchartl=6 %(A5,B5) %************************ xchartl 7 eq {%xchartl=7 %(A6,B6) (a6=x/y, b6=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans7 3500 def /ytrans7 2000 def xtrans7 ytrans7 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans7 neg ytrans7 neg translate %for scala and graphic } if %xchartl=7 } if %xchart10=1 long loop 1700 lines! %END 'CL70'Y11_XCHART1A_1.PS %*************************************************************** %END INC Y11_XCHART10_0/1/2.PS %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer %%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 20070101 %%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 /showea {1 lanind le {show} {pop} ifelse} bind def /lanind1 01 def /lanind2 01 def /lanindd 01 def /colorm1 00 def /colorm2 00 def /colormd 01 def /deintp1 00 def /deintp2 00 def /deintpd 01 def /xcolor1 03 def /xcolor2 03 def /xcolord 01 def /xchart1 00 def /xchart2 00 def /xchartd 01 def /pchart1 00 def /pchart2 00 def /pchartd 01 def /colsep1 00 def /colsep2 00 def /colsepd 01 def /pmetam1 00 def /pmetam2 00 def /pmetamd 01 def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} if /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} if /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} if /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} if /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} if /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} if /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} if /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % /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 0 def /i*ptrsc 0 def gsave 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 colorm 0 eq deintp 0 eq and {/Txx (d) def /Fxx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def /Fxx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def /Fxx (d) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def /Fxx (e) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def /Fxx (-) def} if xchart 1 ge {%xchart>=1 /i0 12 def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def 2.5 MM /Times-ISOL1 FS x i0 get MM 40 MM add y i0 get MM 1 MM sub moveto lanind cvishow (-) show colorm cvishow deintp cvishow xcolor cvishow xchart cvishow pchart cvishow colsep cvishow (-F) show pmetam cvishow } if %xchart>=1 /xt 1 def xchart 1 eq {/xt 1 def} if xt 0 eq {%xt=0,1 ifelse /i0 12 def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def 2.5 MM /Times-ISOL1 FS x i0 get MM 110 MM add y i0 get MM 1 MM sub moveto (http://130.149.60.45/~farbmetrik/DG41/DG41) show colorm cvishow deintp cvishow colorm 0 eq {(N) show} {(F) show} ifelse (P.PDF & ) show (http://130.149.60.45/~farbmetrik/DG41/DG41) show colorm cvishow deintp cvishow colorm 0 eq {(N) show} {(F) show} ifelse (P.TXT & ) show (http://130.149.60.45/~farbmetrik/DG41/DG41.HTM) show } %xt=0 { %xt=1 /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 16 MM rlineto stroke xro 8 MM add yro moveto -16 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 /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin. /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. /xchart8 1 def %xchart8=0: Pxx, xchart8=1: Dxx 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /10TIN {10 /Times-ISOL1 FS} def /10TRN {10 /Times-Roman FS} def /12TIN {12 /Times-ISOL1 FS} def /12TRN {12 /Times-Roman FS} def /10TII {10 /TimesI-ISOL1 FS} def /10TRI {10 /Times-Italic FS} def /12TII {12 /TimesI-ISOL1 FS} def /12TRI {12 /Times-Italic FS} def /10TIB {10 /TimesB-ISOL1 FS} def /10TRB {10 /Times-Bold FS} def /12TIB {12 /TimesB-ISOL1 FS} def /12TRB {12 /Times-Bold FS} def /10TIBI {10 /TimesBI-ISOL1 FS} def /10TRBI {10 /Times-BoldItalic FS} def /12TIBI {12 /TimesBI-ISOL1 FS} def /12TRBI {12 /Times-BoldItalic FS} def %special /10TIN10 {10TIN 0 -3 rmoveto xcolor 1 eq {(10) show} if 0 3 rmoveto} def /10TINi10 {10TIN 0 -3 rmoveto (i) show xcolor 1 eq {(,10) show} if 0 3 rmoveto} def 0 setgray 12TIN 61 MM 14 MM moveto (TUB\255Pr\374fvorlage DG41; ) showde %0DG41X-Y 0000# (TUB\255test chart DG41; ) showen %1DG41X-Y 0000# (gr\341fico TUB\255DG41; ) showes %2DG41X-Y 0000# (TUB\255test graphique DG41; ) showfr %3DG41X-Y 0000# (grafico TUB\255DG41; ) showit %4DG41X-Y 0000# (TUB\255test chart DG41; ) showjp %5DG41X-Y 0000# xchart4 0 eq {%xchart4=0 12 /TimesI-ISOL1 FS (Ostwald) show 12 /Times-ISOL1 FS (\255Optimalfarben; ) showde ( colours of a colour half; ) showea (D65, D50, E00, P00; R17) show %xcolor 0 eq {(\2552\260) show} % {(\25510\260) show} ifelse (\255Modellbeobachter) showde ( model observer) showea } if %xchart4=0 xchart4 1 eq {() show} if xchart4 2 eq {() show} if 61 MM 09.5 MM moveto xchart4 0 eq {%xchart4=0 12 /TimesI-ISOL1 FS (CIEXYZxy\255, YABCh0\255, YABCh1\255) showde (CIEXYZxy, YANCh0, YABCh1) showea 12 /Times-ISOL1 FS (Daten; farbtongleiche und komplement\344re Wellenl\344nge ) showde ( data; dominant and complementary wavelength ) showea 12 /Symbol FS (l) show 0 -2 rmoveto 10 /Times-ISOL1 FS (d) show 0 2 rmoveto 12 /Times-ISOL1 FS ( und ) showde ( and ) showea 12 /Symbol FS (l) show 0 -2 rmoveto 10 /Times-ISOL1 FS (c) show 0 2 rmoveto } if %xchart4=0 xchart4 1 eq { 12 /Times-ISOL1 FS (Chromatische Pr\374fvorlage) showde %0DG41X-Y 0300# (chromatic test chart) showen %1DG41X-Y 0300# (test crom\341tico gr\341fico) showes %2DG41X-Y 0300# (chromatic graphique de test) showfr %3DG41X-Y 0300# (prova cromatica grafico) showit %4DG41X-Y 0300# (chromatic test chart) showjp %5DG41X-Y 0300# 12 /TimesI-ISOL1 FS ( RGB) show } if xchart4 2 eq { 12 /Times-ISOL1 FS (Chromatische Pr\374fvorlage) showde %0DG41X-Y 0400# (chromatic test chart) showen %1DG41X-Y 0400# (test crom\341tico gr\341fico) showes %2DG41X-Y 0400# (chromatic graphique de test) showfr %3DG41X-Y 0400# (prova cromatica grafico) showit %4DG41X-Y 0400# (chromatic test chart) showjp %5DG41X-Y 0400# 12 /TimesI-ISOL1 FS ( CMY) show } if /iout 0 def iout 1 eq {%iout=1 xchart 1 ge {%xchart>=1 12 /Times-ISOL1 FS (, 3D=) show colorm cvishow (, de=) show deintp cvishow 12 /TimesI-ISOL1 FS xchart5f 0 eq {(, sRGB) show} if xchart5f 1 eq {(, cmyk) show} if xchart5f 2 eq {(, cmy0) show} if xchart5f 3 eq {(, cmyk) show} if colorm 1 eq {(*) show} if } if %xchart>=1 12 /Times-ISOL1 FS 165 MM 13 MM moveto (Eingabe: ) showde %0DG41X-Y 0500# (input: ) showen %1DG41X-Y 0500# (entrada: ) showes %2DG41X-Y 0500# (entr\351e: ) showfr %3DG41X-Y 0500# (immettere: ) showit %4DG41X-Y 0500# (input: ) showjp %5DG41X-Y 0500# 12 /TimesI-ISOL1 FS (w/rgb/cmyk -> ) show xchart xchart3 lt {(w/rgb/cmyk) show } if xchart xchart3 ge {%xchart>=xchart3 (rgb) show } if %xchart>=xchart3 10 /Times-ISOL1 FS 0 -2 rmoveto Txx show 0 2 rmoveto 12 /Times-ISOL1 FS 12 /Times-ISOL1 FS 165 MM 9 MM moveto (Ausgabe: ) showde %0DG41X-Y 0600# (output: ) showen %1DG41X-Y 0600# (salida: ) showes %2DG41X-Y 0600# (sortie: ) showfr %3DG41X-Y 0600# (uscita: ) showit %4DG41X-Y 0600# (output: ) showjp %5DG41X-Y 0600# %colorm=0,1! 12 /Times-ISOL1 FS xchart 0 eq {%xchart=0,#0 12 /Times-ISOL1 FS (keine \304nderung) showde %0DG41X-Y 0700# (no change) showen %1DG41X-Y 0700# (ning\372n cambio) showes %2DG41X-Y 0700# (aucun changement) showfr %3DG41X-Y 0700# (nessun cambiamento) showit %4DG41X-Y 0700# (no change compared) showjp %5DG41X-Y 0700# }%xchart=0 {%xchart#0 12 /Times-ISOL1 FS colorm 0 eq {%colorm=0 (Transfer nach ) showde %0DG41X-Y 0800# (transfer to ) showen %1DG41X-Y 0800# (transfiera a ) showes %2DG41X-Y 0800# (transf\351rer \340 ) showfr %3DG41X-Y 0800# (trasferire a ) showit %4DG41X-Y 0800# (transfer to ) showjp %5DG41X-Y 0800# }%colorm=0 {%colorm=1 (3D\255Linearisierung ) showde %0DG41X-Y 0900# (3D\255linearization to ) showen %1DG41X-Y 0900# (3D\255linealizaci\363n a ) showes %2DG41X-Y 0900# (linearisation 3D selon ) showfr %3DG41X-Y 0900# (3D\255linearizzazione a ) showit %4DG41X-Y 0900# (3D\255linearization to ) showjp %5DG41X-Y 0900# } ifelse %colorm=1 12 /TimesI-ISOL1 FS xchart5f 0 eq {(rgb) show} if xchart5f 1 eq {(cmyk) show} if xchart5f 2 eq {(cmy0) show} if xchart5f 3 eq {(cmyk) show} if colorm 1 eq {(*) show} if 10 /Times-ISOL1 FS 0 -2 rmoveto Txx show 0 2 rmoveto 12 /Times-ISOL1 FS } ifelse %xchart=0,#0 %0 setgray %end white and unvisible } if %iout=1 12 /Times-ISOL1 FS 62 MM 198.5 MM moveto 12TRN (http://farbe.li.tu-berlin.de/DG41/DG41L) show 12TIN (0) show LSC$ show LEX$ show %1 setgray %start white and unvisible (; ) show xchart 0 eq { (Start\255Ausgabe) showde %0DG41X-Y 1000# (start output) showen %1DG41X-Y 1000# (comience salida) showes %2DG41X-Y 1000# (sortie de production) showfr %3DG41X-Y 1000# (cominciare l'uscita) showit %4DG41X-Y 1000# (start output) showjp %5DG41X-Y 1000# } if LSC$ (C) eq { (Start\255Ausgabe) showde %0DG41X-Y 1100# (start output) showen %1DG41X-Y 1100# (comience salida) showes %2DG41X-Y 1100# (sortie de production) showfr %3DG41X-Y 1100# (cominciare l'uscita) showit %4DG41X-Y 1100# (start output) showjp %5DG41X-Y 1100# } if xchart 1 ge {%xchart>=1 colorm 0 eq {%colorm=0,1 (Transfer Ausgabe) showde %0DG41X-Y 1200# (transfer output) showen %1DG41X-Y 1200# (salida de transferencia) showes %2DG41X-Y 1200# (sortie de transfert) showfr %3DG41X-Y 1200# (uscita di trasferimento) showit %4DG41X-Y 1200# (transfer output) showjp %5DG41X-Y 1200# }%colorm=0 {%colorm=1 (3D\255Linearisierung) showde %0DG41X-Y 1300# (3D\255linearization) showen %1DG41X-Y 1300# (3D\255linealizaci\363n) showes %2DG41X-Y 1300# (linearisation 3D) showfr %3DG41X-Y 1300# (3D\255linearizzzazione) showit %4DG41X-Y 1300# (3D\255linearization) showjp %5DG41X-Y 1300# } ifelse %colorm=0,1 } if %xchart>=1 62 MM 194 MM moveto LSC$ (N) eq LSC$ (C) eq or { (N: Keine 3D\255Linearisierung (OL) ) showde %0DG41X-Y 1400# (N: no 3D\255linearization (OL) ) showen %1DG41X-Y 1400# (N: ninguna 3D\255linealizaci\363n (OL) ) showes %2DG41X-Y 1400# (N: aucun linearisation 3D (OL) ) showfr %3DG41X-Y 1400# (N: nessun 3D\255linearizzazione (OL) ) showit %4DG41X-Y 1400# (N: no 3D\255linearization (OL) ) showjp %5DG41X-Y 1400# (in Datei (F) oder PS\255Startup (S)) showde %0DG41X-Y 1500# (in file (F) or PS\255startup (S)) showen %1DG41X-Y 1500# (en archivo (F) o PS\255startup (S)) showes %2DG41X-Y 1500# (dans fichier (F) ou PS\255startup (S)) showfr %3DG41X-Y 1500# (nel file (F) o PS\255startup (S)) showit %4DG41X-Y 1500# (in file (F) or PS\255startup (S)) showjp %5DG41X-Y 1500# } {LSC$ show (: ) show (3D\255Linearisierung) showde %0DG41X-Y 1600# (3D\255linearization) showen %1DG41X-Y 1600# (3D\255linealizaci\363n) showes %2DG41X-Y 1600# (linearisation 3D) showfr %3DG41X-Y 1600# (3D\255linearizzzazione) showit %4DG41X-Y 1600# (3D\255linearization) showjp %5DG41X-Y 1600# ( DG41/DG41L) show LSS$ show LSX$ show (0) show LSC$ show LEY$ show } ifelse LSC$ (F) eq { ( in Datei (F)) showde %0DG41X-Y 1700# ( in file (F)) showen %1DG41X-Y 1700# ( en archivo (F)) showes %2DG41X-Y 1700# ( dans fichier (F)) showfr %3DG41X-Y 1700# ( nel file (F)) showit %4DG41X-Y 1700# ( in file (F)) showjp %5DG41X-Y 1700# } if LSC$ (S) eq { ( im Distiller Startup (S) Directory) showde %0DG41X-Y 1800# ( in Distiller Startup (S) Directory) showen %1DG41X-Y 1800# ( en el Distiller Startup (S) Directory) showes %2DG41X-Y 1800# ( dans le Distiller Startup (S) Directory) showfr %3DG41X-Y 1800# ( nel Distiller Startup (S) Directory) showit %4DG41X-Y 1800# ( in Distiller Startup (S) Directory) showjp %5DG41X-Y 1800# } if LSC$ (D) eq { ( in PS\255Device (D)) showde %0DG41X-Y 1900# ( in PS\255device (D)) showen %1DG41X-Y 1900# ( en el PS\255device (D)) showes %2DG41X-Y 1900# ( dans l'appareil PS (D)) showfr %3DG41X-Y 1900# ( nel PS\255dispositivo (D)) showit %4DG41X-Y 1900# ( in PS\255Device (D)) showjp %5DG41X-Y 1900# } if LSC$ (T) eq { ( im Distiller Startup (S) Directory) showde %0DG41X-Y 2000# ( in Distiller Startup (S) Directory) showen %1DG41X-Y 2000# ( en el Distiller Startup (S) Directory) showes %2DG41X-Y 2000# ( dans le Distiller Startup (S) Directory) showfr %3DG41X-Y 2000# ( nel Distiller Startup (S) Directory) showit %4DG41X-Y 2000# ( in Distiller Startup (S) Directory) showjp %5DG41X-Y 2000# } if LSC$ (E) eq { ( in PS\255Device (D)) showde %0DG41X-Y 2100# ( in PS\255device (D)) showen %1DG41X-Y 2100# ( en el PS\255device (D)) showes %2DG41X-Y 2100# ( dans appareil PS (D)) showfr %3DG41X-Y 2100# ( nel PS\255dispositivo (D)) showit %4DG41X-Y 2100# ( in PS\255Device (D)) showjp %5DG41X-Y 2100# } if %0 setgray %end white and unvisible (, Seite ) showde %0DG41X-Y 2200# (, page ) showen %1DG41X-Y 2200# (, p\341gina ) showes %2DG41X-Y 2200# (, page ) showfr %3DG41X-Y 2200# (, pagina ) showit %4DG41X-Y 2200# (, page ) showjp %5DG41X-Y 2200# xchart 1 add cvishow (/) show xchartm cvishow 16 MM 185 MM moveto -90 rotate (Siehe \344hnliche Dateien: ) showde %0DG41X-Y 2300# (see similar files: ) showen %1DG41X-Y 2300# (vea archivos semejantes: ) showes %2DG41X-Y 2300# (voir des fichiers similaires: ) showfr %3DG41X-Y 2300# (vedere dei file simili: ) showit %4DG41X-Y 2300# (see similar files: ) showjp %5DG41X-Y 2300# 12TRN (http://farbe.li.tu-berlin.de/DG41/DG41.HTM) show 12TIN %(0) show %LSC$ show LEX$ show 90 rotate 12 MM 185 MM moveto -90 rotate (Technische Information: ) showde %0DG41X-Y 2400# (technical information: ) showen %1DG41X-Y 2400# (informaci\363n t\351cnica: ) showes %2DG41X-Y 2400# (informations techniques: ) showfr %3DG41X-Y 2400# (informazioni tecniche: ) showit %4DG41X-Y 2400# (technical information: ) showjp %5DG41X-Y 2400# 12TRN (http://farbe.li.tu-berlin.de) show 12TIN ( oder ) showde %0DG41X-Y 2500# ( or ) showen %1DG41X-Y 2500# ( o ) showes %2DG41X-Y 2500# ( ou ) showfr %3DG41X-Y 2500# ( o ) showit %4DG41X-Y 2500# ( or ) showjp %5DG41X-Y 2500# 12TRN (http://130.149.60.45/~farbmetrik) show 12TIN 90 rotate 281 MM 185 MM moveto -90 rotate (TUB\255Registrierung: 20180701\255DG41/DG41L) showde %0DG41X-Y 2600# (TUB registration: 20180701\255DG41/DG41L) showen %1DG41X-Y 2600# (TUB matr\355cula: 20180701\255DG41/DG41L) showes %2DG41X-Y 2600# (TUB enregistrement: 20180701\255DG41/DG41L) showfr %3DG41X-Y 2600# (TUB iscrizione: 20180701\255DG41/DG41L) showit %4DG41X-Y 2600# (TUB registration: 20180701\255DG41/DG41L) showjp %5DG41X-Y 2600# (0) show LSC$ show LEX$ show 90 rotate 281 MM 74 MM moveto -90 rotate (TUB\255Material: Code=rha4ta) showde %0DG41X-Y 2700# (TUB material: code=rha4ta) showen %1DG41X-Y 2700# (TUB material: code=rha4ta) showes %2DG41X-Y 2700# (TUB mat\351riel: code=rha4ta) showfr %3DG41X-Y 2700# (TUB materiale: code=rha4ta) showit %4DG41X-Y 2700# (TUB material: code=rha4ta) showjp %5DG41X-Y 2700# 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 ) showde %0DG41X-Y 2800# ( application for measurement ) showen %1DG41X-Y 2800# ( aplicaci\363n para la medida ) showes %2DG41X-Y 2800# ( application pour la mesure ) showfr %3DG41X-Y 2800# ( la domanda per la misura ) showit %4DG41X-Y 2800# ( application for measurement ) showjp %5DG41X-Y 2800# xchart5f 0 eq {%xchart5f=0 (von Display-Ausgabe) showde %0DG41X-Y 2900# (of display output) showen %1DG41X-Y 2900# (de display output) showes %2DG41X-Y 2900# (de sortie sur \350cran) showfr %3DG41X-Y 2900# (di stampa di display) showit %4DG41X-Y 2900# (of display output) showjp %5DG41X-Y 2900# } if %xchart5f=0 xchart5f 1 eq xchart5f 2 eq or {%xchart5f=1,2 (von Offsetdruck\255Ausgabe) showde %0DG41X-Y 3000# (of offset print output) showen %1DG41X-Y 3000# (salida en la impressi\363n offset) showes %2DG41X-Y 3000# (des sorties sur offset) showfr %3DG41X-Y 3000# (uscita nella stampa di offset) showit %4DG41X-Y 3000# (of offset print output) showjp %5DG41X-Y 3000# } if %xchart5f=1,2 xchart5f 3 eq {%xchart5f=3 (von Laserdrucker\255Ausgabe) showde %0DG41X-Y 3100# (of laser printer output) showen %1DG41X-Y 3100# (salida de impresora l\341ser) showes %2DG41X-Y 3100# (des sorties sur imprimante laser) showfr %3DG41X-Y 3100# (di uscita della stampante laser) showit %4DG41X-Y 3100# (of laser printer output) showjp %5DG41X-Y 3100# } if %xchart5f=3 xchart 1 ge {%xchart>=1 xchart5f 0 eq {%xchart5f=0 (, keine Separation) showde %0DG41X-Y 3200# (, no separation) showen %1DG41X-Y 3200# (, ninguna separaci\363n) showes %2DG41X-Y 3200# (, aucune s\351paration) showfr %3DG41X-Y 3200# (, nessuna separazione) showit %4DG41X-Y 3200# (, no separation) showjp %5DG41X-Y 3200# } if %chart5f=0 xchart5f 1 ge {%xchart5f>=1 (, Separation) showde %0DG41X-Y 3300# (, separation) showen %1DG41X-Y 3300# (, separaci\363n) showes %2DG41X-Y 3300# (, s\351paration) showfr %3DG41X-Y 3300# (, separazione) showit %4DG41X-Y 3300# (, separation) showjp %5DG41X-Y 3300# xchart5f 1 eq xchart5f 3 eq or {(cmyn6) show} if xchart5f 2 eq {(cmy0) show} if colorm 1 eq {(*) show} if colsep 0 eq {( (CMYK))}{( (CMY0))} ifelse show } if %xchart5f>=1 } if %xchart>=1 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 %/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 } ifelse %xt=1 grestore gsave %********************************************************** %%Trailer %%EndDocument EndEPSF grestore gsave showpage grestore %} for %colsepf=0,1 %} for %pchartf=0,0 %} for %xchartf=0,0 } for %xcolorf=0,1 %} for %deintpf=0,1 %} for %colormf=0,1 %} for %lanindf=0,0 %%Trailer