%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/DGV2/DGV2L00XX.PS 20201101 %%BoundingBox: 07 04 414 292 /pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [/Title (PostScript pictures: http://farbe.li.tu-berlin.de/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2020110112000) /ModDate (D:2020110112000) /DOCINFO pdfmark [ /View [ /Fit ] /DOCVIEW pdfmark %Y10G00NA.PS6 %line 20****************************************************** %BEG DGV2/OUTLIN10.PS Emty 20210418 %END DGV2/OUTLIN10.PS Emty 20210418 %BEG DGV2/OUTLIN1X.PS 20210418 %EMPTY %END DGV2/OUTLIN1X.PS 20210418 %BEG DGV2/OUTLIN1Y2.PS Emty 20210418 %END DGV2/OUTLIN1Y2.PS Emty 20210418 /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 0.5 0.5 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$ [(1.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$ [(1.DAT) (B.DAT) (G.DAT) (H.DAT) (I.DAT) (J.DAT) (P.DAT) (T.DAT)] def %******************************************************************* /lanind1f 00 def /lanind2f 00 def /laninddf 01 def /lanindmf 01 def /colorm1f 00 def /colorm2f 00 def /colormdf 01 def /colormmf 01 def /deintp1f 00 def /deintp2f 00 def /deintpdf 01 def /deintpmf 01 def /xcolor1f 00 def /xcolor2f 00 def /xcolordf 01 def /xcolormf 01 def %2/10degree /xchart1f 00 def /xchart2f 00 def /xchartdf 01 def /xchartmf 01 def /xchart3f 01 def /xchart4f 00 def /xchart5f 00 def /pchart1f 00 def /pchart2f 00 def /pchartdf 01 def /pchartmf 01 def %=3:sRGB,Lr /colsep1f 00 def /colsep2f 00 def /colsepdf 01 def /colsepmf 01 def /pmetam1f 00 def /pmetam2f 00 def /pmetamdf 01 def /pmetammf 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 % /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$ 0 get def /GEY$ EY$ 0 get def %01 %02 %03 %04 %05 %06 %07 %08 %09 %10 /12RN {12 /Times-Roman FS} bind def /10RN {10 /Times-Roman FS} bind def /12RI {12 /Times-Italic FS} bind def /10RI {10 /Times-Italic FS} bind def /12RB {12 /Times-Bold FS} bind def /10RB {10 /Times-Bold FS} bind def /12RBI {12 /Times-BoldItalic FS} bind def /10RBI {10 /Times-BoldItalic FS} bind def /12TN {12 /Times-ISOL1 FS} bind def /10TN {10 /Times-ISOL1 FS} bind def /12TI {12 /TimesI-ISOL1 FS} bind def /10TI {10 /TimesI-ISOL1 FS} bind def /12TB {12 /TimesB-ISOL1 FS} bind def /10TB {10 /TimesB-ISOL1 FS} bind def /12TBI {12 /TimesBI-ISOL1 FS} bind def /10TBI {10 /TimesBI-ISOL1 FS} bind def %gsave BeginEPSF 28 MM 197 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto 1 1 scale -77 -91 translate %%BeginDocument: Bild 10 %line 329 %%EndDocument EndEPSF grestore gsave /SHSl 2 def /SHAl 2 def BeginEPSF 28 SHSl sub 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 0 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 0 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 0 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 0 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV20-1N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /DOCINFO pdfmark02 [ /View [ /Fit ] /DOCVIEW pdfmark02 %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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 0 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 1 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 0 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 0 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV20-2N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 28 SHSl sub 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 0 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 0 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 0 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 1 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV20-3N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /DOCINFO pdfmark04 [ /View [ /Fit ] /DOCVIEW pdfmark04 %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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 0 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 1 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 0 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 1 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV20-4N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 28 SHSl sub 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 0 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 0 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 0 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 2 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV20-5N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /DOCINFO pdfmark06 [ /View [ /Fit ] /DOCVIEW pdfmark06 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 0 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 1 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 0 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 2 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV20-6N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF /xc1 16 def /yc1 12 def /xt 1 def xchart 1 eq {/xt 1 def} if 28 SHSl sub MM 20 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 17 %line 399 %!PS-Adobe-3.0 EPSF-3.0 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 0 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 0 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 0 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 3 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV20-7N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /DOCINFO pdfmark08 [ /View [ /Fit ] /DOCVIEW pdfmark08 %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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 0 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 1 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 0 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 3 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV20-8N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%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 /SHSr 2 MM def /SHAr 2 MM def BeginEPSF 161 MM 06 MM sub SHSr 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 1 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 0 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 7 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 0 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV21-1N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 06 MM sub SHAr add 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 1 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 1 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 7 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 0 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV21-2N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 06 MM sub SHSr 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 1 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 0 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 7 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 1 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV21-3N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 06 MM sub SHAr add 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 1 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 1 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 7 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 1 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV21-4N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 06 MM sub SHSr 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 1 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 0 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 7 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 2 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV21-5N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 06 MM sub SHAr add 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 1 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 1 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 7 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 2 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV21-6N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 06 MM sub SHSr 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 1 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 0 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 7 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 3 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV21-7N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 06 MM sub SHAr add 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 DGV20-7R_R %%BoundingBox: 70 85 243 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/DGV2/DGV2.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022060112000) /ModDate (D:2022060112000) /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 /TX {120 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIX {120 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBX {120 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-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 /TBIX {120 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-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 /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /xanD65 XD65 XD65 YD65 add ZD65 add div def /yanD65 YD65 XD65 YD65 add ZD65 add div def %******************************************************* %created for 10 colours of hue circle and different lightness /LCh*12 60 array def /XYZ*12 60 array def /LCh*12n 60 array def /XYZ*12n 60 array def %************************************************************** %created for 45 colours of equal chroma and different lightness /rgb*45 500 array def %5x45, NOT 3x45 /LCh*45 500 array def %5x45 /XYZ*45 500 array def %5x45 /rgb*45n 500 array def %5x45, NOT 3x45 /XYZ*45n 500 array def %5x45 /XYZ*45na 500 array def /LCh*45n 500 array def %5x45 /LCh*45na 500 array def %5x45 %************************************************************ %definition of A for xchartl=0 to 5 /XYZ*5A 5 array def /LCh*5A 5 array def /XYZ*5N 5 array def /LCh*5N 5 array def /XYZ*5W 5 array def /LCh*5W 5 array def /XYZ*5An 5 array def /LCh*5An 5 array def /XYZ*5Nn 5 array def /LCh*5Nn 5 array def /XYZ*5Wn 5 array def /LCh*5Wn 5 array def /rgb*3A 3 array def /tex*3A 3 array def /rgb*3N 3 array def /tex*3N 3 array def /rgb*3W 3 array def /tex*3W 3 array def /LCh*5Na 5 array def %a=actual /LCh*5Wa 5 array def /LCh*5Aa 5 array def %******************************************************************* /proz_XYZ_LCh* {%BEG proz_XYZ_LCh* %input XYZaref, output LChab*ref, same name in any case %output LabC*h (xchart8=0) or LABC*h (xchart8=1) /XQ Xaref XD65 div def /YQ Yaref YD65 div def /ZQ Zaref ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def xchart8 0 eq {%xchart8=0 LabCh*-CIELAB /a*ref 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 def /b*ref 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 def } if %xchart8=0 LabCh*-CIELAB xchart8 1 eq {%xchart8=1 LabCh*=LABCh* /a*ref XQ YQ sub 250 mul def /b*ref YQ ZQ sub 100 mul def } if %xchart8=1 LabCh*=LABCh* xchart8 2 eq {%xchart8=2 LabCh*=LAB1Ch* /xanc 0.110 def /Bc 1.000 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=2 LabCh*=LAB1Ch* xchart8 3 eq {%xchart8=3 LabCh*=LAB2Ch* /xanc 0.110 def /Bc 0.800 def /a20 1.000 def /b20 -0.400 def /SUM Xaref Yaref add Zaref add 0.0001 add def /xan Xaref SUM div def /yan Yaref SUM div def /zan Zaref SUM div def /SUMD65 XD65 YD65 add ZD65 add 0.0001 add def /xanD65 XD65 SUMD65 div def /yanD65 YD65 SUMD65 div def /zanD65 ZD65 SUMD65 div def /aan xan xanc sub yan div a20 mul def /ban zan yan div b20 mul def /aanD65 xanD65 xanc sub yanD65 div a20 mul def /banD65 zanD65 yanD65 div b20 mul def /a*ref aan aanD65 sub 2.5 mul Yaref mul def /b*ref ban banD65 sub 2.5 mul Bc mul Yaref mul def } if %xchart8=3 LabCh*=LAB2Ch* /C*ref a*ref dup mul b*ref dup mul add sqrt def /h*ref b*ref a*ref 0.00001 add atan def C*ref 0.05 le {/h*ref 0 def} if } bind def %END proz_XYZ_LCh* %******************************************************************* /proz_LCh*_XYZ {%BEG proz_LCh*_XYZ %input LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1) %output XYZref, xyanref xchart8 0 eq {%xchart8=0 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /X* {L*ref 16 add 116 div a*ref 500 div add} bind def /Y* {L*ref 16 add 116 div} bind def /Z* {L*ref 16 add 116 div b*ref 200 div sub} bind def /Xref X* DecodeXYZ* XD65 mul def /Yref Y* DecodeXYZ* YD65 mul def /Zref Z* DecodeXYZ* ZD65 mul def } if %xchart8=0 xchart8 1 ge {%xchart8>=1 xchart8 1 eq {%xchart8=1 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=1 xchart8 2 eq {%xchart8=2 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /Y* {L*ref 16 add 116 div} bind def /Yref Y* DecodeXYZ* YD65 mul def } if %xchart8=3 /a*ref C*ref h*ref cos mul def /b*ref C*ref h*ref sin mul def /Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def /Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def } if %xchart8>=1 Xref 0.01 lt {/Xref 0.01 def} if Yref 0.01 lt {/Yref 0.01 def} if Zref 0.01 lt {/Zref 0.01 def} if /SUM Xref Yref add Zref add 0.0001 add def /xanref Xref SUM div def /yanref Yref SUM div def } bind def %END proz_LCh*_XYZ %************************************************************************* /proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition % achromatic colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def /YrN 2.52 def /Xnref YrN XLN001 mul def /Ynref YrN def /Znref YrN ZLN001 mul def /Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def /Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def /Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def /YNil Ytref def /YNil001 YNil 100 div def YNil001 6 29 div 3 exp ge {/FYYn YNil001 0.3333 exp def} {/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse /L*Nil 116 FYYn mul 16 sub def } bind def %END proz_XYZnw_D65_xchart7_definition %************************************************************** /proz_XYZ*12_XYZ*12n {%BEG proz_XYZ*12_XYZ*12n %for 10 colours %input XYZ*12, rgb*10 %output LCh*12n, rgb*10n %only for xchart5=1 and for 10 colours in 7 hue planes and achromatic %change XYZ*12 to XYZ*12n by display reflection according to xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*12n i100 XYZ*12 i100 get Xnor sub Xfac1 mul Xnor add put XYZ*12n i101 XYZ*12 i101 get Ynor sub Yfac1 mul Ynor add put XYZ*12n i102 XYZ*12 i102 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*12n i100 XYZ*12 i100 get Xfac2 mul Xtref add put XYZ*12n i101 XYZ*12 i101 get Yfac2 mul Ytref add put XYZ*12n i102 XYZ*12 i102 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*12_XYZ*12n %**************************************************************** /proz_XYZ*45_XYZ*45n {%BEG proz_XYZ*45_XYZ*45n %for 45 colours %input XYZ*45, rgb*45 %output XYZ*45n, rgb*45n %only for xchart5=1 and for 45 colours in hue plane %change XYZ*45 to XYZ*45n by display reflection according t0 xchart7 %normalization to Ynor=18 xchart9 1 eq {%xchart9=1 /Xnor XD65 0.18 mul def /Ynor YD65 0.18 mul def /Znor ZD65 0.18 mul def /Xfac1 Xnor Xnor Xtref add div def /Yfac1 Ynor Ynor Ytref add div def /Zfac1 Znor Znor Ztref add div def XYZ*45n i450 XYZ*45 i450 get Xnor sub Xfac1 mul Xnor add put XYZ*45n i451 XYZ*45 i451 get Ynor sub Yfac1 mul Ynor add put XYZ*45n i452 XYZ*45 i452 get Znor sub Zfac1 mul Znor add put } if %xchart9=1 %normalization to Ynor=88.6 xchart9 0 eq {%xchart9=0 /Xnor XD65 0.886 mul def /Ynor YD65 0.886 mul def /Znor ZD65 0.886 mul def /Xfac2 Xnor Xtref sub Xnor div def /Yfac2 Ynor Ytref sub Ynor div def /Zfac2 Znor Ztref sub Znor div def XYZ*45n i450 XYZ*45 i450 get Xfac2 mul Xtref add put XYZ*45n i451 XYZ*45 i451 get Yfac2 mul Ytref add put XYZ*45n i452 XYZ*45 i452 get Zfac2 mul Ztref add put } if %xchart9=0 } bind def %END proz_XYZ*45_XYZ*45n %*********************************************************** %*********************************************************** /proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions /XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50 /XYZ*WCGa_d_0000_0886 [056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72 069.24 083.34 002.48 %1 Yd 012.81 060.07 002.48 %2 Gd 027.77 066.32 096.48 %3 Cd 014.96 005.25 094.00 %4 Bd 071.39 028.52 094.00 %5 Md 056.43 023.27 000.00 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*sRGB_d_0000_0886 [036.54 018.84 001.71 %0 Rd %from AE99:Y10-7N (ISO 9241-306 for 100/88,6) 068.22 082.20 012.27 %1 Yd %new table 210217, only R was for 88.60 031.68 063.36 010.56 %2 Gd 047.67 069.76 094.78 %3 Cd 015.99 006.40 084.22 %4 Bd 052.53 025.24 085.93 %5 Md 036.54 018.84 001.71 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00 /XYZ*Ostw_d_0000_1000 [062.40 041.75 000.76 %0 Rm 561_405 589 %ANI6_Y10-7N,201012 076.68 082.00 001.27 %1 Ym 520_520c 569 023.83 065.32 015.00 %2 Gm 475_473 528c 032.63 058.24 108.12 %3 Cm 405_561 483 018.36 017.99 107.61 %4 Bm 519c-519 471 071.20 034.67 093.88 %5 Mm 573_475 528c 062.40 041.75 000.76 %6 Rm 561_405 589 %for hue circle 000.01 000.01 000.01 %7 N0 095.05 100.00 108.90 %8 W0 000.01 000.01 000.01 %9 N1 107.29 112.88 122.24 %10 W1 19.31 20.31 22.00 %11 Z1 ] def /XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00 /XYZ*Offs_d_0000_0886 [029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012 063.74 072.69 008.27 %1 Yd 008.53 020.05 009.58 %2 Gd 018.74 026.27 069.02 %3 Cd 006.22 004.51 022.65 %4 Bd 032.46 016.95 023.04 %5 Md 029.01 016.24 004.26 %6 Rd %for hue circle 000.01 000.01 000.01 %7 N0 084.21 088.60 096.48 %8 W0 000.01 000.01 000.01 %9 N1 095.05 100.00 108.90 %10 W1 017.11 18.00 19.60 %11 Z1 ] def /rgb*36X 36 array def /rgb*36X [1 0 0 %0 1 1 0 %1 0 1 0 %2 0 1 1 %3 0 0 1 %4 1 0 1 %5 1 0 0 %6 0.00 0.00 0.00 %7 N0 1.00 1.00 1.00 %8 W0 0.00 0.00 0.00 %9 N1 1.13 1.13 1.13 %10 W1 0.18 0.18 0.18 %11 Z1 ] def /tex*36X 36 array def /tex*36X [(Rot) (red) (R) %0 (Gelb) (yellow) (Y) %1 (Gr\374n) (green) (G) %2 (Cyan) (cyan) (C) %3 (Blau) (blue) (B) %4 (Magenta) (magenta) (M) %5 (Rot) (red) (R) %6 (Schwarz) (black) (N) %7 (Wei\337) (white) (W) %8 (Schwarz) (black) (N1) %9 (Wei\337) (white) (W1) %10 (Grau) (grey) (Z1) %11 ] def /XYZnref_ISO9241-306 24 array def /XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018 00.01 00.01 00.01 %0 0288:1 00.60 00.63 00.69 %1 0144:1 01.20 01.26 01.37 %2 0072:1 02.40 02.52 02.74 %3 0036:1 %standard 04.79 05.04 05.49 %4 0018:1 08.58 10.08 10.98 %5 0009:1 19.16 20.16 21.95 %6 04,5:1 38.32 40.32 43.90 %7 2,25:1 ] def /Ynref_ISO9241-306 8 array def 0 1 7 {/i exch def %i=0,7 /i31 i 3 mul 1 add def Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put } for %i=0,7 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 sISO 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def xchart4 0 eq {%xchart4=0 XYZ*12 i50 XYZ*sRGB_d_0000_0886 i30 get put XYZ*12 i51 XYZ*sRGB_d_0000_0886 i31 get put XYZ*12 i52 XYZ*sRGB_d_0000_0886 i32 get put } if %xchart4=0 xchart4 1 eq {%xchart4=1 XYZ*12 i50 XYZ*WCGa_d_0000_0886 i30 get put XYZ*12 i51 XYZ*WCGa_d_0000_0886 i31 get put XYZ*12 i52 XYZ*WCGa_d_0000_0886 i32 get put } if %xchart4=1 xchart4 2 eq {%xchart4=2 XYZ*12 i50 XYZ*Offs_d_0000_0886 i30 get put XYZ*12 i51 XYZ*Offs_d_0000_0886 i31 get put XYZ*12 i52 XYZ*Offs_d_0000_0886 i32 get put } if %xchart4=2 xchart4 3 eq {%xchart4=3 XYZ*12 i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put XYZ*12 i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put XYZ*12 i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put } if %xchart4=3 /SUM XYZ*12 i50 get XYZ*12 i51 get add XYZ*12 i52 get add def XYZ*12 i53 XYZ*12 i50 get SUM div put XYZ*12 i54 XYZ*12 i51 get SUM div put %will be replaced, if xchart5=1 XYZ*12n i50 XYZ*12 i50 get put XYZ*12n i51 XYZ*12 i51 get put XYZ*12n i52 XYZ*12 i52 get put XYZ*12n i53 XYZ*12 i53 get put XYZ*12n i54 XYZ*12 i54 get put } for %i=0,11 } bind def %END proz_sRGB_rgb*36X_definitions %*************************************************************** /proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition %loop for maximal 5 colours +N +W 0 1 2 {/j exch def %j=0,2 %three components /i3j xchartl 3 mul j add def rgb*3A j rgb*36X i3j get put tex*3A j tex*36X i3j get put } for %j=0,2 0 1 4 {/j exch def %j=0,4 %three components /i5j xchartl 5 mul j add def XYZ*5A j XYZ*12 i5j get put LCh*5A j LCh*12 i5j get put XYZ*5An j XYZ*12n i5j get put LCh*5An j LCh*12n i5j get put } for %j=0,4 0 1 2 {/i exch def %i=0,2 rgb*3N i rgb*36X i 21 add get put %8x3 tex*3N i tex*36X i 21 add get put rgb*3W i rgb*36X i 24 add get put %9x3 tex*3W i tex*36X i 24 add get put } for %i=0,2 0 1 4 {/i exch def %i=0,4 XYZ*5N i XYZ*12 i 35 add get put %8x5 LCh*5N i LCh*12 i 35 add get put XYZ*5W i XYZ*12 i 40 add get put %9x5 LCh*5W i LCh*12 i 40 add get put XYZ*5Nn i XYZ*12n i 35 add get put %8x5 LCh*5Nn i LCh*12n i 35 add get put XYZ*5Wn i XYZ*12n i 40 add get put %9x5 LCh*5Wn i LCh*12n i 40 add get put } for %i=0,4 /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def /L*Xdn LCh*5An 0 get def /C*Xdn LCh*5An 1 get def /L*Ndn LCh*5Nn 0 get def /L*Wdn LCh*5Wn 0 get def /xfact 2000 100 div def /yfact 2000 100 div def %Titeltext /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xpN xp def /ypN yp 2000 sub def /xpW xp def /ypW yp def /xpX xp 2000 add def /ypX yp 1000 sub def /xNd xp def %Nd /yNd ypN L*Nd yfact mul add def %Nd /xWd xp def %Wd /yWd ypN L*Wd yfact mul add def %Wd /xRd xp C*Xd xfact mul add def %Xd /yRd ypN L*Xd yfact mul add def /tex_LC*hab {xchart8 0 eq {(LC*hab) show} if xchart8 1 eq {(L*ChAB) show} if xchart8 2 eq {(L*ChAB) show} if xchart8 3 eq {(L*ChAB) show} if } bind def /tex_LabC*h {xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if } bind def /indd {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /inddk {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /inde {0 -50 rmoveto (d) show 0 50 rmoveto} bind def /indek {0 -50 rmoveto (d,) show 0 50 rmoveto} bind def /indab {0 -50 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 50 rmoveto} bind def /indabk {0 -50 rmoveto xchart8 0 eq {(ab,)} if xchart8 1 eq {(AB,)} if xchart8 2 eq {(AB1,)} if xchart8 3 eq {(AB2,)} if show 0 50 rmoveto} bind def /indabd {0 -50 rmoveto xchart8 0 eq {(ab,d)} if xchart8 1 eq {(AB,d)} if xchart8 2 eq {(AB1,d)} if xchart8 3 eq {(AB2,d)} if show 0 50 rmoveto} bind def /indabe {0 -50 rmoveto xchart8 0 eq {(ab,e)} if xchart8 1 eq {(AB,e)} if xchart8 2 eq {(AB1,e)} if xchart8 3 eq {(AB2,e)} if show 0 50 rmoveto} bind def /indabN {0 -50 rmoveto xchart8 0 eq {(ab,N)} if xchart8 1 eq {(AB,N)} if xchart8 2 eq {(AB1,N)} if xchart8 3 eq {(AB2,N)} if show 0 50 rmoveto} bind def /indabW {0 -50 rmoveto xchart8 0 eq {(ab,W)} if xchart8 1 eq {(AB,W)} if xchart8 2 eq {(AB1,W)} if xchart8 3 eq {(AB2,W)} if show 0 50 rmoveto} bind def } bind def %END proz_out_text_ANW_definition %************************************************************** /nshow {TS show} bind def /kshow {TIS show} bind def /bshow {TBS show} bind def /jshow {TBIS show} bind def /ibshown {TBV -50 -50 rmoveto show 0 50 rmoveto TBS} bind def /ibshow0 {TBV -00 -50 rmoveto show 0 50 rmoveto TBS} bind def /ishown {TV -50 -50 rmoveto show 0 50 rmoveto TS } bind def /ishow0 {TV -00 -50 rmoveto show 0 50 rmoveto TS } bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /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 %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 100 rmoveto show 0 -100 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 100 rmoveto show 0 -100 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow1g {/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 /cvsshow2g {/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 /cvsshow3g {/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 %%EndProlog gsave /lanind 0 def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind le {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind le {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind le {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartl 0 def %0 for xchart6=0 or 1; 0 to 5 for 6 hue planes /xchart3 0 def %0: LCH, %1: ICE/ice /xchart4 3 def %0: sRGB, 1: WCGa, 3: Offs, 4:Ostw /xchart5 1 def %0: YN=0, 1: YN=0,0 ..2,5 ..40,3 /xchart6 1 def %0: Y10-1N, %1 Y10-2N, %2: Y10-3N to 8N /xchart7 7 def %0 to 7: 8 contrast steps no. 1 to 8 according to ISO 9241-406 /xchart8 3 def %0: LabC*h, 1: L*ABCh, 2: L*AB1Ch, 3:L*AB2Ch /xchart9 0 def %0 for Normalizaton; 0: Y=88,6, 1: Y=18,0 4 /Times-ISOL1 FS 72 86 moveto (DGV21-8N) show 72 90 translate 0.01 MM 0.01 MM scale 15 setlinewidth 1 setgray /xwide 6000 def /ywide 4000 def 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwide 0 rlineto 0 ywide rlineto xwide neg 0 rlineto closepath stroke %produces XYZ*12 and XYZ*12n proz_sRGB_rgb*36X_definitions %uses XYZ*12 proz_XYZnw_D65_xchart7_definition 0 1 11 {/i exch def %i=0,09 /i100 i 5 mul def /i101 i100 1 add def /i102 i100 2 add def /i103 i100 3 add def /i104 i100 4 add def /Xaref XYZ*12 i100 get def /Yaref XYZ*12 i101 get def /Zaref XYZ*12 i102 get def % in any case defined proz_XYZ_LCh* LCh*12 i100 L*ref put LCh*12 i101 C*ref put LCh*12 i102 h*ref put LCh*12 i103 a*ref put LCh*12 i104 b*ref put LCh*12n i100 L*ref put %may be replaced LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put xchart5 1 eq {%BEG xchart5=1 %XYZaref see above %input XYZ*12 %output XYZ*12n, LCh*12n proz_XYZ*12_XYZ*12n %calculates intermediate XYZ*12n /Xaref XYZ*12n i100 get def /Yaref XYZ*12n i101 get def /Zaref XYZ*12n i102 get def %input XYZaref, output LChab*ref proz_XYZ_LCh* LCh*12n i100 L*ref put LCh*12n i101 C*ref put LCh*12n i102 h*ref put LCh*12n i103 a*ref put LCh*12n i104 b*ref put } if %xchart5=1 } for %i=0,11 %produces for hue circle and achromatic colours %XYZ*(ANW)_(ANW)n, LCh*(ANW)_(ANW)n with 5 components %rgb*(ANW)_(ANW)n, tex*(ANW)_(ANW)n with 3 components proz_out_text_ANW_definition /yt 300 def %y-Zeilenabstand for text /yd 400 def %y-Zeilenabstand for formula %Spalten /S1 100 def /S2 1500 def /S3 2300 def /S4 5900 def /S5 7700 def /S6 8500 def /yz 400 def /yu5 7600 def /yu4 7100 def /yu3 5800 def /yu2 5800 def /yu1 5800 def %******************************************************** xchart6 0 eq {%xchart6=0 table /xdXYZ 470 def /xdLab 570 def 50 3750 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) show TBS (, and ) showen ( und ) showde TBIS tex_LabC*h TBV indab TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen} if xchart8 1 eq {( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen} if xchart8 2 eq {( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen} if xchart8 3 eq {( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen} if 0 3650 moveto 6000 0 rlineto stroke 50 3400 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 TIS (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show} {(=18.) show} ifelse } if %xchart5=1 /xt1 0000 def /yt1 0000 def xt1 yt1 translate /y01 3250 def /y02 2850 def /S10 40 def %colour /S20 0400 def %rgb /S30 0900 def %XYZ /S40 3300 def %LCh*ab 0 y01 moveto 6000 0 rlineto stroke 0 y02 100 sub moveto 6000 0 rlineto stroke 0 750 moveto 6000 0 rlineto stroke S20 50 sub y01 moveto S20 50 sub 0 lineto stroke S30 50 sub y01 moveto S30 50 sub 0 lineto stroke S40 50 sub y01 moveto S40 50 sub 0 lineto stroke TBV S30 y02 200 add moveto (CIEXYZ) show (\255Daten) showde ( data) showen S40 y02 200 add moveto TBIV xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBX indab TBV (\255Daten) showde ( data) showen S20 y02 moveto TBIV (rgb*) show /tex_XYZxy [(X) (Y) (Z) (x) (y)] def 0 1 4 {/k exch def %k=0,4 TBIV S30 k xdXYZ mul add y02 moveto tex_XYZxy k get show TBX S30 k xdXYZ mul add 080 add y02 moveto 0 -50 rmoveto (d) show 0 50 rmoveto } for %k=0,4 xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 120 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h ) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 60 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 60 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV S40 k xdLab mul add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 2500 def /y0d 235 def TBV 0 1 10 {/j exch def %j=0,9 colours without red twice /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /ydd 0 def i 8 gt {/ydd 0.2 y0d mul def} if S10 y03 j y0d mul sub ydd sub moveto tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub ydd sub moveto TBV i 8 le {%i<=7 rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow} {rgb*36X i30 get cvsshow2g} ifelse /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def 0 1 4 {/k exch def %k=0,4 TV S30 k xdXYZ mul add y03 j y0d mul sub ydd sub moveto k 0 eq {XYZ*12n i50 get cvsshow2g} if k 1 eq {XYZ*12n i51 get cvsshow2g} if k 2 eq {XYZ*12n i52 get cvsshow2g} if k 3 eq {XYZ*12n i53 get cvsshow3g} if k 4 eq {XYZ*12n i54 get cvsshow3g} if } for %k=0,4 0 1 4 {/k exch def %k=0,4 k 3 le {TV}{TBV} ifelse S40 k xdLab mul add y03 j y0d mul sub ydd sub moveto k 0 eq {LCh*12n i50 get cvsshow2g} if k 1 eq {LCh*12n i53 get cvsshow2g} if k 2 eq {LCh*12n i54 get cvsshow2g} if k 3 eq {LCh*12n i51 get cvsshow2g} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,10 xt1 neg yt1 neg translate } if %xchart6=0 table %********************************************************* xchart6 1 eq {%xchart6=1 hue circle /xdLab 300 def %HUE CIRCLE /xd 1550 def /yd 5000 def /xp 1550 def /yp 5000 def /xdN xd def /ydN yd 2000 sub def /xdW xd def /ydW yd def /xdR xd 2000 add def /ydR yd 1000 sub def /xm 2000 4 div def /xip xd xm 2 mul add def /yip ydN xm 2 mul add def /xi1 xd xm 1 mul sub def /yi1 ydW xm 0.5 mul sub def /xi2 xd xm 2 mul add def /yi2 ydN 400 sub def /rgb*30Y 84 def %7x12 /rgb*30Y [1.00 0.00 0.00 %0 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 %1 Y 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 0.00 %2 G 0.00 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 %3 C 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 1.00 %4 B 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 1.00 1.00 0.00 1.00 %5 M 1.00 0.00 0.75 1.00 0.00 0.50 1.00 0.00 0.25 1.00 0.00 0.00 %6 R 1.00 0.25 0.00 1.00 0.50 0.00 1.00 0.75 0.00 ] def 50 3800 moveto TBIS xchart4 0 eq {(sRGB) show} if xchart4 1 eq {(WCGa) show} if xchart4 2 eq {(Offs) show} if xchart4 3 eq {(Ostw) show} if TBS (\255Daten ) showde ( data ) showen TBIS (rgb*) show TBIS (, XYZxy) showde (, XYZxy) showen TBS (, and ) showen ( und ) showde TBIS xchart8 0 eq {(LabC*h) show} if xchart8 1 eq {(L*ABCh) show} if xchart8 2 eq {(L*ABCh) show} if xchart8 3 eq {(L*ABCh) show} if TBV 0 -40 rmoveto xchart8 0 eq {(ab)} if xchart8 1 eq {(AB)} if xchart8 2 eq {(AB1)} if xchart8 3 eq {(AB2)} if show 0 40 rmoveto TBS xchart8 0 eq {%xchart8=0 ( im CIELAB\255Farbraum) showde ( in the CIELAB\255colour space) showen } if %xchart8=0 xchart8 1 eq {%xchart8=1 ( im L*ABJND\255Farbraum) showde ( in L*ABJND\255colour space) showen } if %xchart8=1 xchart8 2 eq {%xchart8=2 ( im L*AB1JND\255Farbraum) showde ( in L*AB1JND\255colour space) showen } if %xchart8=2 xchart8 3 eq {%xchart8=3 ( im L*AB2JND\255Farbraum) showde ( in L*AB2JND\255colour space) showen } if %xchart8=3 0 3700 moveto 6000 0 rlineto stroke 50 3500 moveto TS (Normfarbwerte von Schwarz und Wei\337: ) showde (Tristimulus values of black and white: ) showen TIS (Y) show TV 0 -40 rmoveto xchart5 0 eq {(N) show}{(Nn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5N 1 get cvsshow1g} {XYZ*5Nn 1 get cvsshow1g} ifelse TIS (, Y) show TV 0 -40 rmoveto xchart5 0 eq {(W) show}{(Wn) show} ifelse 0 40 rmoveto TS (=) show xchart5 0 eq {XYZ*5W 1 get cvsshow1g} {XYZ*5Wn 1 get cvsshow1g} ifelse xchart5 1 eq {%xchart5=1 (, Y) show TV 0 -40 rmoveto xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto TS xchart9 0 eq {(=88,6.) show}{(=18.) show} ifelse } if %xchart5=1 /y01 3350 def /y02 3300 def /S10 40 def %colour /S20 0270 def %rgb /S40 0650 def %LCh*ab xchart8 0 eq {/S50 2600 def} {/S50 2150 def} ifelse %[X] %TBV %S40 y02 250 add moveto %TBIV %xchart8 0 eq {(LabC*h) show} if %xchart8 1 eq {(L*ABCh) show} if %xchart8 2 eq {(L*ABCh) show} if %xchart8 3 eq {(L*ABCh) show} if %TBX %indab %TBV %(\255Daten) showde %( data) showen S20 y02 moveto TBIV (rgb*) show TBX -50 -50 rmoveto (d) show 50 50 rmoveto xchart8 0 eq {/tex_LabCh* [(L*) (a*) (b*) (C*) (h) ] def /ind_LabCh* [(d) (d) (d) (ab,d) (ab,d)] def /tex_xshift [120 120 120 100 80 ] def } if xchart8 1 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (d) (d) (AB,d) (AB,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 2 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (1,d)(1,d)(AB1,d)(AB1,d)] def /tex_xshift [120 80 80 80 80 ] def } if xchart8 3 eq {/tex_LabCh* [(L*) (A) (B) (C) (h) ] def /ind_LabCh* [(d) (2,d)(2,d)(AB2,d)(AB2,d)] def /tex_xshift [120 80 80 80 80 ] def } if 0 1 4 {/k exch def %k=0,4 TBIV /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -70 def} if k 4 eq {/xdLabk 50 def} if S40 k xdLab mul add xdLabk add y02 moveto tex_LabCh* k get show TBX S40 k xdLab mul add xdLabk add tex_xshift k get add y02 moveto 0 -50 rmoveto ind_LabCh* k get show 0 50 rmoveto } for %k=0,4 /y03 3100 def /y0d 190 def 0 1 7 {/j exch def %j=0,8 9 colours /i j def j 6 ge {/i j 1 add def} if %for N and W /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def S10 y03 j y0d mul sub moveto TBV tex*36X i32 get show TBX 0 -40 rmoveto (d) show 0 40 rmoveto S20 y03 j y0d mul sub moveto TBV rgb*36X i30 get cvishow ( ) show rgb*36X i31 get cvishow ( ) show rgb*36X i32 get cvishow 0 1 4 {/k exch def %k=0,4 /xdLabk 0 def k 1 eq {/xdLabk -50 def} if k 2 eq {/xdLabk -50 def} if k 3 eq {/xdLabk -50 def} if k 4 lt {TV}{TBV} ifelse S40 k xdLab mul add xdLabk add y03 j y0d mul sub moveto k 0 eq {LCh*12n i50 get cvishow} if k 1 eq {LCh*12n i53 get dup -100 le {-50 0 rmoveto} if cvishow} if k 2 eq {LCh*12n i54 get dup -100 le {-50 0 rmoveto} if cvishow} if k 3 eq {LCh*12n i51 get cvishow} if k 4 eq {LCh*12n i52 get cvishow} if } for %k=0,4 } for %j=0,7 /y0d 0210 def xchart8 1 le {%xchart8<=1 S10 y03 11.2 y0d mul sub moveto TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if TBV xchart8 0 eq {( = 500 [\050) show} if xchart8 1 eq {( = 250 [) show} if TBIV (X) show TBV ( / ) show TBIV (X) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto } if TBV ( ]) show S50 y03 11.2 y0d mul sub moveto TBV xchart8 0 eq {([1a]) show} if xchart8 1 eq {([1b]) show} if S10 y03 12.2 y0d mul sub moveto TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if TBV xchart8 0 eq {( = 200 [\050) show} if xchart8 1 eq {( = 100 [) show} if TBIV (Y) show TBV ( / ) show TBIV (Y) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( - ) show xchart8 0 eq {(\050) show} if TBIV (Z) show TBV ( / ) show TBIV (Z) show TBX 0 -40 rmoveto (D65) show 0 40 rmoveto TBV xchart8 0 eq {(\051) show TBX 0 100 rmoveto (1/3) show 0 -100 rmoveto} if TBV ( ]) show S50 y03 12.2 y0d mul sub moveto TBV xchart8 0 eq {([2a]) show} if xchart8 1 eq {([2b]) show} if } if %xchart8<=1 xchart8 2 eq {%xchart8=2 /index0 {0 -50 rmoveto TBX (1) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (1,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=2 xchart8 3 eq {%xchart8=3 /index0 {0 -50 rmoveto TBX (2) show 0 50 rmoveto xcol10KBX} def /indexn {0 -50 rmoveto TBX (2,n) show 0 50 rmoveto xcol10KBX} def } if %xchart8=3 /xcol10_BX {xcolor 1 eq {TBX 0 -50 rmoveto (10) show 0 50 rmoveto TBV} if } bind def /xcol10KBX {xcolor 1 eq {TBX 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if } bind def TBIV /y04 3100 def xchart8 2 ge {%xchart8>=2 xchart8 2 eq {/Bct (1,000) def /xct (0,110) def} if xchart8 3 eq {/Bct (0,800) def /xct (0,110) def} if S10 y04 07.2 y0d mul sub moveto TBIV (a) show index0 TBV ( = ) show TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [ ) show TBIV (\050 x) show xcol10_BX TBV ( - ) show TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBIV ( \051 / y) show xcol10_BX TBV (]) show S10 y04 08.2 y0d mul sub moveto TBIV (b) show index0 TBV ( = ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( [) show TBIV ( z) show xcol10_BX TBIV ( / y) show xcol10_BX TBV (]) show S10 y04 09.2 y0d mul sub moveto TBIV (a) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = 1, ) show TBIV (b) show 0 -50 rmoveto TBX (20) show 0 50 rmoveto TBV ( = -0,4) show S10 y04 10.2 y0d mul sub moveto TBIV (x) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show xct show (, ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( = ) show Bct show S10 y04 11.2 y0d mul sub moveto TBIV (A) show index0 TBV ( = 2,5 \050) show TBIV (a) show index0 TBV ( - ) show TBIV (a) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 11.2 y0d mul sub moveto TBV xchart8 2 eq {([1c]) show} if xchart8 3 eq {([1d]) show} if S10 y04 12.2 y0d mul sub moveto TBIV (B) show index0 TBV ( = 2,5 ) show TBIV (B) show 0 -50 rmoveto TBX (c) show 0 50 rmoveto TBV ( \050) show TBIV (b) show index0 TBV ( - ) show TBIV (b) show indexn TBV (\051 ) show TBIV (Y) show xcol10_BX S50 y04 12.2 y0d mul sub moveto TBV xchart8 2 eq {([2c]) show} if xchart8 3 eq {([2d]) show} if } if %xchart8>=2 %for all S10 y04 13.4 y0d mul sub moveto TBIV (C) show TBIV xchart8 0 eq {(*) show} if TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = [ ) show TBIV xchart8 0 eq {(a*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(A) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(A) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( + ) show TBIV xchart8 0 eq {(b*) show TBX 0 100 rmoveto (2) show 0 -100 rmoveto} if xchart8 1 eq {(B) show TBX 0 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 2 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if xchart8 3 eq {(B) show index0 TBX -30 70 rmoveto (2) show 0 -70 rmoveto} if TBV ( ] ) show TBX -30 70 rmoveto (0,5) show 0 -70 rmoveto S50 y04 13.4 y0d mul sub moveto TBV xchart8 0 eq {([3a]) show} if xchart8 1 eq {([3b]) show} if xchart8 2 eq {([3c]) show} if xchart8 3 eq {([3d]) show} if S10 y04 14.4 y0d mul sub moveto TBIV (h) show TBX xchart8 0 eq {0 -40 rmoveto (ab) show 0 40 rmoveto} if xchart8 1 eq {0 -40 rmoveto (AB) show 0 40 rmoveto} if xchart8 2 eq {0 -40 rmoveto (AB1) show 0 40 rmoveto} if xchart8 3 eq {0 -40 rmoveto (AB2) show 0 40 rmoveto} if TBV ( = atan [ ) show TBIV xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show index0} if xchart8 3 eq {(B) show index0} if TBV ( / ) show TBIV xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show index0} if xchart8 3 eq {(A) show index0} if TBV ( ]) show S50 y04 14.4 y0d mul sub moveto TBV xchart8 0 eq {([4a]) show} if xchart8 1 eq {([4b]) show} if xchart8 2 eq {([4c]) show} if xchart8 3 eq {([4d]) show} if /xt2 2150 def /yt2 -2370 def xt2 yt2 translate 0 setgray xp 1450 sub yp 0750 add moveto /L*Xd LCh*5A 0 get def /C*Xd LCh*5A 1 get def /L*Nd LCh*5N 0 get def /L*Wd LCh*5W 0 get def xchart8 0 eq {/xfact1 12 def /yfact1 12 def } if xchart8 1 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 2 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if xchart8 3 eq { % /xfact1 12 mul 2.5 mul def % /yfact1 12 mul 2.5 mul def /xfact1 12 def /yfact1 12 def } if /xp0 xp 0400 add def /yp0 yp 1000 sub def /xpN xp0 1000 sub def /ypN yp0 1000 sub def xp0 1900 sub yp0 0 sub moveto 3600 0 rlineto %horizontal axis & arrow -100 40 rlineto 100 -40 rlineto -100 -40 rlineto stroke xp0 0000 add yp0 1400 sub moveto 0 3100 rlineto %vertical axis & arrow -40 -100 rlineto 40 100 rlineto 40 -100 rlineto stroke xp0 1800 sub yp0 70 sub moveto 0 140 rlineto stroke %marks, horizontal axis xp0 1200 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 sub yp0 70 sub moveto 0 140 rlineto stroke xp0 0600 add yp0 70 sub moveto 0 140 rlineto stroke xp0 1200 add yp0 70 sub moveto 0 140 rlineto stroke xchart8 0 eq {%xchart8=0 /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if xchart8 1 eq {%xchart8=1 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 2 eq {%xchart8=2 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=1 xchart8 3 eq {%xchart8=3 % /scal_x [(-60) ( -40) ( -20) ( 20) ( 40)] def % /scal_y [( 40) (20) (-20) (-40) ] def /scal_x [(-150) (-100) ( -50) ( 50) ( 100)] def /scal_y [(100) (50) (-50) (-100)] def } if %xchart8=3 TV xp0 2000 sub yp0 220 sub moveto scal_x 0 get show %numbers, horizontal scale xp0 1400 sub yp0 220 sub moveto scal_x 1 get show xp0 0750 sub yp0 220 sub moveto scal_x 2 get show xp0 0400 add yp0 220 sub moveto scal_x 3 get show xp0 1000 add yp0 220 sub moveto scal_x 4 get show xp0 70 sub yp0 1200 add moveto 140 0 rlineto stroke %marks, vertical axis xp0 70 sub yp0 0600 add moveto 140 0 rlineto stroke xp0 70 sub yp0 0600 sub moveto 140 0 rlineto stroke xp0 70 sub yp0 1200 sub moveto 140 0 rlineto stroke xp0 100 add yp0 1150 add moveto scal_y 0 get show %numbers, vertical axis xp0 100 add yp0 0550 add moveto scal_y 1 get show xp0 100 add yp0 0650 sub moveto scal_y 2 get show xp0 100 add yp0 1250 sub moveto scal_y 3 get show TBIK xp0 0080 add yp0 1550 add moveto xchart8 0 eq {(b*) show} if xchart8 1 eq {(B) show} if xchart8 2 eq {(B) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(B) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBIK xp0 1550 add yp0 0120 add moveto xchart8 0 eq {(a*) show} if xchart8 1 eq {(A) show} if xchart8 2 eq {(A) show TBS 0 -40 rmoveto (1) show 0 40 rmoveto} if xchart8 3 eq {(A) show TBS 0 -40 rmoveto (2) show 0 40 rmoveto} if TBK 0.5 setgray xchart5 1 eq {%old hexagon 15 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12 i53 get xfact1 mul add def /yi yp0 LCh*12 i54 get yfact1 mul add def xi yi 0040 0 360 arc fill } for %i=0,6 } if %old hexagon 1 setgray 30 setlinewidth 0 1 6 {/i exch def %i=0,6 0 setgray /i50 i 5 mul def /i53 i50 3 add def %a* /i54 i50 4 add def %b* /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def i 0 eq {xi yi moveto} if i 1 ge {xi yi lineto} if i 6 eq {stroke} if } for %i=0,6 0 1 5 {/i exch def %i=0,5 1 1 3 {/k exch def %k=1,3 0 setgray /i34 i 12 mul k 3 mul add def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi0 xp0 LCh*12n i53 get xfact1 mul add def /yi0 yp0 LCh*12n i54 get yfact1 mul add def /xi1 xp0 LCh*12n i53 5 add get xfact1 mul add def /yi1 yp0 LCh*12n i54 5 add get yfact1 mul add def /xiM xi0 xi1 xi0 sub k 0.25 mul mul add def /yiM yi0 yi1 yi0 sub k 0.25 mul mul add def /r rgb*30Y i34 3 add get def /g rgb*30Y i34 4 add get def /b rgb*30Y i34 5 add get def r g b setrgbcolor xiM yiM 0050 0 360 arc fill } for %k=1,3 } for %i=0,5 newpath /xshift 6 array def /yshift 6 array def % R Y G C B M /xshift [-50 -150 -100 -100 -250 -050] def /yshift [120 150 150 -300 -200 -300] def xchart8 1 eq {yshift 1 -300 put} if 0 1 5 {/i exch def %i=0,5 0 setgray /i3 i 3 mul def /i50 i 5 mul def /i53 i50 3 add def /i54 i50 4 add def /xi xp0 LCh*12n i53 get xfact1 mul add def /yi yp0 LCh*12n i54 get yfact1 mul add def xi yi 0100 0 360 arc fill /r rgb*36X i3 0 add get def /g rgb*36X i3 1 add get def /b rgb*36X i3 2 add get def r g b setrgbcolor xi yi 0050 0 360 arc fill newpath 0 setgray xi xshift i get add yi yshift i get add moveto tex*36X i 3 mul 2 add get show newpath } for %i=0,5 20 setlinewidth xt2 neg yt2 neg translate } if %xchart6=1 hue circle %******************************************************* showpage grestore %%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/DGV2/DGV2) show colorm cvishow deintp cvishow colorm 0 eq {(N) show} {(F) show} ifelse (P.PDF & ) show (http://130.149.60.45/~farbmetrik/DGV2/DGV2) show colorm cvishow deintp cvishow colorm 0 eq {(N) show} {(F) show} ifelse (P.TXT & ) show (http://130.149.60.45/~farbmetrik/DGV2/DGV2.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 /xmo xlo xro xlo sub 0.5 mul add def /ymo yro 1 MM sub def xmo 1 MM sub ymo moveto 2 MM 0 rlineto stroke xmo ymo 1 MM sub moveto 0 1 MM rlineto stroke 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 /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 /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. /xchartPD 1 def %xchartPD=0: Pxx, xchartPD=1: Dxx 0 1 7 {/i exch def %i=0,7 xchartPD 0 eq {%xchartPD=0 TELi i TELi0 i get put }%xchartPD=0 {%xchartPD=1 TELi i TELi1 i get put } ifelse %xchartPD=1 } for %i=0,7 0 setgray 12TIN 61 MM 13.5 MM moveto (TUB\255Pr\374fvorlage DGV2; ) showde %0DGV2X-Y 0000# (TUB\255test chart DGV2; ) showen %1DGV2X-Y 0000# (gr\341fico TUB\255DGV2; ) showes %2DGV2X-Y 0000# (TUB\255test graphique DGV2; ) showfr %3DGV2X-Y 0000# (grafico TUB\255DGV2; ) showit %4DGV2X-Y 0000# (TUB\255test chart DGV2; ) showjp %5DGV2X-Y 0000# %compare ISO 9241-306 /YNi [(0,0) (0,63) (1,26) (2,52) (5,04) (10,08) (20,16) (40,32)] def /xchart41 0 def %main text /xchart42 3 def %subtext /xchart71 7 def %reflection 0 to 7: 0,0 to 40,3 /xchart81 0 def %0: LabC*h, 1: L*ChAB /xchart91 0 def %0 Yw=89, 1: Yz=18 /xchart43 0 def %0:LCh 1:LMS(PDT) xchart41 0 eq {%xchart41=0 %F0,1 12TIN (Affine Farbmetrik f\374r vier Farbr\344me) showde (Affine colour metric for four colour spaces) showen } if %xchart41=0 61 MM 09.5 MM moveto 12TII xchart42 0 eq {(sRGB) show} if xchart42 1 eq {(WCGa) show} if xchart42 2 eq {(Offs) show} if xchart42 3 eq {(Ostw) show} if 12TIN (-Daten ) showde ( data ) showen 12TII (rgb*, XYZ, ) show ( and ) showea xchart43 0 eq {%xchart43=0 12TII (LCh) show 10TIN 0 -2 rmoveto (0..3) show 0 2 rmoveto %xchart81 0 eq {0 -2 rmoveto (0..3) show 0 2 rmoveto} if %xchart81 1 eq {0 -2 rmoveto (AB) show 0 2 rmoveto} if } if %xchart43=0 xchart43 1 eq {%xchart43=1 12TII (L) show 10TIN 0 -2 rmoveto (P) show 0 2 rmoveto 12TII (M) show 10TIN 0 -2 rmoveto (D) show 0 2 rmoveto 12TII (S) show 10TIN 0 -2 rmoveto (T) show 0 2 rmoveto } if %xchart43=0 12TIN %1DGV2X-Y 0200# (, Reflexion ) showde (, reflection ) showea 12TII (Y) show 10TIN 0 -2 rmoveto (N) show 0 2 rmoveto 12TIN (=0 & ) show (Y) show 10TIN 0 -2 rmoveto (Nn) show 0 2 rmoveto 12TIN (=) show YNi xchart71 get show (, ) show 12TII (Y) show 10TIN 0 -2 rmoveto (W) show 0 2 rmoveto 12TIN (=88,6, ) show 12TIN (Adaptation ) showde (adaptation ) showen 12TII (Y) show 10TIN 0 -2 rmoveto xchart91 0 eq {(Wa) show}{(Za) show} ifelse 0 2 rmoveto 12TIN xchart91 0 eq {(=88,6.) show} {(=18.) show} ifelse xchart42 1 eq {%xchart42=1 } if %xchart42=1 xchart42 2 eq {%xchart42=2 } if %xchart42=2 xchart42 3 eq {%xchart42=3 } if %xchart42=3 xchart 1 ge {%xchart>=1 12TIN (, 3D=) show colorm cvishow (, de=) show deintp cvishow 12TII 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 12TIN 184 MM 13.5 MM moveto (Eingabe: ) showde %0DGV2X-Y 0500# (input: ) showen %1DGV2X-Y 0500# (entrada: ) showes %2DGV2X-Y 0500# (entr\351e: ) showfr %3DGV2X-Y 0500# (immettere: ) showit %4DGV2X-Y 0500# (input: ) showjp %5DGV2X-Y 0500# 12TII (rgb/cmy0) show xchart41 0 eq {( (No 1MR)) show} {(->rgb ) show ((1MR)) show} ifelse %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 %12TIN %12TIN %184 MM 9.5 MM moveto %(Ausgabe: ) showde %0DGV2X-Y 0600# %(output: ) showen %1DGV2X-Y 0600# %(salida: ) showes %2DGV2X-Y 0600# %(sortie: ) showfr %3DGV2X-Y 0600# %(uscita: ) showit %4DGV2X-Y 0600# %(output: ) showjp %5DGV2X-Y 0600# %colorm=0,1! 12TIN xchart 0 eq {%xchart=0,#0 %xchart41 0 eq {12TIN % (no change) showen % (keine \304nderung) showde} % {12TIN % (change of gamma ) showen % (\304nderung Gamma ) showde % 12TII % (g) show % 10TIN % 0 -2 rmoveto (P) show 0 2 rmoveto} ifelse %12TIN %(rechts) showde %0DGV2X-Y 0700# %(right) showea %1DGV2X-Y 0700# %(ning\372n cambio) showes %2DGV2X-Y 0700# %(aucun changement) showfr %3DGV2X-Y 0700# %(nessun cambiamento) showit %4DGV2X-Y 0700# %(no change compared) showjp %5DGV2X-Y 0700# }%xchart=0 {%xchart#0 12TIN colorm 0 eq {%colorm=0 (Transfer nach ) showde %0DGV2X-Y 0800# (transfer to ) showen %1DGV2X-Y 0800# (transfiera a ) showes %2DGV2X-Y 0800# (transf\351rer \340 ) showfr %3DGV2X-Y 0800# (trasferire a ) showit %4DGV2X-Y 0800# (transfer to ) showjp %5DGV2X-Y 0800# }%colorm=0 {%colorm=1 (3D\255Linearisierung ) showde %0DGV2X-Y 0900# (3D\255linearization to ) showen %1DGV2X-Y 0900# (3D\255linealizaci\363n a ) showes %2DGV2X-Y 0900# (linearisation 3D selon ) showfr %3DGV2X-Y 0900# (3D\255linearizzazione a ) showit %4DGV2X-Y 0900# (3D\255linearization to ) showjp %5DGV2X-Y 0900# } ifelse %colorm=1 12TII 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 12TIN } ifelse %xchart=0,#0 %0 setgray %end white and unvisible 12TIN 62 MM 198.5 MM moveto 12TRN (http://farbe.li.tu-berlin.de/DGV2/DGV2L) show 12TIN (0) show % LSC$ show LEX$ show xchart41 4 le {(; only vector graphic VG) showen (; nur Vektorgrafik VG) showde} if % {(; VG with ISO\255PG image) showen % (; VG mit ISO\255PG\255Bild) showde} ifelse %1 setgray %start white and unvisible (; ) show xchart 0 eq { (Start\255Ausgabe) showde %0DGV2X-Y 1000# (start output) showen %1DGV2X-Y 1000# (comience salida) showes %2DGV2X-Y 1000# (sortie de production) showfr %3DGV2X-Y 1000# (cominciare l'uscita) showit %4DGV2X-Y 1000# (start output) showjp %5DGV2X-Y 1000# } if LSC$ (C) eq { (Start\255Ausgabe) showde %0DGV2X-Y 1100# (start output) showen %1DGV2X-Y 1100# (comience salida) showes %2DGV2X-Y 1100# (sortie de production) showfr %3DGV2X-Y 1100# (cominciare l'uscita) showit %4DGV2X-Y 1100# (start output) showjp %5DGV2X-Y 1100# } if xchart 1 ge {%xchart>=1 colorm 0 eq {%colorm=0,1 (Transfer Ausgabe) showde %0DGV2X-Y 1200# (transfer output) showen %1DGV2X-Y 1200# (salida de transferencia) showes %2DGV2X-Y 1200# (sortie de transfert) showfr %3DGV2X-Y 1200# (uscita di trasferimento) showit %4DGV2X-Y 1200# (transfer output) showjp %5DGV2X-Y 1200# }%colorm=0 {%colorm=1 (3D\255Linearisierung) showde %0DGV2X-Y 1300# (3D\255linearization) showen %1DGV2X-Y 1300# (3D\255linealizaci\363n) showes %2DGV2X-Y 1300# (linearisation 3D) showfr %3DGV2X-Y 1300# (3D\255linearizzzazione) showit %4DGV2X-Y 1300# (3D\255linearization) showjp %5DGV2X-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 %0DGV2X-Y 1400# (N: no 3D\255linearization (OL) ) showen %1DGV2X-Y 1400# (N: ninguna 3D\255linealizaci\363n (OL) ) showes %2DGV2X-Y 1400# (N: aucun linearisation 3D (OL) ) showfr %3DGV2X-Y 1400# (N: nessun 3D\255linearizzazione (OL) ) showit %4DGV2X-Y 1400# (N: no 3D\255linearization (OL) ) showjp %5DGV2X-Y 1400# (in Datei (F) oder PS\255Startup (S)) showde %0DGV2X-Y 1500# (in file (F) or PS\255startup (S)) showen %1DGV2X-Y 1500# (en archivo (F) o PS\255startup (S)) showes %2DGV2X-Y 1500# (dans fichier (F) ou PS\255startup (S)) showfr %3DGV2X-Y 1500# (nel file (F) o PS\255startup (S)) showit %4DGV2X-Y 1500# (in file (F) or PS\255startup (S)) showjp %5DGV2X-Y 1500# } {LSC$ show (: ) show (3D\255Linearisierung) showde %0DGV2X-Y 1600# (3D\255linearization) showen %1DGV2X-Y 1600# (3D\255linealizaci\363n) showes %2DGV2X-Y 1600# (linearisation 3D) showfr %3DGV2X-Y 1600# (3D\255linearizzzazione) showit %4DGV2X-Y 1600# (3D\255linearization) showjp %5DGV2X-Y 1600# ( DGV2/DGV2L) show LSS$ show LSX$ show (0) show % LSC$ show LEY$ show } ifelse LSC$ (F) eq { ( in Datei (F)) showde %0DGV2X-Y 1700# ( in file (F)) showen %1DGV2X-Y 1700# ( en archivo (F)) showes %2DGV2X-Y 1700# ( dans fichier (F)) showfr %3DGV2X-Y 1700# ( nel file (F)) showit %4DGV2X-Y 1700# ( in file (F)) showjp %5DGV2X-Y 1700# } if LSC$ (S) eq { ( im Distiller Startup (S) Directory) showde %0DGV2X-Y 1800# ( in Distiller Startup (S) Directory) showen %1DGV2X-Y 1800# ( en el Distiller Startup (S) Directory) showes %2DGV2X-Y 1800# ( dans le Distiller Startup (S) Directory) showfr %3DGV2X-Y 1800# ( nel Distiller Startup (S) Directory) showit %4DGV2X-Y 1800# ( in Distiller Startup (S) Directory) showjp %5DGV2X-Y 1800# } if LSC$ (D) eq { ( in PS\255Device (D)) showde %0DGV2X-Y 1900# ( in PS\255device (D)) showen %1DGV2X-Y 1900# ( en el PS\255device (D)) showes %2DGV2X-Y 1900# ( dans l'appareil PS (D)) showfr %3DGV2X-Y 1900# ( nel PS\255dispositivo (D)) showit %4DGV2X-Y 1900# ( in PS\255Device (D)) showjp %5DGV2X-Y 1900# } if LSC$ (T) eq { ( im Distiller Startup (S) Directory) showde %0DGV2X-Y 2000# ( in Distiller Startup (S) Directory) showen %1DGV2X-Y 2000# ( en el Distiller Startup (S) Directory) showes %2DGV2X-Y 2000# ( dans le Distiller Startup (S) Directory) showfr %3DGV2X-Y 2000# ( nel Distiller Startup (S) Directory) showit %4DGV2X-Y 2000# ( in Distiller Startup (S) Directory) showjp %5DGV2X-Y 2000# } if LSC$ (E) eq { ( in PS\255Device (D)) showde %0DGV2X-Y 2100# ( in PS\255device (D)) showen %1DGV2X-Y 2100# ( en el PS\255device (D)) showes %2DGV2X-Y 2100# ( dans appareil PS (D)) showfr %3DGV2X-Y 2100# ( nel PS\255dispositivo (D)) showit %4DGV2X-Y 2100# ( in PS\255Device (D)) showjp %5DGV2X-Y 2100# } if %0 setgray %end white and unvisible (, Seite ) showde %0DGV2X-Y 2200# (, page ) showen %1DGV2X-Y 2200# (, p\341gina ) showes %2DGV2X-Y 2200# (, page ) showfr %3DGV2X-Y 2200# (, pagina ) showit %4DGV2X-Y 2200# (, page ) showjp %5DGV2X-Y 2200# xchart 1 add cvishow (/) show xchartm cvishow 16 MM 185 MM moveto -90 rotate (Siehe \344hnliche Dateien: ) showde %0DGV2X-Y 2300# (see similar files: ) showen %1DGV2X-Y 2300# (vea archivos semejantes: ) showes %2DGV2X-Y 2300# (voir des fichiers similaires: ) showfr %3DGV2X-Y 2300# (vedere dei file simili: ) showit %4DGV2X-Y 2300# (see similar files: ) showjp %5DGV2X-Y 2300# 12TRN (http://farbe.li.tu-berlin.de/DGV2/DGV2.HTM) show 12TIN %(0) show % %LSC$ show LEX$ show 90 rotate 12 MM 185 MM moveto -90 rotate (Technische Information: ) showde %0DGV2X-Y 2400# (technical information: ) showen %1DGV2X-Y 2400# (informaci\363n t\351cnica: ) showes %2DGV2X-Y 2400# (informations techniques: ) showfr %3DGV2X-Y 2400# (informazioni tecniche: ) showit %4DGV2X-Y 2400# (technical information: ) showjp %5DGV2X-Y 2400# 12TRN (http://farbe.li.tu-berlin.de) show 12TIN ( oder ) showde %0DGV2X-Y 2500# ( or ) showen %1DGV2X-Y 2500# ( o ) showes %2DGV2X-Y 2500# ( ou ) showfr %3DGV2X-Y 2500# ( o ) showit %4DGV2X-Y 2500# ( or ) showjp %5DGV2X-Y 2500# 12TRN (http://color.li.tu-berlin.de) show 12TIN 90 rotate 281 MM 185 MM moveto -90 rotate (TUB\255Registrierung: 20201101\255DGV2/DGV2L) showde %0DGV2X-Y 2600# (TUB registration: 20201101\255DGV2/DGV2L) showen %1DGV2X-Y 2600# (TUB matr\355cula: 20201101\255DGV2/DGV2L) showes %2DGV2X-Y 2600# (TUB enregistrement: 20201101\255DGV2/DGV2L) showfr %3DGV2X-Y 2600# (TUB iscrizione: 20201101\255DGV2/DGV2L) showit %4DGV2X-Y 2600# (TUB registration: 20201101\255DGV2/DGV2L) showjp %5DGV2X-Y 2600# (0) show % LSC$ show LEX$ show 90 rotate 281 MM 74 MM moveto -90 rotate (TUB\255Material: Code=rha4ta) showde %0DGV2X-Y 2700# (TUB material: code=rha4ta) showen %1DGV2X-Y 2700# (TUB material: code=rha4ta) showes %2DGV2X-Y 2700# (TUB mat\351riel: code=rha4ta) showfr %3DGV2X-Y 2700# (TUB materiale: code=rha4ta) showit %4DGV2X-Y 2700# (TUB material: code=rha4ta) showjp %5DGV2X-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 Beurteilung und Messung ) showde %0DGV2X-Y 2800# ( application for evaluation and measurement ) showen %1DGV2X-Y 2800# ( aplicaci\363n para la medida ) showes %2DGV2X-Y 2800# ( application pour la mesure ) showfr %3DGV2X-Y 2800# ( la domanda per la misura ) showit %4DGV2X-Y 2800# ( application for measurement ) showjp %5DGV2X-Y 2800# xchart5f 0 eq {%xchart5f=0 (von Display\255 oder Druck\255Ausgabe) showde %0DGV2X-Y 2900# (of display or print output) showen %1DGV2X-Y 2900# (de display output) showes %2DGV2X-Y 2900# (de sortie sur \350cran) showfr %3DGV2X-Y 2900# (di stampa di display) showit %4DGV2X-Y 2900# (of display output) showjp %5DGV2X-Y 2900# } if %xchart5f=0 xchart5f 1 eq xchart5f 2 eq or {%xchart5f=1,2 (von Offsetdruck\255Ausgabe) showde %0DGV2X-Y 3000# (of offset print output) showen %1DGV2X-Y 3000# (salida en la impressi\363n offset) showes %2DGV2X-Y 3000# (des sorties sur offset) showfr %3DGV2X-Y 3000# (uscita nella stampa di offset) showit %4DGV2X-Y 3000# (of offset print output) showjp %5DGV2X-Y 3000# } if %xchart5f=1,2 xchart5f 3 eq {%xchart5f=3 (von Laserdrucker\255Ausgabe) showde %0DGV2X-Y 3100# (of laser printer output) showen %1DGV2X-Y 3100# (salida de impresora l\341ser) showes %2DGV2X-Y 3100# (des sorties sur imprimante laser) showfr %3DGV2X-Y 3100# (di uscita della stampante laser) showit %4DGV2X-Y 3100# (of laser printer output) showjp %5DGV2X-Y 3100# } if %xchart5f=3 xchart 1 ge {%xchart>=1 xchart5f 0 eq {%xchart5f=0 (, keine Separation) showde %0DGV2X-Y 3200# (, no separation) showen %1DGV2X-Y 3200# (, ninguna separaci\363n) showes %2DGV2X-Y 3200# (, aucune s\351paration) showfr %3DGV2X-Y 3200# (, nessuna separazione) showit %4DGV2X-Y 3200# (, no separation) showjp %5DGV2X-Y 3200# } if %chart5f=0 xchart5f 1 ge {%xchart5f>=1 (, Separation) showde %0DGV2X-Y 3300# (, separation) showen %1DGV2X-Y 3300# (, separaci\363n) showes %2DGV2X-Y 3300# (, s\351paration) showfr %3DGV2X-Y 3300# (, separazione) showit %4DGV2X-Y 3300# (, separation) showjp %5DGV2X-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