%!PS-Adobe-3.0 EPSF-3.0 BGC70-4A
%%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/BGC7/BGC7.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:2022030112000)
 /ModDate (D:2022030112000)
/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

/Courier findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
/Courier-ISOL1 exch definefont pop

/Courier-Oblique findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
/CourierI-ISOL1 exch definefont pop

/Courier-Bold findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
/CourierB-ISOL1 exch definefont pop

/Courier-BoldOblique findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
/CourierBI-ISOL1 exch definefont pop

/TG   {350 /Times-ISOL1 FS} bind def
/TM   {280 /Times-ISOL1 FS} bind def
/TK   {240 /Times-ISOL1 FS} bind def
/TS   {200 /Times-ISOL1 FS} bind def
/TL   {160 /Times-ISOL1 FS} bind def
/TV   {110 /Times-ISOL1 FS} bind def
/TW   {080 /Times-ISOL1 FS} bind def

/TIG  {350 /TimesI-ISOL1 FS} bind def
/TIM  {280 /TimesI-ISOL1 FS} bind def
/TIK  {240 /TimesI-ISOL1 FS} bind def
/TIS  {200 /TimesI-ISOL1 FS} bind def
/TIL  {160 /TimesI-ISOL1 FS} bind def
/TIV  {110 /TimesI-ISOL1 FS} bind def
/TIW  {080 /TimesI-ISOL1 FS} bind def

/TBG  {350 /TimesB-ISOL1 FS} bind def
/TBM  {280 /TimesB-ISOL1 FS} bind def
/TBK  {240 /TimesB-ISOL1 FS} bind def
/TBS  {200 /TimesB-ISOL1 FS} bind def
/TBL  {160 /TimesB-ISOL1 FS} bind def
/TBV  {110 /TimesB-ISOL1 FS} bind def
/TBW  {080 /TimesB-ISOL1 FS} bind def

/TBIG {350 /TimesBI-ISOL1 FS} bind def
/TBIM {280 /TimesBI-ISOL1 FS} bind def
/TBIK {240 /TimesBI-ISOL1 FS} bind def
/TBIS {200 /TimesBI-ISOL1 FS} bind def
/TBIL {160 /TimesBI-ISOL1 FS} bind def
/TBIV {110 /TimesBI-ISOL1 FS} bind def
/TBIW {080 /TimesBI-ISOL1 FS} bind def

/SG {350 /Symbol FS} bind def
/SM {280 /Symbol FS} bind def
/SK {240 /Symbol FS} bind def
/SS {200 /Symbol FS} bind def
/SL {160 /Symbol FS} bind def
/SV {110 /Symbol FS} bind def
/SW {080 /Symbol FS} bind def

%*********************************************************
%*********************************************************
/proz_paramV {%proz_paramV

%paramV not used for xchart4=0,1
%paramV     used for xchart4=2 to 7
xchart4 2 eq
xchart4 3 eq or {/yparam 0850 def}
                {/yparam 3850 def} ifelse

/x0p 4600 def
/y0d 200 def

x0p yparam 0 y0d mul sub moveto
TBL (Parameter:) show

x0p yparam 1 y0d mul sub moveto
TBIL (Y) show xcol10_BL
TBL ( & Name) show

x0p yparam y0d 2 mul sub moveto
TBL (Illuminant ) showea
    (Lichtart ) showde
TELi xchartl get show

x0p yparam y0d 3 mul sub moveto
TBIL (Y) show
TBV 0 -60 rmoveto (W) show 0 60 rmoveto xcol10KBV
TBL (=) show ynorW1 100 mul cvishow0

TBIL (, Y) show TBV
0 -60 rmoveto (N) show 0 60 rmoveto xcol10KBV
TBL (=) show ynorN1 100 mul cvishow0

/index2_7 {%index2_7
xchart4 2 eq
xchart4 3 eq or
xchart4 7 eq or {0 -50 rmoveto TBV (2) show 0 50 rmoveto xcol10KBV 
                } if
xchart4 4 eq    {0 -50 rmoveto TBV () show  0 50 rmoveto xcol10_BV
                } if
xchart4 5 eq
xchart4 6 eq or {0 -50 rmoveto TBV (1) show 0 50 rmoveto xcol10KBV
                } if
          } bind def %index2_7

/index2_7n {%index2_7n
xchart4 2 eq
xchart4 3 eq or
xchart4 7 eq or {0 -50 rmoveto TBV (2,n) show 0 50 rmoveto xcol10KBV
                } if
xchart4 4 eq    {0 -50 rmoveto TBV   (n) show 0 50 rmoveto xcol10_BV
                } if
xchart4 5 eq
xchart4 6 eq or {0 -50 rmoveto TBV (1,n) show 0 50 rmoveto xcol10KBV
                } if
          } bind def %index2_7n

/x0p 0050 def
/y0p 3850 def
/y0d  200 def

x0p y0p y0d 0 mul sub moveto
TBIL (XYZ) show 0 -50 rmoveto TBV (W) show 0 50 rmoveto xcol10KBV
TBL (=) show
XW cvsshow2 (, ) show YW cvsshow2 (, ) show ZW cvsshow2

x0p y0p y0d 1 mul sub moveto
TBIL (A) show index2_7
TBL ( = 2,5 \050) show
TBIL (a) show index2_7
TBL ( - ) show
TBIL (a) show index2_7n
TBL (\051 ) show
TBIL (Y) show xcol10_BV

x0p y0p y0d 2 mul sub moveto
TBIL (B) show index2_7
TBL ( = 2,5 ) show
TBIL (B) show 0 -50 rmoveto TBV (c) show 0 50 rmoveto
TBL ( \050) show
TBIL (b) show index2_7
TBL ( - ) show
TBIL (b) show index2_7n
TBL (\051 ) show
TBIL (Y) show xcol10_BV

x0p y0p y0d 3 mul sub moveto
TBIL (a) show index2_7
TBL ( = ) show
TBIL (a) show
0 -50 rmoveto TBV (20) show 0 50 rmoveto
TBL ( [ ) show
TBIL (\050 x) show xcol10_BV
TBL ( - ) show 
TBIL (x) show
0 -50 rmoveto TBV (c) show 0 50 rmoveto
TBIL ( \051 / y) show xcol10_BV
TBL (]) show

x0p y0p y0d 4 mul sub moveto
TBIL (b) show index2_7
TBL ( = ) show
TBIL (b) show
0 -50 rmoveto TBV (20) show 0 50 rmoveto
TBL ( [) show
TBIL ( z) show xcol10_BV
TBIL
( / y) show xcol10_BV
TBL (]) show

x0p y0p y0d 5 mul sub moveto
TBIL (a) show 0 -50 rmoveto TBV (20) show 0 50 rmoveto
TBL ( = 1,  ) show
TBIL (b) show 0 -50 rmoveto TBV (20) show 0 50 rmoveto
TBL ( = -0,4) show

x0p y0p y0d 6 mul sub moveto
TBIL (x) show 0 -50 rmoveto TBV (c) show 0 50 rmoveto
TBL ( = ) show xct show (,  ) show
TBIL (B) show 0 -50 rmoveto TBV (c) show 0 50 rmoveto
TBL ( = ) show Bct show

x0p y0p y0d 7 mul sub moveto
TBIL (C) show
TBV 0 -50 rmoveto (AB) show 0 50 rmoveto 
index2_7
TBL (=[) show
TBIL (A) show index2_7
TBV -20 60 rmoveto (2) show 0 -60 rmoveto
TBL (+) show
TBIL (B) show index2_7
TBV -20 60 rmoveto (2) show 0 -60 rmoveto
TBL (]) show
TBV 0 60 rmoveto (1/2) show 0 -60 rmoveto 

%**********************************************
/y0p y0p y0d 8 mul sub def
/y0d 220 def

0 setgray
x0p y0p y0d 0 mul sub moveto
TBL
(6 ) show
TBIL (Ostwald) show
TBL
(\255Farben (o)) showde                                       %0BGC71-7 02581
( colours (o)) showen                                         %1BGC71-7 02581
( colores (o)) showes                                         %2BGC71-7 02581
( couleurs (o)) showfr                                        %3BGC71-7 02581
( colori (o)) showit                                          %4BGC71-7 02581
( colours (o)) showjp                                         %5BGC71-7 02581

x0p y0p y0d 1 mul sub moveto
(von maximalem (m)) showde                                    %0BGC71-7 03581
(of maximum (m)) showen                                       %1BGC71-7 03581
(de m\341ximo (m)) showes                                     %2BGC71-7 03581
(de la maximum (m)) showfr                                    %3BGC71-7 03581
(di massimo (m)) showit                                       %4BGC71-7 03581
(of maximum (m)) showjp                                       %5BGC71-7 03581

TBIL ( C) show TBV 0 -60 rmoveto (AB) show 0 60 rmoveto xcol10KBV
TBL
( in) showen
xchart4 3 ge {( im) showde} if

x0p y0p y0d 2 mul sub moveto

xchart4 0 eq
xchart4 1 eq or {%xchart4=0,1
TBL
(in der Normfarbtafel) showde                                   %0BGC71-7 04581
(chromaticity diagram) showen                               %1BGC71-7 04581
(en el diagrama de chromaticidad) showes                        %2BGC71-7 04581
(dans le diagramme de chromaticit\351) showfr                   %3BGC71-7 04581
(nel diagramma di cromaticit\340) showit                        %4BGC71-7 04581
(the chromaticity diagram) showjp                               %5BGC71-7 04581
TBL ( \050) show TBIL (x) show xcol10_BV
TBIL (, y) show xcol10_BV
TBL (\051) show
             } if %xchart4=0,1

xchart4 2 eq 
xchart4 3 eq or {%xchart4=2,3
TBL
(linearen Farbenraum ) showde                                %0BGC71-7 06581
(linear colour space ) showea                                   %1BGC71-7 06581
TBL (\050) show TBIL (C) show
TBV 0 -50 rmoveto (AB,2) show 0 50 rmoveto xcol10KBV
TBIL (, Y) show xcol10_BV
TBL (\051) show
             } if %xchart4=2,3

xchart4 4 eq 
xchart4 5 eq or {%xchart4=4,5
TBL
(Buntwertdiagramm) showde                                    %0BGC71-7 08581
(chromatic value diagram) showen                                %1BGC71-7 08581
(en el diagrama valor crom\341tico) showes                      %2BGC71-7 08581
(dans la valeur chromatique le diagramme) showfr                %3BGC71-7 08581
(nel diagramma di valore cromatico) showit                      %4BGC71-7 08581
(chromatic value diagram) showjp                                %5BGC71-7 08581
TBL ( \050) show TBIL (A) show xcol10_BV
TBL (, ) show TBIL (B) show xcol10_BV
TBL (\051) show
             } if %xchart4=4,5

xchart4 6 eq {%xchart4=6
TBL
(Buntwertdiagram) showde                                     %0BGC71-7 10581
(chromatic value diagram) showen                                 %1BGC71-7 10581
(en el diagrama croma) showes                                   %2BGC71-7 10581
(dans le diagramme de chroma) showfr                            %3BGC71-7 10581
(nel diagramma di chroma) showit                                %4BGC71-7 10581
(chromactic value diagram) showjp                               %5BGC71-7 10581
TBL ( \050) show TBIL (A) show
0 -50 rmoveto TBV (1) show 0 50 rmoveto xcol10KBV
TBL (, ) show TBIL (B) show 
0 -50 rmoveto TBV (1) show 0 50 rmoveto xcol10KBV
TBL (\051) show
             } if %xchart4=6

xchart4 7 eq {%xchart4=7
TBL
(Buntwertdiagram) showde                                     %0BGC71-7 11581
(chromatic value diagram) showen                                %1BGC71-7 11581
(en el diagrama croma) showes                                   %2BGC71-7 11581
(dans le diagramme de chroma) showfr                            %3BGC71-7 11581
(nel diagramma di chroma) showit                                %4BGC71-7 11581
(chromatic value diagram) showjp                                %5BGC71-7 11581
TBL ( \050) show TBIL (A) show
0 -50 rmoveto TBV (2) show 0 50 rmoveto xcol10KBV
TBL (, ) show TBIL (B) show
0 -50 rmoveto TBV (2) show 0 50 rmoveto xcol10KBV
TBL (\051) show
             } if %xchart4=7

x0p y0p y0d 3 mul sub moveto
TBL (Illumin. ) showea
    (Lichtart ) showde
TELi xchartl get show
TBIL (, Y) show
TBV 0 -60 rmoveto (W) show 0 60 rmoveto xcol10KBV
TBL (=) show ynorW1 100 mul cvishow0

TBIL (, Y) show TBV
0 -60 rmoveto (N) show 0 60 rmoveto xcol10KBV
TBL (=) show ynorN1 100 mul cvishow0
           
} bind def %proz_paramV

%*************************************************************
/proz_table {%proz_table

/ydt 150 def

%output text RYGCBMd and WNd
%output header
TBV
xti 0 get 050 sub ytax ydt add moveto (Name) show
xti 1 get 100 add ytax ydt add moveto ( Range) showen (Bereich) showde
xti 2 get 100 add ytax ydt add moveto TBIV (X) show TBWd xcol10KBW
xti 3 get 100 add ytax ydt add moveto TBIV (Y) show TBWd xcol10KBW
xti 4 get 100 add ytax ydt add moveto TBIV (Z) show TBWd xcol10KBW
xti 5 get 050 add ytax ydt add moveto TBIV (x) show TBWd xcol10KBW
xti 6 get 050 add ytax ydt add moveto TBIV (y) show TBWd xcol10KBW
xti 7 get ytax ydt add moveto SV (l) show TBWd
xti 8 get ytax ydt add moveto SV (l) show TBWc

%output data
0 1 8 {/jp exch def %jp=0,8 %6 RYGCBM + 3 WZN
       TV
       /ytaxa ytax ydt jp mul sub def
       
       xti 0 get ytaxa moveto TBV colnamei jp get show
       TBW 0 -50 rmoveto (d) show 0 50 rmoveto TV
 
       xti 1 get ytaxa moveto
       jp 0 eq {DOW1j 0 get 0.5 add cvishow0 (_775) show} if %rounded R
       jp 1 eq {DOW1j 1 get 0.5 add cvishow0 (_775) show} if %rounded Y
       jp 2 eq {DOW1j 1 get 0.5 add cvishow0 (_) show         %rounded B
                DOW1j 0 get 0.5 add cvishow0         } if     %+roundet R
       jp 3 eq {(380_) show DOW1j 0 get 0.5 add cvishow0} if %rounded C
       jp 4 eq {(380_) show DOW1j 1 get 0.5 add cvishow0} if %rounded B
       jp 5 eq {DOW1j 0 get 0.5 add cvishow0 (_) show         %rounded R
                DOW1j 1 get 0.5 add cvishow0          } if    %+rounded B
       jp 6 eq {(380_775) show} if
       jp 7 eq {(380_775) show} if
       jp 8 eq {(380_775) show} if

       xti 2 get ytaxa moveto colXi  jp get cvsshow2
       xti 3 get ytaxa moveto colYi  jp get cvsshow2
       xti 4 get ytaxa moveto colZi  jp get cvsshow2

       /SUM colXi jp get
            colYi jp get add
            colZi jp get add 0.0001 add def
       colXAi jp colXi jp get SUM div put
       colYAi jp colYi jp get SUM div put
       colZAi jp colZi jp get SUM div put

       xti 5 get ytaxa moveto colXAi jp get cvsshow4
       xti 6 get ytaxa moveto colYAi jp get cvsshow4

       jp 6 eq {xti 7 get ytaxa moveto
                (  ) show ynorW1 100 mul cvishow0 (%) show TV} if
       jp 7 eq {xti 7 get ytaxa moveto
                (  ) show ynorN1 100 mul cvishow0 (%) show TV} if
       jp 8 eq {xti 7 get ytaxa moveto
                 (  ) show ynorZ1 100 mul cvishow0 (%) show TV} if

       jp 5 le {%jp<=5 RYGCBM
                /jp2 jp 2 add def           %DOW(1/2)j started at jp=2
                xti 7 get ytaxa moveto
                DOW1j jp2 get cvishow DOW1jc jp2 get show
                xti 8 get ytaxa moveto
                DOW2j jp2 get cvishow DOW2jc jp2 get show
               } if %jp<=5 RYGCBM
} for %jp=0,8

} bind def %proz_table

%****************************************************************************
/proz_axis_scales4_7 {%proz_axis_scales4_7
%axis and scales
0 setgray
-1600 0 moveto 3350  0 rlineto stroke
0 -1880  moveto 0 3600  rlineto stroke
1750 100 sub 50 moveto 100 -50 rlineto
                      -100 -50 rlineto closepath fill
0 50 sub 1750 100 sub moveto 50  100 rlineto
                             50 -100 rlineto closepath fill

/xt10x 5 array def
/yt10x 5 array def

/xt10x [(-100) ( ) ( ) ( ) (  100)] def
/yt10x [(-100) () ( ) ( ) (  100)] def

0 setgray
0 1 4 {/i exch def %i=0,4 x-axis
        -1600   i 800   mul add  -75 moveto 0 150 rlineto stroke
        -1800   i 800   mul add -250 moveto
        TBL xt10x i get show
        i 4 eq {-1600 i 800 mul add 0 moveto
               xchart4 4 eq { %xchart4=4
                             -200 150 rmoveto
                             TBIS (A) show xcol10_BL
                            } if %xchart4=4
               xchart4 5 eq
               xchart4 6 eq or { %xchart4=5,6
                                -300 150 rmoveto
                                TBIS (A) show 
                                00 -50 rmoveto TBL (1) show 0 50 rmoveto
                                xcol10KBL
                               } if %xchart4=5,6
               xchart4 7 eq { %xchart4=7
                             -300 150 rmoveto
                             TBIS (A) show 
                             00 -50 rmoveto TBL (2) show 0 50 rmoveto
                             xcol10KBL
                            } if %xchart4=7
               } if

       } for %i=0,4

0 1 4 {/i exch def %i=0,4 y-axis
        -75 -1600 i 800 mul add moveto 150 0 rlineto stroke
       -450 -1650 i 800 mul add 000 sub moveto
       TBL yt10x i get show
       i 4 eq {0 -1650 i 800 mul add moveto
               xchart4 4 eq { %xchart4=4
                             150 050 rmoveto
                             TBIS (B) show xcol10_BL
                            } if %xchart4=4
               xchart4 5 eq 
               xchart4 6 eq or { %xchart4=5,6
                                150 050 rmoveto
                                TBIS (B) show
                                -20 -50 rmoveto TBL (1) show 0 50 rmoveto
                                xcol10KBL
                               } if %xchart4=5,6
               xchart4 7 eq { %xchart4=7
                             150 050 rmoveto
                             TBIS (B) show
                             -20 -50 rmoveto TBL (2) show 0 50 rmoveto
                             xcol10KBL
                            } if %xchart4=7
             } if

       } for %i=0,4

newpath
0 0 100 0 360 arc stroke
-350 -200 moveto
TBL
TELi xchartl get show


} bind def %proz_axis_scales4_7

%***********************************************************
/proz_chromaticity_lines {%BEG proz_chromaticity_lines

%available
%XEi, YEi, ZEi, XAEi, YAEi, ZAEi, 0..79 for 380 to 775nm for illuminant E
%XSi, YSi, ZSi, XASi, YASi, ZASi, 0..79 for 380 to 775nm for illuminant (P/D)xx

/DOW  82 array def %special for (x,y) diagrams
/DOWZ 17 array def
/F02EZ 51 array def %purple data
/F10EZ 51 array def

%TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR
%FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E

0 1 79 {/i exch def %i=0,79 = 380_775
        DOW i 380 i 5 mul add put
       } for %i=0,79

/DOWZ %17 data
[700 -495 -500 -505 -510 -515 -520 -525 -530 
 -535 -540 -545 -550 -555 -560 -565 400] def

/F02EZ %3x17 data 700 ... 400
[.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 
 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 
 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 
 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 
 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 
 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def

/F10EZ %3x17 data 700 ... 400
[.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 
 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 
 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 
 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 
 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 
 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def

%***************************************************
/XEZi   17 array def %to be defined
/YEZi   17 array def
/ZEZi   17 array def
/XAEZi 17 array def
/YAEZi 17 array def
/ZAEZi 17 array def

/YKSUM 0 def %for E00
0 1 79 {/i exch def %i=0,1,79
        /YKSUM YKSUM F_CIEi 80 i add get add def
} for %i=0,1,79

0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100)
        XEZi i xcolorl 0 eq {F02EZ} {F10EZ} ifelse                     
              00 i add get YKSUM div 100 mul put
        YEZi i xcolorl 0 eq {F02EZ} {F10EZ} ifelse
              17 i add get YKSUM div 100 mul put
        ZEZi i xcolorl 0 eq {F02EZ} {F10EZ} ifelse
              34 i add get YKSUM div 100 mul put
        /SUM XEZi i get
             YEZi i get add
             ZEZi i get add 0.0001 add def
        XAEZi i XEZi i get SUM div put
        YAEZi i YEZi i get SUM div put
        ZAEZi i ZEZi i get SUM div put
} for %i=0,16

/xtrans8 600 def
/ytrans8 400 def
xtrans8 ytrans8 translate %for scala and graphic

0 0 moveto  4300 0 rlineto  stroke
0 0 moveto  0 3500 rlineto  stroke
%arrows
4300 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto stroke
-50 3400 moveto 50 100 rlineto 50 -100 rlineto stroke

%! 100 S-Einheiten = 2000 Skalen-Einheiten
TBS

   0 -50 moveto  0 100 rlineto  stroke
 800 -50 moveto  0 100 rlineto  stroke
1600 -50 moveto  0 100 rlineto  stroke
2400 -50 moveto  0 100 rlineto  stroke
3200 -50 moveto  0 100 rlineto  stroke
4000 -50 moveto  0 100 rlineto  stroke

-100 -300 moveto (0,0) show
 700 -300 moveto (0,2) show
1500 -300 moveto (0,4) show
2300 -300 moveto (0,6) show
3100 -300 moveto (0,8) show
3900 -300 moveto (1,0) show

%! 100 S-Einheiten = 2000 Skalen-Einheiten

 -50    0 moveto  100 0 rlineto  stroke
 -50  800 moveto  100 0 rlineto  stroke
 -50 1600 moveto  100 0 rlineto  stroke
 -50 2400 moveto  100 0 rlineto  stroke
 -50 3200 moveto  100 0 rlineto  stroke

-450  -80 moveto (0,0) show
-450  720 moveto (0,2) show
-450 1520 moveto (0,4) show
-450 2320 moveto (0,6) show
-450 3120 moveto (0,8) show

TBIS
4300 -250 moveto (x) show xcol10_BL
-350 3400 moveto (y) show xcol10_BL

TBS
2200 150 moveto
xcolorl 0 eq {(CIE 1931) show} if
xcolorl 1 eq {(CIE 1964) show} if
%3950 100 moveto (P) show
newpath

/fakt 4000 def

4 1 64 {/i exch def %i=4,64 %400..700
        XASi i get fakt mul
        YASi i get fakt mul
        i 05 eq {moveto} if
        i 06 ge 
        i 63 le and {lineto} if
        i 64 eq {lineto closepath stroke} if
       } for %i=4,64

/xytshift 320 array def %min 4x65
/xytshift
[
0  000  000 (380) %0
0  000  000 (385) %1
0  000  000 (390) %2
0  000  000 (395) %3
1 -170 -170 (400) %4
0  000  000 (405) %5
0  000  000 (410) %6
0  000  000 (415) %7
0  000  000 (420) %8
0  000  000 (425) %9
0  000  000 (430) %10
0  000  000 (435) %11
0  000  000 (440) %12
0  000  000 (445) %13
1 -300 -050 (450) %14 S
0  000  000 (455) %15
0  000  000 (460) %16
1 -300 -030 (465) %17
0  000  000 (   ) %18
1 -300 -030 (475) %19
1 -300 -030 (480) %20
1 -300 -030 (485) %21
1 -330 -050 (490) %22
1 -270  000 (495) %23 M=S
1 -300 -050 (500) %24
1 -300 -050 (505) %25
1 -330 -050 (510) %26 L=S
1  000  000 (   ) %27
1 -100  070 (520) %28
1  060  000 (525) %29
1  000  000 (   ) %30
1  060  000 (535) %31
1  000  000 (   ) %32 M
1  000  000 (   ) %33
1  050  030 (550) %34
1  000  000 (   ) %35
1  050  030 (560) %36
1  000  000 (   ) %37
1  000  060 (570) %38 L
1  000  000 (   ) %39
1  050  030 (580) %40
1  050  050 (   ) %41
1  050  030 (590) %42
1  050  050 (   ) %43
1  050  060 (600) %44
0  000  000 (   ) %45
1  050  080 (610) %46
0  000  000 (   ) %47
1  050  050 (620) %48
0  000  000 (   ) %49
0  000  000 (630) %50
0  000  000 (   ) %51
1  050  030 (640) %52
0  000  000 (645) %53
0  000  000 (650) %54
0  000  000 (655) %55
0  000  000 (660) %56
0  000  000 (665) %57
0  000  000 (670) %58
0  000  000 (675) %59
0  000  000 (680) %60
0  000  000 (685) %61
0  000  000 (690) %62
0  000  000 (695) %63
1  100  -50 (700) %64
] def

%coorection for 510nm, 10 degree
%actual: 1 -170 -170 (400) %4
%actual: 1 -050 -050 (510) %26

xcolorl 1 eq {/ix  4 4 mul 1 add def
              xytshift ix       -200 put
              xytshift ix 1 add -220 put
              /ix 26 4 mul 1 add def
              xytshift ix       -140 put
              xytshift ix 1 add  070 put
             } if 

4 1 64 {/i exch def %i=4,1,64
        /i40 i 4 mul def
        xytshift i40 get 1 eq {%xytshift=1
        0 0 0 0 setcmykcolor
        XASi i get fakt mul
        YASi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        XASi i get fakt mul
        YASi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                              } if %xytshift=1
       } for %i=4,1,64

TBIL
4 1 64 {/i exch def %i=4,1,64
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshift i40 get 1 eq {%xytshift=1
       XASi i get fakt mul xytshift i41 get add
       YASi i get fakt mul xytshift i42 get add
       moveto xytshift i43 get show
       } if %xytshift=1
       } for %i=4,1,64

newpath /xytshiftZ 320 array def %min 4x65
/xytshiftZ
[
0  100  -50 (700)    %0 see normal
1  050 -100 (495c,E) %1
1  050 -120 (500c,E) %2
0  050 -100 (505c,E) %3
0  100  -60 (510c,E) %4
0  050 -100 (515c,E) %5
0  050 -100 (520c,E) %6
1  050 -100 (525c,E) %7
0  050 -100 (530c,E) %8
0  050 -100 (535c,E) %9
0  050 -100 (540c,E) %10
0  050 -100 (545c,E) %11
1  050 -100 (550c,E) %12
0  050 -100 (555c,E) %13
0  050 -100 (560c,E) %14 S
0  050 -100 (565c,E) %15
0 -100 -150 (400)    %16 see normal
] def

0 1 16 {/i exch def %i=5,5,60
        /i40 i 4 mul def
        xytshiftZ i40 get 1 eq {%xytshiftZ=1
        0 0 0 0 setcmykcolor
        XAEZi i get fakt mul
        YAEZi i get fakt mul
        30 0 360 arc fill %400,405,...,700
        0 0 0 1 setcmykcolor
        XAEZi i get fakt mul
        YAEZi i get fakt mul
        30 0 360 arc stroke %400,405,...,700
                                } if %xytshiftZ=1
       } for %i=0,1,16
       
TBIL
0 1 16 {/i exch def %i=0,16
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshiftZ i40 get 1 eq {%xytshiftZ=1
       XAEZi i get fakt mul xytshiftZ i41 get add
       YAEZi i get fakt mul xytshiftZ i42 get add moveto
       xytshiftZ i43 get show
                              } if %xytshiftZ=1
       } for %i=0,16

newpath
xtrans8 neg ytrans8 neg translate %for scala and grafic

} bind def %END proz_chromaticity_lines

%*****************************************************************

%%EndProlog
gsave

%lanindL2.EPS START  20000505
/lanind 0 def
/lantex [(G) (E) (S) (F) (I) (J) (M)] def
/showde {0 lanind eq {show} {pop} ifelse} bind def
/showen {1 lanind eq {show} {pop} ifelse} bind def
/showes {2 lanind eq {show} {pop} ifelse} bind def
/showfr {3 lanind eq {show} {pop} ifelse} bind def
/showit {4 lanind eq {show} {pop} ifelse} bind def
/showjp {5 lanind eq {show} {pop} ifelse} bind def
/showea {1 lanind le {show} {pop} ifelse} bind def
 
/lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def
                    /lanindd laninddf def}
               {/lanind1 0 def /lanind2 0 def} ifelse
/colormf where {pop /colorm1 colormf def /colorm2 colormf def
                    /colormd colormdf def}
               {/colorm1 0 def} ifelse
/deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def
                    /deintpd deintpdf def}
               {/deintp1 0 def} ifelse
/xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def
                    /xcolord xcolordf def}
               {/xcolor1 0 def} ifelse
/xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def
                    /xchartd xchartdf def
                    /xchartm xchart2f xchart1f sub 1 add def}
               {/xchart1 0 def /xchartm 1 def} ifelse
/xchart3f where {pop /xchart3 xchart3f def}
                {/xchart3 0 def} ifelse
/xchart4f where {pop /xchart4 xchart4f def}
                {/xchart4 0 def} ifelse
/pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def
                    /pchartd pchartdf def}
               {/pchart1 3 def} ifelse
/colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def
                    /colsepd colsepdf def}
               {/colsep1 0 def} ifelse
/pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def
                    /pmetamd pmetamdf def}
               {/pmetam1 0 def} ifelse

%either defaul values for xchart=0 or values for xchart=1
/lanind lanind1 def %
/colorm colorm1 def %
/deintp deintp1 def %
/xcolor xcolor1 def %
/xchart xchart1 def %
/pchart pchart1 def %
/colsep colsep1 def %
/pmetam pmetam1 def %

colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0
colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1
colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0
colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1
xchart 0 eq {/Txx (-) def} if %always independent of intended output

gsave
%LANINDL2 END

/cvishow {cvi 6 string cvs show ( ) show} def
/cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def
/cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def
/cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def
/cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def
/cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def

/cvishow0 {cvi 6 string cvs show} def

/TELi 8 array def
/xchart8 1 def %0:Pxx, 1:Dxx
xchart8 0 eq {%xchart8=0 Pxx
/TELi [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin.
             } if %xchart8=0

xchart8 1 eq {%xchart8=1 Dxx
/TELi [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin.
             } if %xchart8=1

/SD65 82 array def %380 bis 775 mit deltalambda=05
/SD50 82 array def %380 bis 775 mit deltalambda=05
/SP40 82 array def %380 bis 775 mit deltalambda=05
/SA00 82 array def %380 bis 775 mit deltalambda=05
/SE00 82 array def %380 bis 775 mit deltalambda=05
/SC00 82 array def %380 bis 775 mit deltalambda=05
/SP00 82 array def %380 bis 775 mit deltalambda=05
/SQ00 82 array def %380 bis 775 mit deltalambda=05

/SDAK 82 array def %380 bis 775 mit deltalambda=05
/RA   82 array def %380 bis 770 nm
/F2  240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm
%/F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm
/F10 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm

%C
%C      LITERATURQUELLEN  LICHTARTEN
%C      SA,SC,SD65,  CIE-DOKUMENT NR.15 FARBMESSUNG, 1971
%C                   TABELLE 1.1.1, SEITE 81
%C      SD55,SD75,   CIE-DOKUMENT NR.15 FARBMESSUNG, 1971
%C                   TABELLE 1.1.4, SEITE 85
%C                   LINEAR INTERPOLIERT VON 5 ZU 5NM
%C      SG,SP,SXE,   DIN 5033, BLATT 7 ,SEITE 8-9
%C                   AUSGABE  1966

/SD65 %80 data 5 nm
[50.0  52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 
 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 
 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 
 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 
 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 
 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 
 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 
 46.4 56.6 66.8 65.1] def

/SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS
[24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9
 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2
 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6
102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3
 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4
 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1
 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7
 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used

/SA00 %80 data 5 nm CIE 15.3  Seite 30; aus JE540-1N.PS
[9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99
 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30
 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06
 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44
 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39
 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42
 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12
 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41
 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59
 232.12 234.59 237.01 239.37 0.0] def %0.0 not used

% AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92
%C     PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI-
%C     LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA  
%C     BEI GEGEBENER TEMPERATUR T                                        
%C     VERWENDETE VARIABLE                                               
%C        T                   TEMPERATUR                                 
%C        C2                  PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) 
%C        LAMDA(I)            WELLENLAENGE                               
%C        S(I)                STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS 
%C                                                                       
%C     LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION,       
%C               CA. 1969, SEITE 21 UND TABELLE 1.1.1                    
%C                                                                       
%SDP4 82 array def %380 bis 775 mit deltalambda=05
%      DO 50 I=1,54                                                      
%   50 S(I)=100.
%     1*(560./FLOAT(LAMDA(I)))**5
%     2*(EXP(C2/(560.*10.**(-7)*T))-1.)
%     3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.)

%new CIE 15.3:2004, Eq. (3.1) page 2
%S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560   )} - 1]
%                           /[exp{(c2*10**7)/(TNC*lambda)} - 1]
% exp = e {...} = 2.71 {...} 

%/TNC 2848 def %NLA


/EE 2.718281 def %e=mac pocket calculator
/C2 1.4350000 10 7 exp mul def
/lamd 82 array def

xchart8 1 eq {%xchart8=1 Dxx
/TNC 4000 def
%********************************************
0 1 79 {%i=0,79
        /i exch def
        /lambda 380 i 5 mul add def
        lamd i lambda put
        /E1 560 lambda div 5 exp def

        /E4 C2 TNC 560    mul div def
        /E5 C2 TNC lambda mul div def

        /E6 EE E4 exp def
        /E7 EE E5 exp def

        SP40 i
        E1 100 mul E6 1 sub 
                   E7 1 sub div mul

        put
       } for %i=0,79


} if %xchart8=1 Dxx

%******************************************
xchart8 0 eq {%xchart8=0 Pxx

%defined only for xchart8=0 Pxx

/TNCj 8 array def
/TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def

/SP60 82 array def %380 bis 775 mit deltalambda=05
/SP55 82 array def %380 bis 775 mit deltalambda=05
/SP50 82 array def %380 bis 775 mit deltalambda=05
/SP45 82 array def %380 bis 775 mit deltalambda=05
/SP40 82 array def %380 bis 775 mit deltalambda=05
/SP35 82 array def %380 bis 775 mit deltalambda=05
/SP30 82 array def %380 bis 775 mit deltalambda=05
/SP25 82 array def %380 bis 775 mit deltalambda=05

0 1 7 {/j exch def %j=0,7
0 1 79 {%i=0,79
        /i exch def
        /lambda 380 i 5 mul add def
        lamd i lambda put
        /E1 560 lambda div 5 exp def

        /E4 C2 TNCj j get 560    mul div def
        /E5 C2 TNCj j get lambda mul div def

        /E6 EE E4 exp def
        /E7 EE E5 exp def

        j 0 eq {SP60 i} if
        j 1 eq {SP55 i} if
        j 2 eq {SP50 i} if
        j 3 eq {SP45 i} if
        j 4 eq {SP40 i} if
        j 5 eq {SP35 i} if
        j 6 eq {SP30 i} if
        j 7 eq {SP25 i} if

        E1 100 mul E6 1 sub
                   E7 1 sub div mul
        put
       } for %i=0,79
       } for %j=0,7
           } if %xchart8=0

%*************************************************
/SE00 %80 data 5 nm
[100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used

/SC00 %80 data 5 nm
[ 33.00  39.92  47.40  55.17  63.30  71.81  80.60  89.53  98.10 105.80
 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09
 123.90 122.92 120.70 116.90 112.10 106.98 102.30  98.81  96.90  96.78
  98.00  99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15
  97.80  95.43  93.20  91.22  89.70  88.83  88.40  88.19  88.10  88.06
  88.00  87.86  87.80  87.99  88.20  88.20  87.90  87.22  86.30  85.30
  84.00  82.21  80.20  78.24  76.30  74.36  72.40  70.40  68.30  66.30
  64.40  62.80  61.50  60.20  59.20  58.50  58.10  58.00  58.20  58.50
 ] def %0.0 not used
 
0 1 79 {/i exch def %i=0,79
        /lamda 380 i 5 mul add def
        SP00 i SE00 i get lamda 560 div mul put
        SQ00 i SE00 i get 1120 lamda sub 560 div mul put
       } for %i=0,79

%C      LITERATURQUELLEN  SPEKTRALWERTE
%C       F2          CIE-DOKUMENT NR.15 FARBMESSUNG, 1971
%C                   TABELLE 2.1, SEITE 93-102

/F2  %3x80 data
[.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 
 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 
 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 
 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 
 .7621
 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 
 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 
 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 
 .004109 .002899 .002049 .001440 .0009999 .0006901 
 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 
 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 
 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 
 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 
 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 
 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 
 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 
 .01192 .00821 .005723 .004102 .002929 .002091 .001484 
 .001047 .00074 .00052 .0003611 .0002492 .0001719 
 .00012 .0000848 .00006 .0000424 .00003 .0000212 
 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 
 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 
 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 
 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 
 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 
 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20
 0.0 0.0 0.0 0.0 0.0 0.0 %26
] def

/F10 %3x80 data
[.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 
 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323
  .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177
  .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 
 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 
 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 
 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 
 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 
 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 
 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 
 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 
 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 
 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 
 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 
 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 
 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 
 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 
 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 
 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 
 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 
 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 
 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 
 .001091 
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40
 0.0 0.0 0.0 0.0 %44
] def

/F_CIEi 240 array def  %raw data F2 or F10
/XEi  82 array def %equal energy
/YEi  82 array def
/ZEi  82 array def
/XAEi 82 array def %A=Anteil
/YAEi 82 array def
/ZAEi 82 array def

/xcolorl xcolor def
/xcolorl 0 def
0 1 0 {/xcolorl exch def %xcolorl=0,0

0 1 239 {/i exch def %i=0,239
         F_CIEi i xcolorl 0 eq {F2}{F10} ifelse i get put
        } for %i=0,239

/YKSUM 0 def %For CIE Illuminant E
0 1 79 {/i exch def %i=0,1,79
        /YKSUM YKSUM F_CIEi 80 i add get add def
} for %i=0,1,79

0 1 79 {/i exch def %i=0,1,79
        XEi i F_CIEi  00 i add get YKSUM div 100 mul put
        YEi i F_CIEi  80 i add get YKSUM div 100 mul put
        ZEi i F_CIEi 160 i add get YKSUM div 100 mul put
        /SUM XEi i get
             YEi i get add
             XEi i get add 0.0001 add def
        XAEi i XEi i get SUM div put
        YAEi i YEi i get SUM div put
        ZAEi i ZEi i get SUM div put
} for %i=0,1,79

%*********************************************************************
20 setlinewidth
/xdel  1005 def
/ydel   395 def
/x0  050 def
/x1 -150 def

/xchart90 0 def %0=default
/ynorW0 1.000 def /ynorZ0 0.1800 def /ynorN0 0.001 def

2 1 2 {/xchart91 exch def %xchart91=0,4
xchart91 0 eq {/ynorW1 1.000 def  /ynorZ1 0.1800 def /ynorN1 0.001 def
               /ycon (>288:1) def /yconsh 0.000 def} if
xchart91 1 eq {/ynorW1 1.000 def  /ynorZ1 0.1800 def /ynorN1 0.040 def
               /ycon (=25:1) def  /yconsh 0.060 def} if
xchart91 2 eq {/ynorW1 1.000 def  /ynorZ1 0.1800 def /ynorN1 0.100 def
               /ycon (=10:1) def  /yconsh 0.100 def} if
xchart91 3 eq {/ynorW1 1.000 def  /ynorZ1 0.1800 def /ynorN1 0.250 def
               /ycon (=4:1) def   /yconsh 0.250 def} if
xchart91 4 eq {/ynorW1 1.000 def  /ynorZ1 0.1800 def /ynorN1 0.500 def
               /ycon (=2:1) def   /yconsh 0.500 def} if

gsave

72 90 translate

0.010 MM dup scale

/xbtex0 0 def  %xbtex=0 for files Y1(0/1)-(1..8)A.EPS
xbtex0 1 eq {%xbtex0=1

40 setlinewidth
/ymax1 17100 def
/xmax1 12250 def
1.0 setgray
0 0  moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto
closepath fill
0 setgray
0 0  moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto
closepath stroke

TK
0 setgray
150  /Times-ISOL1 FS
050 -140 moveto
(BGC70-4A) show
%xchart 1 add cvishow0
} if %xbtex0=1

/kchartl 0 def
/xchartl xchart def
/xchartl 6 def
3 1 3 {/xchartl exch def %xchartl=0,7

20 setlinewidth

%  xchartl   0 eq {  100 13000 translate} if
%  xchartl   1 eq { 6150 13000 translate} if
%  xchartl   2 eq {  100 08740 translate} if
%  xchartl   3 eq { 6150 08740 translate} if

%  xchartl   4 eq {  100 04480 translate} if
%  xchartl   5 eq { 6150 04480 translate} if
%  xchartl   6 eq {  100 00220 translate} if
%  xchartl   7 eq { 6150 00220 translate} if

0 setgray
150  /Times-ISOL1 FS
050 -140 moveto
kchartl 0 eq {(BGC70-) show}{(BGC71-) show} ifelse
xchartl 1 add cvishow0
(A) show %A

%default
%/ynorW ynorW1 def
%/ynorN ynorN1 def
%/ynorZ ynorZ1 def

gsave

5 /Times-ISOL1 FS
/cvishow {cvi 6 string cvs show} def
%75 85 moveto
%lanind cvishow (-) show
%colorm cvishow
%deintp cvishow
%xcolorl cvishow
%xchart cvishow
%pchart cvishow
%colsep cvishow (-L) show pmetam cvishow

%4 /Times-ISOL1 FS
%72 86 moveto
%(BGC70-4A) show

%xchart4=2 default
/xchart4 0 def %0,1:(x,y), 2,3:(CAB,Y), 4:(A,B), 5&6:(A1,B1), 7:(A2,B2)

%72 90 translate

%0.010 MM dup scale

/xwidth 6000 def
/ywidth 4000 def
25 setlinewidth
0 0 0 0 setcmyk_olvcolor
0 0 moveto xwidth     0 rlineto 0 ywidth rlineto
           xwidth neg 0 rlineto closepath fill

0 0 moveto xwidth     0 rlineto 0 ywidth rlineto
           xwidth neg 0 rlineto closepath clip

0 setgray
0 0 moveto xwidth     0 rlineto 0 ywidth rlineto
           xwidth neg 0 rlineto closepath stroke

%calculation of XW,YW,ZW for 8 illuminants Dxx or Pxx
0 1 79 {/i exch def %i=0,79
        SDAK i xchart8 0 eq {%xchart8=0 Pxx
               xchartl 0 eq {SP60 i get put} if
               xchartl 1 eq {SP55 i get put} if
               xchartl 2 eq {SP50 i get put} if
               xchartl 3 eq {SP45 i get put} if
               xchartl 4 eq {SP40 i get put} if
               xchartl 5 eq {SP35 i get put} if
               xchartl 6 eq {SP30 i get put} if
               xchartl 7 eq {SP25 i get put} if
                            }%xchart8=0 Pxx
                            {%xchart8=1 Dxx
               xchartl 0 eq {SD65 i get put} if
               xchartl 1 eq {SD50 i get put} if
               xchartl 2 eq {SP40 i get put} if
               xchartl 3 eq {SA00 i get put} if
               xchartl 4 eq {SE00 i get put} if
               xchartl 5 eq {SC00 i get put} if
               xchartl 6 eq {SP00 i get put} if
               xchartl 7 eq {SQ00 i get put} if
                            } ifelse %xchart8=1 Dxx
       } for %i=0,79

/XSi  82 array def %any radiation
/YSi  82 array def
/ZSi  82 array def
/XASi 82 array def %A=Anteil
/YASi 82 array def
/ZASi 82 array def

/YKSUM 0 def
0 1 79 {/i exch def %i=0,1,79
        /YKSUM YKSUM SDAK i get F_CIEi 80 i add get mul add def
} for %i=0,1,79

0 1 79 {/i exch def %i=0,1,79
        XSi i SDAK i get F_CIEi  00 i add get mul YKSUM div 100 mul put
        YSi i SDAK i get F_CIEi  80 i add get mul YKSUM div 100 mul put
        ZSi i SDAK i get F_CIEi 160 i add get mul YKSUM div 100 mul put
        /SUM XSi i get
             YSi i get add
             ZSi i get add 0.0001 add def
        XASi i XSi i get SUM div put
        YASi i YSi i get SUM div put
        ZASi i ZSi i get SUM div put
} for %i=0,1,79

%XW,YW,ZW for white
/XW 0 def
/YW 0 def
/ZW 0 def
0 1 079 {/i exch def %i=0,79
         /XW XW XSi i get add def
         /YW YW YSi i get add def
         /ZW ZW ZSi i get add def
        } for %i=0,79

/XW100 XW def
/YW100 YW def
/ZW100 ZW def
/SUM XW100 YW100 add ZW100 add 0.0001 add def
/XAW100 XW100 SUM div def
/YAW100 YW100 SUM div def
/ZAW100 ZW100 SUM div def

/XN100 XW 0.0001 mul def %100->0.01
/YN100 YW 0.0001 mul def
/ZN100 ZW 0.0001 mul def
/SUM XN100 YN100 add ZN100 add 0.0001 add def
/XAN100 XN100 SUM div def
/YAN100 YN100 SUM div def
/ZAN100 ZN100 SUM div def

%available
%XEi, YEi, ZEi, XAEi, YAEi, ZAEi, 0..79 for 380 to 775nm for illuminant E
%XSi, YSi, ZSi, XASi, YASi, ZASi, 0..79 for 380 to 775nm for illuminant (P/D)xx
%purple colours in proz_chromaticity lines

/DOW  82 array def %special for (x,y) diagrams

0 1 79 {/i exch def %i=0,79 = 380_775
        DOW i 380 i 5 mul add put
       } for %i=0,79

%**************************************************************
%calculation of wavelength
%from ANR1

/proc_ABC_KNP_FWERTiX
{%BEG proc_ABC_KNP_FWERT

%input XSi,YSi,ZSi, kNP
%output FWERTiX/Y/Z (i=1,4)

    kNP 1 ge {/FWERT1X XSi kNP 1 sub get def
              /FWERT1Y YSi kNP 1 sub get def
              /FWERT1Z ZSi kNP 1 sub get def}
             {/FWERT1X XSi 0 get def %again 400nm for i=0
              /FWERT1Y YSi 0 get def
              /FWERT1Z ZSi 0 get def} ifelse

    /FWERT2X XSi kNP get def
    /FWERT2Y YSi kNP get def
    /FWERT2Z ZSi kNP get def

    /FWERT3X XSi kNP 1 add get def
    /FWERT3Y YSi kNP 1 add get def
    /FWERT3Z ZSi kNP 1 add get def

    /FWERT4X XSi kNP 2 add get def
    /FWERT4Y YSi kNP 2 add get def
    /FWERT4Z ZSi kNP 2 add get def

} bind def %END proc_ABC_KNP_FWERTiX

%*********************************************************
/proc_XIE_TN1
{%BEG proc_XIE_TN1

%input XIE, FWERTiX/Y/Z (i=1,4)
%output TN1

/A1N XIE       1 XIE sub mul XIE 2 sub mul 6 div   def
/A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def
/A3N XIE 1 add XIE       mul 2 XIE sub mul 0.5 mul def
/A4N XIE 1 add XIE       mul XIE 1 sub mul 6 div   def
/FNX A1N FWERT1X mul
     A2N FWERT2X mul add
     A3N FWERT3X mul add
     A4N FWERT4X mul add def
/FNY A1N FWERT1Y mul
     A2N FWERT2Y mul add
     A3N FWERT3Y mul add
     A4N FWERT4Y mul add def
/FNZ A1N FWERT1Z mul
     A2N FWERT2Z mul add
     A3N FWERT3Z mul add
     A4N FWERT4Z mul add def
/TNX FNX FXU1 mul
     FNY FXU2 mul add
     FNZ FXU3 mul add def

} bind def %END proc_XIE_TN1

%*********************************************************
/xxi 8 array def
%     0    1    2    3    4    5    6    7
%     INPi IPNi TN0i TP0i TN1i TP1i DO47 DO47c
/xxi [1700 2000 2300 2800 3300 3800 4300 4800] def
/ymax 1500 def

/xti 9 array def
%     0    1     2    3    4    5    6    7    8
%     Name range Xti  Yti  Zti  x    y    ld   lp 
/xti [2450 2575  3050 3350 3670 4150 4500 4900 5150] def
/xti [2700 2875  3300 3600 3920 4250 4600 4930 5160] def
/ytax 3700 def

%                  0       1       2 3 4 5 6 7 8 9
/FX1i 10 array def %lamda1,lambda2,C,R,B,Y,G,M,W,N
/FY1i 10 array def
/FZ1i 10 array def
/XIE1j  10 array def
/XIE2j  10 array def
/DOW1j  10 array def
/DOW2j  10 array def
/DOW1jc 10 array def
/DOW2jc 10 array def

/colXi  9 array def
/colYi  9 array def
/colZi  9 array def
/colXAi 9 array def
/colYAi 9 array def
/colZAi 9 array def

/colfarbi 9 array def
/colnamei 9 array def
/colxsh1i 9 array def
/colysh1i 9 array def
/colxsh3i 9 array def
/colysh3i 9 array def
/colxsh5i 9 array def
/colysh5i 9 array def
/colxsh7i 9 array def
/colysh7i 9 array def
%         R      Y      G      C      B      M      W      N     Z
%         0      1      2      3      4      5      6      7     8
/colfarbi [%colfarbi 
          1 0 0  1 1 0  0 1 0  0 1 1  0 0 1  1 0 1  1 1 1  0 0 0 0.5 0.5 0.5
          ] def %colfarbi
/colnamei [%colnamei
          (R)   (Y)    (G)     (C)    (B)    (M)    (W)    (N)   (Z)
          ] def %colnamei
%**********************************************************************
/colxsh1i [%colxsh1i
           -100 -120   -400   -400    70   -100   -200   -200  -200
          ] def %colxsh1i
/colysh1i [%colysh1i
           -250  100   -050   -000  -060   -200   -050   -050  -050
          ] def %colysh1i
%***********************************************************
/colxsh3i [%colxsh3i
          -000    -100  -200  -300   -380   -150   -200   -200  -200
          ] def %colxsh3i
/colysh3i [%colysh3i
          -200    120   -200   150   -050    110   -050   -050  -050
          ] def %colysh3i
%************************************************************
/colxsh5i [%colxsh5i
           100    070   -450   -450   070    100   -200   -200  -200
          ] def %colxsh5i
/colysh5i [%colysh5i
          -050    070   -050   -050   -150   -050   -050   -050  -050
          ] def %colysh5i
/colxsh7i [%colxsh7i
           100    070   -450   -450   070    100   -200   -200  -200
          ] def %colxsh7i
/colysh7i [%colysh7i
          -050    070   -050   -050   -150   -050   -050   -050  -050
          ] def %colysh7i

0 1 7 {/jq exch def %jq=0,1
              jq 0 eq {/FF1 XW100 XSi 4 get sub def
                       /FF2 YW100 YSi 4 get sub def
                       /FF3 ZW100 ZSi 4 get sub def
                       } if
              jq 1 eq {/FF1 XW100 XSi 64 get sub def
                       /FF2 YW100 YSi 64 get sub def
                       /FF3 ZW100 ZSi 64 get sub def
                       } if
              jq 2 eq {%STOPA1
                       /FF1 colXi 0 get def %R(0)
                       /FF2 colYi 0 get def
                       /FF3 colZi 0 get def
                       } if
              jq 3 eq {%STOPA2
                       /FF1 colXi 1 get def %Y(1)
                       /FF2 colYi 1 get def
                       /FF3 colZi 1 get def
                       } if
              jq 4 eq {%STOPA3
                       /FF1 colXi 2 get def %G(2)
                       /FF2 colYi 2 get def
                       /FF3 colZi 2 get def
                       } if
              jq 5 eq {%STOPA4
                       /FF1 colXi 3 get def %C(3)
                       /FF2 colYi 3 get def
                       /FF3 colZi 3 get def
                       } if
              jq 6 eq {/FF1 colXi 4 get def %B(4)
                       /FF2 colYi 4 get def
                       /FF3 colZi 4 get def
                       } if
              jq 7 eq {/FF1 colXi 5 get def %M(5)
                       /FF2 colYi 5 get def
                       /FF3 colZi 5 get def
                       %STOPA7
                       } if

              /U1 XW100 def
              /U2 YW100 def
              /U3 ZW100 def
       
              /FXU1 FF2 U3 mul FF3 U2 mul sub def
              /FXU2 FF3 U1 mul FF1 U3 mul sub def
              /FXU3 FF1 U2 mul FF2 U1 mul sub def

/INP -1 def
/IPN -1 def
%assumption jump from TN to TP from negativ to positiv
       4 1 64 {/i exch def %i=4,64
               /TN0 XSi i get FXU1 mul
                    YSi i get FXU2 mul add
                    ZSi i get FXU3 mul add def
               /TP0 XSi i 1 add get FXU1 mul
                    YSi i 1 add get FXU2 mul add
                    ZSi i 1 add get FXU3 mul add def
               TN0 0 le TP0 0 gt and {/INP i def exit} if
              } for %i=4,64

       4 1 64 {/i exch def %i=4,64
               /TN1 XSi i get FXU1 mul
                    YSi i get FXU2 mul add
                    ZSi i get FXU3 mul add neg def
               /TP1 XSi i 1 add get FXU1 mul
                    YSi i 1 add get FXU2 mul add
                    ZSi i 1 add get FXU3 mul add neg def
               TN1 0 le TP1  0 gt and {/IPN i def exit} if
              } for %i=4,64

/iout 0 def
iout 1 eq {%iout=1
           1800 3900 jq 200 mul sub moveto
           TV (jq,FFi: ) show jq cvishow0 (, ) show
           FF1 cvsshow2 (, ) show
           FF2 cvsshow2 (, ) show
           FF3 cvsshow2
          } if %iout=1

jq 0 eq {%jq=0
          TV
          /TN00 TN0 def
          /TP00 TP0 def
          /TN10 TN1 def
          /TP10 TP1 def
          /INP0 INP def
          /IPN0 IPN def

          /iout 0 def
          iout 1 eq {%iout=1
          4000 ymax jq 200 mul sub moveto
          INP0 cvishow0 (, ) show
          380 INP0 5 mul add cvishow (, ) show
          IPN0 cvishow0 (, ) show
          TN00 cvishow0 (, ) show
          TP00 cvishow0 (, ) show
          TN10 cvishow0 (, ) show
          TP10 cvishow0
         } if %iout=1

         } if %jq=0

jq 1 eq {%jq=1
          /jqx jq 250 mul def
          /TN01 TN0 def
          /TP01 TP0 def
          /TN11 TN1 def
          /TP11 TP1 def
          /INP1 INP def
          /IPN1 IPN def

          /iout 0 def
          iout 1 eq {%iout=1
          4000 ymax jq 200 mul sub moveto
          INP1 cvishow0 (, ) show
          380 INP1 5 mul add cvishow (, ) show
          IPN1 cvishow0 (, ) show
          TN01 cvishow0 (, ) show
          TP01 cvishow0 (, ) show
          TN11 cvishow0 (, ) show
          TP11 cvishow0
         } if %iout=1

         } if %jq=1

%*********************************************************
/kNP INP def

kNP 0 ge {%kNP>=0

proc_ABC_KNP_FWERTiX %input XSi,KNP, output FWERTiXYZ (i=1,4)

/XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2
/XIE2 1 def

0 1 9 {/mk exch def %mk=0,9
       /XIE XIE1 XIE2 add 0.5 mul def
       proc_XIE_TN1  %input XIE, ouput TN1
       TNX 0 le {/XIE1 XIE def /TN1 TNX def}
                {/XIE2 XIE def /TP1 TNX def} ifelse
      } for %mk=0,9

/XIE XIE1 XIE2 add 0.5 mul def
/DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def
XIE1j jq XIE put
DOW1j jq DOWXIE1 put
       } if %kNP>=0

%*********************************************************
/kNP IPN def

kNP 0 ge {%kNP>=0

proc_ABC_KNP_FWERTiX %input XSi,KNP, output FWERTiXYZ (i=1,4)

/XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2
/XIE2 1 def
/FXU1 FXU1 neg def
/FXU2 FXU2 neg def
/FXU3 FXU3 neg def

0 1 9 {/mk exch def %mk=0,9
       /XIE XIE1 XIE2 add 0.5 mul def
       proc_XIE_TN1  %input XIE, ouput TN1
       TNX 0 le {/XIE1 XIE def /TN1 TNX def}
                {/XIE2 XIE def /TP1 TNX def} ifelse
      } for %mk=0,9

/XIE XIE1 XIE2 add 0.5 mul def
/DOWXIE2 DOW IPN get 
         DOW IPN 1 add get DOW IPN get sub XIE mul add def
XIE2j jq XIE put
DOW2j jq DOWXIE2 put
       } if %kNP>=0

%*********************************************************
INP 0 ge {%INP>=0,-1
          /DOWEL1 DOWXIE1 def /DOWEL1c () def
          DOW1j  jq DOWEL1  put
          DOW1jc jq DOWEL1c put
         }%INP>=0
         {%INP=-1
          /DOWEL1 DOWXIE2 def /DOWEL1c (c) def
          DOW1j  jq DOWEL1  put
          DOW1jc jq DOWEL1c put
         } ifelse %INP>=0,-1

IPN 0 ge {%IPN>=0,-1
          /DOWEL2 DOWXIE2 def /DOWEL2c () def
          DOW2j  jq DOWEL2  put
          DOW2jc jq DOWEL2c put
         }%IPN>=0
         {%IPN=-1
          /DOWEL2 DOWXIE1 def /DOWEL2c (c) def
          DOW2j  jq DOWEL2  put
          DOW2jc jq DOWEL2c put
         } ifelse %IPN>=0,-1

%*********************************************************
jq 0 eq {%jq=0 calculation of FXi, FYi, FZi (i=0 t0 3)
          %C from 380nm to border between C(3) and R(0)
          /j0 0 def /j1 INP0 def

%         R      Y      G      C      B      M      R     W     N
%         0      1      2      3      4      5      6     7     8

/iout 0 def
iout 1 eq {%iout=1
          TV
          /jx1 j1 1 sub def
          /jx2 j1 2 add def
          jx1 1 jx2 {/jx exch def %jx=jx1,jx2
                     /jx0 jx jx1 sub def
                     3700 2300 jx0 200 mul sub moveto
                     jx cvishow (, ) show
                     380 jx 5 mul add cvishow (, ) show
                     XSi jx get cvsshow2 (, ) show
                     YSi jx get cvsshow2 (, ) show
                     ZSi jx get cvsshow2 (, ) show 
                     XIE1j jq get cvsshow2
                    } for %jx=jx1,jx2
          } if %iout=1

          j0 1 j1 {/j exch def %j=j0,j1
                   j j0 eq {%j=j0
                            /colXC 0 def
                            /colYC 0 def
                            /colZC 0 def
                           } if %j=j0
                   /colXC colXC XSi j get add def
                   /colYC colYC YSi j get add def
                   /colZC colZC ZSi j get add def
                  } for %j=j0,j1


%correction for C
          /XIED XIE1j jq get 0.5 sub def
          XIED 0 le {%XIED<0 and -0,5<XIED<0
                     /colXC colXC XSi j1 get XIED mul sub def
                     /colYC colYC YSi j1 get XIED mul sub def
                     /colZC colZC ZSi j1 get XIED mul sub def
                    }
                    {%XIED>0 and 0<XIED<0,5
                     /colXC colXC XSi j1 1 add get XIED mul add def
                     /colYC colYC YSi j1 1 add get XIED mul add def
                     /colZC colZC ZSi j1 1 add get XIED mul add def
                    } ifelse

          colXi 3 colXC put              %C(3)
          colYi 3 colYC put
          colZi 3 colZC put

          colXi 0 XW100 colXC sub put    %R(0)
          colYi 0 YW100 colYC sub put
          colZi 0 ZW100 colZC sub put

         } if %jq=0

jq 1 eq {%jq=1 calculation of FXi, FYi, FZi (i=0 t0 3)
          %B from 380nm to border between B(4) and Y(1)
          /j0 0 def /j1 INP1 def

%         R      Y      G      C      B      M      R     W     N
%         0      1      2      3      4      5      6     7     8

/iout 0 def
iout 1 eq {%iout=1
          TV
          /jx1 j1 1 sub def
          /jx2 j1 2 add def
          TV
          jx1 1 jx2 {/jx exch def %jx=jx1,jx2
                     /jx0 jx jx1 sub def
                     3700 1100 jx0 200 mul sub moveto
                     jx cvishow (, ) show
                     380 jx 5 mul add cvishow (, ) show
                     XSi jx get cvsshow2 (, ) show
                     YSi jx get cvsshow2 (, ) show
                     ZSi jx get cvsshow2 (, ) show
                     XIE1j jq get cvsshow2
                    } for %jx=jx1,jx2
          } if %iout=1

          j0 1 j1 {/j exch def %j=j0,j1
                   j j0 eq {%j=j0
                            /colXB 0 def                %B(4)
                            /colYB 0 def
                            /colZB 0 def
                           } if %j=j0
                   /colXB colXB XSi j get add def
                   /colYB colYB YSi j get add def
                   /colZB colZB ZSi j get add def
                  } for %j=j0,j1

%correction B
          /XIED XIE1j jq get 0.5 sub def
          XIED 0 le {%XIED<0 and -0,5<XIED<0
                     /colXB colXB XSi j1 get XIED mul sub def
                     /colYB colYB YSi j1 get XIED mul sub def
                     /colZB colZB ZSi j1 get XIED mul sub def
                    }
                    {%XIED>0 and 0<XIED<0,5
                     /colXB colXB XSi j1 1 add get XIED mul add def
                     /colYB colYB YSi j1 1 add get XIED mul add def
                     /colZB colZB ZSi j1 1 add get XIED mul add def
                    } ifelse

          colXi 4 colXB put              %B(4)
          colYi 4 colYB put
          colZi 4 colZB put

          colXi 1 XW100 colXB sub put    %Y(1)
          colYi 1 YW100 colYB sub put
          colZi 1 ZW100 colZB sub put

         } if %jq=1

jq 3 eq {%jq=3: calculate G(2), C(3), B(4), M(5)
         %colXYZi R(0)-C(4) available
         %colXYZi B(4)-Y(1) available
         %colXYZi M(5)-G(2) to be calculated
         colXi 5 colXi 4 get colXi 0 get add put %M(5)
         colYi 5 colYi 4 get colYi 0 get add put
         colZi 5 colZi 4 get colZi 0 get add put
         colXi 2 XW100 colXi 5 get sub put       %G(2)
         colYi 2 YW100 colYi 5 get sub put
         colZi 2 ZW100 colZi 5 get sub put
        } if %jq=3

       } for %jq=0,5

/TBVd {TBV 0 -50 rmoveto (d) show 0 50 rmoveto TL} def
/TBVc {TBV 0 -50 rmoveto (c) show 0 50 rmoveto TL} def
/TBWd {TBW 0 -50 rmoveto (d) show 0 50 rmoveto TV} def
/TBWc {TBW 0 -50 rmoveto (c) show 0 50 rmoveto TV} def

/xcol10_BL {xcolorl 1 eq {TBL 0 -50 rmoveto  (10) show 0 50 rmoveto TBS} if
           } bind def
/xcol10KBL {xcolorl 1 eq {TBL 0 -50 rmoveto (,10) show 0 50 rmoveto TBS} if
           } bind def
/xcol10_BV {xcolorl 1 eq {TBV 0 -50 rmoveto  (10) show 0 50 rmoveto TBL} if
           } bind def
/xcol10KBV {xcolorl 1 eq {TBV 0 -50 rmoveto (,10) show 0 50 rmoveto TBL} if
           } bind def
%for table
/xcol10_BW {xcolorl 1 eq {TBW 0 -50 rmoveto  (10) show 0 50 rmoveto TBV} if
           } bind def
/xcol10KBW {xcolorl 1 eq {TBW 0 -50 rmoveto (,10) show 0 50 rmoveto TBV} if
           } bind def


%allways default
6 1 8 {/jp exch def %jp=0,8 WNZ
       jp 6 le {/ynor ynorW0 def} if
       jp 7 eq {/ynor ynorN0 def} if
       jp 8 eq {/ynor ynorZ0 def} if
       colXi jp XW100 ynor mul put
       colYi jp YW100 ynor mul put
       colZi jp ZW100 ynor mul put
       /SUM colXi jp get
            colYi jp get add
            colZi jp get add 0.0001 add def
       colXAi jp colXi jp get SUM div put
       colYAi jp colYi jp get SUM div put
       colZAi jp colZi jp get SUM div put
      } for %jp=6,8 WNZ

%****************************************************************
%for all further calculations and graphics

/jnor 0 def
0 1 1 {/jnor exch def %jnor=0,1 a=actual
gsave

       jnor 0 eq {/ynorWa ynorW0 def
                  /ynorNa ynorN0 def
                  /ynorZa ynorZ0 def} if
       jnor 1 eq {/ynorWa ynorW1 def
                  /ynorNa ynorN1 def
                  /ynorZa ynorZ1 def} if

6 1 8 {/jp exch def %jp=0,8 WNZ
       jp 6 le {/ynor ynorWa def} if
       jp 7 eq {/ynor ynorNa def} if
       jp 8 eq {/ynor ynorZa def} if
       colXi jp XW100 ynor mul put
       colYi jp YW100 ynor mul put
       colZi jp ZW100 ynor mul put
       /SUM colXi jp get
            colYi jp get add
            colZi jp get add 0.0001 add def
       colXAi jp colXi jp get SUM div put
       colYAi jp colYi jp get SUM div put
       colZAi jp colZi jp get SUM div put
      } for %jp=6,8 WNZ

/xchartt 0 def %xchartt transfer 0: Reflection 1: antichromatic add
xchartt 0 eq {%xchartt=0
/colXoi 10 array def
/colYoi 10 array def
/colZoi 10 array def

0 1 5 {/jp exch def %jp=0,5
       colXoi jp colXi jp  get put
       colYoi jp colYi jp  get put
       colZoi jp colZi jp  get put
      } for %jp=0,5

0 1 2 {/jp exch def %jp=0,2
       /jp3 jp 3 add def
       colXi jp colXoi jp  get ynorWa mul 
                colXoi jp3 get ynorNa mul add put
       colYi jp colYoi jp  get ynorWa mul
                colYoi jp3 get ynorNa mul add put
       colZi jp colZoi jp  get ynorWa mul
                colZoi jp3 get ynorNa mul add put
      } for %jp=0,2

3 1 5 {/jp exch def %jp=3,5
       /jp3 jp 3 sub def
       colXi jp colXoi jp  get ynorWa mul
                colXoi jp3 get ynorNa mul add put
       colYi jp colYoi jp  get ynorWa mul
                colYoi jp3 get ynorNa mul add put
       colZi jp colZoi jp  get ynorWa mul
                colZoi jp3 get ynorNa mul add put
      } for %jp=3,5
} if %xchartt=0

xchartt 1 eq {%xchartt=1
0 1 5 {/jp exch def %jp=0,5
       colXi jp colXi jp get
                colXi 6  get ynorNa mul add
                ynorWa ynorNa add div put
       colYi jp colYi jp get
                colYi 6  get ynorNa mul add
                ynorWa ynorNa add div put
       colZi jp colZi jp get
                colZi 6  get ynorNa mul add
                ynorWa ynorNa add div put  
      } for %jp=0,5
} if %xchartt=1

0 1 5 {/jp exch def %jp=0,5
       /SUM colXi jp get
            colYi jp get add
            colZi jp get add 0.0001 add def
       colXAi jp colXi jp get SUM div put
       colYAi jp colYi jp get SUM div put
       colZAi jp colZi jp get SUM div put
      } for %jp=0,5

%col(XYZ)i, col(XYZ)Ai

/XANK colXAi 6 get def
/YANK colYAi 6 get def
/ZANK colZAi 6 get def

%definitions necessary for most graphics

/colXAposi 9 array def
/colYAposi 9 array def
%         R      Y      G      C      B      M      W      N     Z
%         0      1      2      3      4      5      6      7     8

%STOPd1

%definitions necessary for many calculations
%different for xchart4=0 to 7

%for proz_paramV
%allways
/kxi  8 array def
/xci  8 array def
/Bci  8 array def
/xcti 8 array def
/Bcti 8 array def

%     0    1    2    3    4    5    6    7
%    (P60)(P55)(P50)(P45)(P40)(P35)(P30)(P25)
%or  (D65)(D50)(P40)(A00)(E00)(C00)(P00)(Q00)
/kxi [9    10   10   11   9    9    10   9] def
/kx kxi xchartl get def

xchart4 0 eq
xchart4 1 eq or 
xchart4 4 eq or {%xchart4=0,1 (x,y); 4 (A, B)
%       (P60)   (P55)   (P50)   (P45)   (P40)   (P35)   (P30)   (P25)
%or     (D65)   (D50)   (P40)   (A00)   (E00)   (C00)   (P00)   (Q00)
%       0       1       2       3       4       5       6       7
/xci  [ 0.000   0.000   0.000   0.000   0.000   0.000   0.000   0.000 ] def
/xcti [(0,000) (0,000) (0,000) (0,000) (0,000) (0,000) (0,000) (0,000)] def
/Bci  [ 1.000   1.000   1.000   1.000   1.000   1.000   1.000   1.000 ] def
/Bcti [(1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000)] def
             } if %xchart4=0;1;4

xchart4 5 eq
xchart4 6 eq or {%xchart4=5,6 (A1, B1)
%       (P60)   (P55)   (P50)   (P45)   (P40)   (P35)   (P30)   (P25)
%or     (D65)   (D50)   (P40)   (A00)   (E00)   (C00)   (P00)   (Q00)
%       0       1       2       3       4       5       6       7
/xci  [ 0.110   0.110   0.110   0.110   0.110   0.110   0.110   0.110 ] def
/xcti [(0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110)] def
/Bci  [ 1.000   1.000   1.000   1.000   1.000   1.000   1.000   1.000 ] def
/Bcti [(1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000)] def
             } if %xchart4=5,6

xchart4 2 eq
xchart4 3 eq or 
xchart4 7 eq or {%xchart4=2,3,7
%       (P60)   (P55)   (P50)   (P45)   (P40)   (P35)   (P30)   (P25)
%or     (D65)   (D50)   (P40)   (A00)   (E00)   (C00)   (P00)   (Q00)
%       0       1       2       3       4       5       6       7
/xci  [ 0.110   0.110   0.110   0.110   0.110   0.110   0.110   0.110 ] def
/xcti [(0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110)] def
xchart8 0 eq {%xchart8=0 Pxx
/Bci  [ 0.800   0.900   1.000   1.100   1.300   1.800   2.500   3.700 ] def
/Bcti [(0,800) (0,900) (1,000) (1,100) (1,300) (1,800) (2,500) (3,700)] def
            } if %xchart8=0 Pxx
xchart8 1 eq {%xchart8=1 Dxx
/Bci  [ 0.800   1.000   1.300   2.500   0.900   0.700   1.000   0.700 ] def
/Bcti [(0,800) (1,000) (1,300) (2,500) (0,900) (0,700) (1,000) (0,700)] def
            } if %xchart8=1 Dxx

             } if %xchart4=2,3,7

/xc  xci  xchartl get def
/xct xcti xchartl get def
/Bc  Bci  xchartl get def
/Bct Bcti xchartl get def

%********************************************************************
%only for graphics xchart4=0,1

xchart4 0 eq
xchart4 1 eq or {%xchart4=0,1 only for (x,y)

proz_chromaticity_lines

%     0    1    2    3    4    5    6    7
%    (P60)(P55)(P50)(P45)(P40)(P35)(P30)(P25)
%or  (D65)(D50)(P40)(A00)(E00)(C00)(P00)(Q00)

/fakt 4000 def
600 400 translate %for scala and graphic

/AnY400 XASi 4 get fakt mul def
/BnY400 YASi 4 get fakt mul def
/AnY700 XASi 64 get fakt mul def
/BnY700 YASi 64 get fakt mul def
/AnYW XAW100 fakt mul def
/BnYW YAW100 fakt mul def

%400
/AnY1 AnY400 def
/BnY1 BnY400 def
/mABY BnYW BnY1 sub
      AnYW AnY1 sub 0.0001 add div def
/bABY BnYW AnYW mABY mul sub def

%x+y+z=1, z=0
%x+y=1
%AnY1/fakt + BnY1/fakt =1
%ANY1+BnY1=fakt or xS+yS=fakt or xS=fakt-yS
%yS=m*xS+b
%yS=m*(fakt-yS)+b
%yS+m*yS=m*fakt+b
%yS=(m*fakt+b)/(1+m)

/BnYx1 bABY mABY fakt mul add
       1 mABY add 0.0001 add div def
/AnYx1 fakt BnYx1 sub def

%********************************************
%700
/AnY2 AnY700 def
/BnY2 BnY700 def
/mABY BnYW BnY2 sub
      AnYW AnY2 sub 0.0001 add div def
/bABY BnYW AnYW mABY mul sub def
/AnYx2 0 def
/BnYx2 bABY def

0 0 0 setrgbcolor
[30] 0 setdash
AnY1 BnY1 moveto AnYx1 BnYx1 lineto stroke
%[50] 0 setdash
%0 1 0 setrgbcolor
%AnY1 BnY1 moveto AnYx1 BnYx1 lineto stroke
[ ] 0 setdash

0 0 0 setrgbcolor
[30] 0 setdash
AnY2 BnY2 moveto AnYx2 BnYx2 lineto stroke
%[50] 0 setdash
%AnY2 BnY2 moveto AnYx2 BnYx2 lineto stroke
[ ] 0 setdash

0 1 0 setrgbcolor
xchart8 1 eq      %only for Dxx=E00
xchartl 4 eq and {%xchart4=4 %E00
0 1 2 {/j exch def %j=0,2
       j 0 eq {/i1 24 def /i2 02 def} if %500, 500c,E
       j 1 eq {/i1 29 def /i2 07 def} if %525, 525c,E
       j 2 eq {/i1 34 def /i2 12 def} if %550, 550c,E
       XASi i1 get fakt mul
       YASi i1 get fakt mul moveto
       XAEZi i2 get fakt mul
       YAEZi i2 get fakt mul lineto stroke
      } for %j=0,2
    } if %xchart8=1 and xchart4=4 %Dxx=E00

0 setgray
[ ] 0 setdash
newpath
XAW100 fakt mul YAW100 fakt mul 90 0 360 arc stroke
%BEG outA
%BEG outB
%BEG outc1
0 1 8 {/jp exch def %jp=0,8
       colXAposi jp colXAi jp get fakt mul put
       colYAposi jp colYAi jp get fakt mul put
      } for %jp=0,8

0 setgray
newpath
jnor 0 eq {[50] 0 setdash 1 0 0 setrgbcolor} if
jnor 1 eq {[ ]  0 setdash
           xchart91 0 eq {1 0 0 setrgbcolor}{0 1 0 setrgbcolor} ifelse
          } if %jnor=1
0 1 6 {/jp exch def %jp=0,6
       jp 0 eq {colXAposi jp get colYAposi jp get moveto} if
       jp 1 ge
       jp 5 le and {colXAposi jp get colYAposi jp get lineto} if
       jp 6 eq {colXAposi 0 get colYAposi 0 get closepath stroke} if
      } for %jp=0,6
0 setgray
[ ] 0 setdash
newpath

TL
jnor 1 eq {%jnor=1
0 1 0 setrgbcolor
0 1 5 {/jp exch def %jp=0,5
       /jp3 jp 3 mul def
       0 setgray
       colXAposi jp get colYAposi jp get 70 0 360 arc fill
       colfarbi jp3 get
       colfarbi jp3 1 add get
       colfarbi jp3 2 add get setrgbcolor
       colXAposi jp get colYAposi jp get 50 0 360 arc fill
       newpath
       0 setgray
       colXAposi jp get colxsh1i jp get add
       %special for Yellow
       colYAposi jp get colysh1i jp get add 
       jp 1 eq {%jp=1
                xchart91 2 le {-300 add} if
               } if %jp=1
               moveto
       colYi jp get 0.5 add cvishow0 %rounded
       colnamei jp get show
       TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
       newpath
      } for %jp=0,5
} if %jnor=1

xchart4 1 eq {%lines to RYGB
TL
0 1 3 {/jp exch def %jp=0,3
       /np jp def
       jp 3 eq {/np 4 def} if
       jp 2 le {%jp<=2
                30 setlinewidth
                0 setgray
                colXAposi np get colYAposi np get moveto
                colXAposi 6  get colYAposi 6  get lineto stroke
               } if %jp<=2
       np 2 le {20 setlinewidth}{30 setlinewidth} ifelse
       colXAposi np get colYAposi np get moveto
       np 0 eq {1 0 0 setrgbcolor} if
       np 1 eq {1 1 0 setrgbcolor} if
       np 2 eq {0 1 0 setrgbcolor} if
       np 3 eq {0 0 1 setrgbcolor} if
       colXAposi 6 get colYAposi 6 get lineto stroke
       20 setlinewidth
       0 setgray
      } for %jp=0,3
              
             } if %lines to RGB

%END outc1
-600 400 translate
%BEG outc2
0 1 8 {/i exch def %i=0,8
       xti i xti i get 280 add put
      } for %i=0,8

/ytax 2900 def

jnor 1 eq {%jnor=1
           proz_table %(x,y)
          } if %jnor=1
%END outc2
/x0p 4500 def
/y0p 1000 def
/y0d  250 def
x0p y0p y0d 0 mul sub moveto
TBL (Parameter:) show

x0p y0p y0d 1 mul sub moveto
TBIL (Y) show xcol10_BV ( & Name) show
%Pa_ SL (l) show 0 -50 rmoveto TV (1) show 0 50 rmoveto
%Pa_ TL (=) show DOW1j 0 get 0.5 add cvishow0 (, ) show
%Pa_ SL (l) show 0 -50 rmoveto TV (2) show 0 50 rmoveto
%Pa_ TL (=) show DOW1j 1 get 0.5 add cvishow0 (, ) show

x0p y0p y0d 2 mul sub moveto
TBL (Illuminant ) showea
    (Lichtart ) showde
TELi xchartl get show

x0p y0p y0d 3 mul sub moveto
TBIL (Y) show
TBV 0 -60 rmoveto (W) show 0 60 rmoveto xcol10KBV
TBL (=) show ynorW1 100 mul cvishow0

TBIL (, Y) show TBV
0 -60 rmoveto (N) show 0 60 rmoveto xcol10KBV
TBL (=) show ynorN1 100 mul cvishow0

                } if %xchart4=0,1 only for (x,y)

%********************************************************************
%only for graphics xchart4=2,3

xchart4 2 eq
xchart4 3 eq or {%xchart4=2,3 only for (CAB2,Y)

/xcharts 0 def %0: 0_100, 1: -50_50

%only for ynor=1 either no or yes (default)
/xchart71 0 def % 0: no C-transfer 1: C-transfer (default)

/fakt 20 def
/a2 1.00 def
/b2 -0.4 def

%section BEG for proz_paramV necessary
proz_paramV

/xtrans2_3 4000 def
/ytrans2_3 1600 def
xtrans2_3 ytrans2_3 translate

%red cylinder CAB=62
TBL
0 0 1 setrgbcolor
[100] 0 setdash
069 fakt mul 108 fakt mul moveto
069 fakt mul 000 fakt mul lineto stroke
-69 fakt mul 108 fakt mul moveto
-69 fakt mul 000 fakt mul lineto stroke
060 fakt mul 025 sub 110 fakt mul 150 sub moveto (69) show
-70 fakt mul 100 add 110 fakt mul 150 sub moveto (-69) show

xcharts 2 eq {%Y*-Skala
              0 1 0 setrgbcolor
              -350 102 fakt mul moveto TBS (  60) show
              -350  54 fakt mul moveto TBS (    0) show 
              -350 -10 fakt mul moveto TBS (-60) show
              0 setgray
             } if
[ ] 0 setdash
0 setgray

%axis and scales
0 setgray
-1600 0 xcharts 1 ge {1000 add} if moveto
        3400 0 rlineto stroke

0  -200 moveto 0 2500  rlineto stroke

%x-axis
1800 50 xcharts 1 ge {1000 add} if moveto
100 -50 rlineto -100 -50 rlineto closepath fill

%y-axis
-50 2300 100 sub moveto 50  100 rlineto
                        50 -100 rlineto closepath fill

/xt10x 5 array def %for xcharts=0
/yt10x 5 array def
/xt11x 5 array def %for xcharts=1
/yt11x 5 array def
/xt12x 5 array def %for xcharts=2
/yt12x 5 array def

/xt10x [(-50) ( ) (    50)] def
/yt10x [(0)   ( ) (100)] def

/xt11x [(-50) ( ) (  50)] def
/yt11x [(-50) ( ) (50)] def

/xt12x [(-50) ( ) (  50)] def
/yt12x [(-1) ( ) (1)] def

0 setgray
0 1 2 {/i exch def %i=0,2 x-axis
        -1000 i 1000 mul add
              -75 xcharts 1 ge {1000 add} if moveto
              0 150 rlineto stroke
        -1200 i 1000 mul add
              -300 xcharts 1 ge {1000 add} if moveto
              xcharts 0 eq {TBS xt10x i get show} if
              xcharts 1 eq {TBS xt11x i get show} if
              xcharts 2 eq {TBS xt12x i get show} if
        i 2 eq {1500 0 xcharts 1 ge {1000 add} if moveto
                -050 150 rmoveto  
                TBIS (C) show 
                00 -50 rmoveto TBL (AB,2) show 
                xcharts 2 eq {(n) show} if 0 50 rmoveto xcol10KBL
               } if %i=2
       } for %i=0,2

0 1 2 {/i exch def %i=0,2 y-axis
       -75   0000 i 1000 mul add moveto 150 0 rlineto stroke
       0100 i 1000 mul
       i 0 eq {200 sub} if 
       i 2 eq {015 add} if moveto
       xcharts 0 eq {TBS yt10x i get show} if
       xcharts 1 eq {TBS yt11x i get show} if
       xcharts 2 eq {TBS yt12x i get show} if
       i 2 eq {50 2220 moveto TBIS (Y) show xcol10_BL
               xcharts 1 eq {00 -50 rmoveto TBL 
                             xcolorl 1 eq {(,) show} if
                             (a) show 00 50 rmoveto
                             TBS (=) show
                             TBIS (Y) show xcol10_BL
                             TBS (-50) show
                             } if 
               xcharts 2 eq {00 -50 rmoveto TBL 
                             xcolorl 1 eq {(,) show} if
                             (an) show 00 50 rmoveto
                             TBS (=[) show
                             TBIS (Y) show xcol10_BL
                             TBS (-50]/50) show
                             } if
              } if %i=2
       i 2 eq {0 1 0 setrgbcolor
               xcharts 2 eq {-1850 2215 moveto TBIS (L*) show 
                             -30 0 rmoveto xcol10_BL
                             TBS (=60) show 20 0 rmoveto (log[f\050) show
                             TBIS (Y) show xcol10_BL
                             TBL 00 -50 rmoveto 
                             xcolorl 1 eq {(,) show} if
                             (an) show 00 50 rmoveto
                             TBS (\051]) show
%                             -50 70 rmoveto TBIS (n) show 00 -70 rmoveto
%                             TBS (]) show

                             -1150 -0400 moveto
                             TBL (f\050) show
                             TBIL (Y) show -20 0 rmoveto xcol10_BV
                             TBV 00 -50 rmoveto
                             xcolorl 1 eq {(,) show} if
                             (an) show 00 50 rmoveto
                             TBL (\051=\261[1+10) show 30 0 rmoveto (|) show
                             TBIL (Y) show -20 0 rmoveto xcol10_BV
                             TBV 00 -50 rmoveto
                             xcolorl 1 eq {(,) show} if
                             (an) show 00 50 rmoveto
                             TBL (|) show
                             20 70 rmoveto TBIV (n) show 20 -70 rmoveto
                             TBL (]) show

                             -1150 -0600 moveto
                             TBIL (n ) show
                             TBL
                             (increases to 1 for:) showen
                             (n\344hert sich 1 f\374r:) showde
                             -1150 -0800 moveto
                             (1. decreasing of the) showen
                             (1. abnehmendem) showde
                             -1150 -0970 moveto
                             (    contrast ) showen
                             (    Kontrast ) showde
                             TBIL (C) show

                             -1150 -1170 moveto
                             TBL
                             (2. adjacent compared to) showen
                             (2. aneinandergrenzende) showde
                             -1150 -1340 moveto
                             (    separate colours.) showen
                             (    / separate Farben.) showde
                             } if
               0 setgray
              } if %i=2
       } for %i=0,2

newpath
TBL
xcharts 0 eq {/YZ  0 def}
             {/YZ 50 def} ifelse
0 1 2 {/jp exch def %jp=0,2
       jp 0 eq {0.0 setgray /YNZW 04 def} if
       jp 1 eq {0.5 setgray /YNZW 47 def} if
       jp 2 eq {1.0 setgray /YNZW 90 def} if
       0  YNZW fakt mul 90 0 360 arc fill            %N
       newpath
       0 setgray
       0  YNZW fakt mul 90 0 360 arc stroke
       newpath
       6 fakt mul YNZW fakt mul
       jp 0 eq {050 sub} if
       jp 1 ge {130 sub} if
       moveto
       TBL
       xcharts 1 le {YNZW YZ sub cvishow}
                    {YNZW YZ sub 50 div cvsshow2} ifelse
       newpath
      } for %jp=0,2
newpath
4 fakt mul 52 fakt mul 50 add moveto 
TBL
xcharts 1 le {50 YZ sub cvishow}
             {50 YZ sub 50 div cvsshow2} ifelse

/ydt 150 def
/Yj  10 array def
/Anj 10 array def
/Bnj 10 array def
/Cnj 10 array def
/AnYj 10 array def
/BnYj 10 array def
/CnYj 10 array def
/Yfj  10 array def
/Cfj  10 array def
/vorp 10 array def
%      Rm Ym Gm Cm Bm Mm]
/vorp [1  1  -1 -1 -1 1] def

%only definitions
0 1 5 {/j exch def %j=0,6
       /An  colXAi j get xc sub colYAi j get 0.0001 add div def
       /Bn  colZAi j get        colYAi j get 0.0001 add div 0.4 mul neg
       Bc mul def
       /AnK XANK       xc sub YANK       0.0001 add div def
       /BnK ZANK              YANK       0.0001 add div 0.4 mul neg
       Bc mul def
       Yj   j colYi j get put
       Anj  j An AnK sub put
       Bnj  j Bn BnK sub put
       Cnj  j Anj j get dup mul
              Bnj j get dup mul add 0.0001 add sqrt put

       AnYj j Anj  j get colYi j get mul put
       BnYj j Bnj  j get colYi j get mul put
       CnYj j AnYj j get dup mul
              BnYj j get dup mul add 0.0001 add sqrt put

       Cfj j CnYj j get vorp j get mul 2.5 mul put
       Yfj j Yj   j get put
       colXAposi j Cfj j get fakt mul put
       colYAposi j Yfj j get fakt mul put
       } for %j=0,5
newpath

TL
/YZ 50 def
jnor 1 eq {%jnor=1
0 1 5 {/jp exch def %jp=0,5
       %jnor=1, see above
       xchart91 0 eq {%xchart91=0
                      %always no shift for jnor=1
                      /delY 0 def
                      1 0 0 setrgbcolor
                     } if %xchart91=0
       xchart91 1 ge {%xchart91>=1
                      %allways shift for jnor=1
                      0 1 0 setrgbcolor
                      /delY 100 YZ sub yconsh mul def
                     } if %xchart91>=1
       xchart71 0 eq {%xchart71=0
                      xchart91 0 eq {0 1 0 setrgbcolor}
                                    {0 1 0 setrgbcolor} ifelse
                      /delY 0 def
                     } if %xchart71=0
       /jp3 jp 3 mul def
       0 setgray
       colXAposi jp get
       Yfj jp get delY sub fakt mul 70 0 360 arc fill
       colfarbi jp3 get
       colfarbi jp3 1 add get
       colfarbi jp3 2 add get setrgbcolor
       colXAposi jp get
       Yfj jp get delY sub fakt mul 50 0 360 arc fill
       newpath
       0 setgray
       colXAposi jp get colxsh3i jp get add
       Yfj jp get delY sub fakt mul colysh3i jp get add moveto
       colYi jp get 0.5 add cvishow0 %rounded
       colnamei jp get show
       TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
       0 setgray
       newpath
      } for %jp=0,5
} if %jnor=1

xchart4 2 eq {/jp1 1 def /jp2 4 def} if          %Y_B
xchart4 3 eq {/jp1 0 def /jp2 3 def} if          %R_C

jnor 0 eq {[100] 0 setdash} if
jnor 1 eq {[] 0 setdash} if

0 1 1 {/jp exch def %jp=0,1
       jp 0 eq {/j jp1 def} if
       jp 1 eq {/j jp2 def} if

       jnor 0 eq {%jnor=0
                  %always no shift
                  /delY 0 def
                  1 0 0 setrgbcolor
                 } if %jnor=0

       jnor 1 eq {%jnor=1
                  xchart91 0 eq {%xchart91=0
                                 %always no shift for jnor=1
                                 /delY 0 def
                                 1 0 0 setrgbcolor
                                } if %xchart91=0
                  xchart91 1 ge {%xchart91>=1
                                 %allways shift for jnor=1
                                 0 1 0 setrgbcolor
                                 /delY 100 YZ sub yconsh mul def
                                } if %xchart91>=1
                  xchart71 0 eq {%xchart71=0
                                 xchart91 0 eq {0 1 0 setrgbcolor}
                                               {0 1 0 setrgbcolor} ifelse
                                 /delY 0 def
                                } if %xchart71=0
                } if %jnor=1

       0 100 delY sub fakt mul moveto
       colXAposi j get Yfj j get delY sub fakt mul lineto
       0 colYi 7 get delY sub fakt mul lineto stroke
       0 setgray

      } for %jp=0,1

0 setgray
jnor 0 eq {[100] 0 setdash} if
jnor 1 eq {[50] 0 setdash} if
0 1 2 {/j exch def %j=0,2 start R,Y,G

       jnor 0 eq {%jnor=0
                  %always no shift
                  /delY 0 def
                  1 0 0 setrgbcolor
                 } if %jnor=0

       jnor 1 eq {%jnor=1
                  xchart91 0 eq {%xchart91=0
                                 %always no shift for jnor=1
                                 /delY 0 def
                                 1 0 0 setrgbcolor
                                } if %xchart91=0
                  xchart91 1 ge {%xchart91>=1
                                 %allways shift for jnor=1
                                 0 1 0 setrgbcolor
                                 /delY 100 YZ sub yconsh mul def
                                } if %xchart91>=1
                  xchart71 0 eq {%xchart71=0
                                 xchart91 0 eq {0 1 0 setrgbcolor}
                                               {0 1 0 setrgbcolor} ifelse
                                 /delY 0 def
                                } if %xchart71=0
                } if %jnor=1

       colXAposi j get
       Yfj j       get delY sub fakt mul moveto
       colXAposi j 3 add get
       Yfj j 3 add get delY sub fakt mul lineto stroke
       0 setgray
      } for %j=0,2 start R,Y,G
[ ] 0 setdash
0 setgray

xtrans2_3 neg ytrans2_3 neg translate

0 1 8 {/i exch def %i=0,8
       xti i xti i get 1300 sub put
      } for %i=0,8

/ytax 1280 def

jnor 1 eq {%jnor=1
           proz_table %(CAB,Y)
          } if %jnor=1

                } if %xchart4=2,3 only for (CAB,Y)

%********************************************************************
%only for graphics xchart4=4,5
xchart4 4 eq
xchart4 5 eq or {%xchart4=4,5 only for (A,B) and (A1,B1)

/fakt 40 def
/a2 1.00 def
/b2 -0.4 def

%section BEG for proz_paramV necessary
proz_paramV

/xtrans4_5 3900 def
/ytrans4_5 2100 def
xtrans4_5 ytrans4_5 translate

proz_axis_scales4_7

/ydt 150 def

%xc=0, Bc=1 ?

jnor 0 eq {[50] 0 setdash 1 0 0 setrgbcolor} if
jnor 1 eq {[ ]  0 setdash
           xchart91 0 eq {1 0 0 setrgbcolor}{0 1 0 setrgbcolor} ifelse
          } if %jnor=1
0 1 6 {/j exch def %j=0,6
       /i j def
       j 6 eq {/i 0 def} if
       /An  colXAi i get xc sub colYAi i get 0.0001 add div def
       /Bn  colZAi i get        colYAi i get 0.0001 add div 0.4 mul neg
       Bc mul def
       /AnK XANK       xc sub YANK       0.0001 add div def
       /BnK ZANK              YANK       0.0001 add div 0.4 mul neg
       Bc mul def
       /AnY An AnK sub colYi i get mul def
       /BnY Bn BnK sub colYi i get mul def
       AnY fakt mul
       BnY fakt mul
       j 0 eq {moveto} if
       j 1 ge j 5 le and {lineto} if
       j 6 eq {lineto closepath stroke} if
       j 5 le {%j<=5
               colXAposi j AnY fakt mul put
               colYAposi j BnY fakt mul put
              } if %i<=5
       } for %j=0,6
0 setgray
jnor 0 eq {[] 0 setdash} if
newpath

TL
jnor 1 eq {%jnor=1
0 1 0 setrgbcolor
0 1 5 {/jp exch def %jp=0,5
       /jp3 jp 3 mul def
       0 setgray
       colXAposi jp get colYAposi jp get 70 0 360 arc fill
       colfarbi jp3 get
       colfarbi jp3 1 add get
       colfarbi jp3 2 add get setrgbcolor
       colXAposi jp get colYAposi jp get 50 0 360 arc fill
       newpath
       0 setgray
       colXAposi jp get colxsh7i jp get add
       colYAposi jp get colysh7i jp get add moveto
       xchart4 4 ge
       xchart4 7 le and {colYi jp get 0.5 add cvishow0} if %rounded
       colnamei jp get show
       TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
       newpath
      } for %jp=0,5
0 setgray
} if %jnor=1

xtrans4_5 neg ytrans4_5 neg translate

0 1 8 {/i exch def %i=0,8
       xti i xti i get 1300 sub put
      } for %i=0,8

/ytax 1280 def

jnor 1 eq {%jnor=1
           proz_table %(A,A1)
          } if %jnor=1

                } if %xchart4=4,5 only for (A,B) and (A1,B1)

%********************************************************************
%only for graphics xchart4=6,7
xchart4 6 eq
xchart4 7 eq or {%xchart4=6,7 %only for (A1,B1) & (A2,B2)

/fakt 40 def
/a2 1.00 def
/b2 -0.4 def

%section BEG for proz_paramV necessary
proz_paramV

/xtrans6_7 3900 def
/ytrans6_7 2200 def

xtrans6_7 ytrans6_7 translate %for text and grafic

proz_axis_scales4_7

/ydt 150 def

jnor 0 eq {[50] 0 setdash 1 0 0 setrgbcolor} if
jnor 1 eq {[ ]  0 setdash 
           xchart91 0 eq {1 0 0 setrgbcolor}{0 1 0 setrgbcolor} ifelse
          } if %jnor=1
0 1 6 {/j exch def %j=0,6
       /i j def
       j 6 eq {/i 0 def} if
       /An  colXAi i get xc sub colYAi i get 0.0001 add div def
       /Bn  colZAi i get        colYAi i get 0.0001 add div 0.4 mul neg
       Bc mul def
       /AnK XANK       xc sub YANK       0.0001 add div def
       /BnK ZANK              YANK       0.0001 add div 0.4 mul neg
       Bc mul def
       /AnY An AnK sub colYi i get mul def
       /BnY Bn BnK sub colYi i get mul def
       AnY fakt mul
       BnY fakt mul
       j 0 eq {moveto} if
       j 1 ge j 5 le and {lineto} if
       j 6 eq {lineto closepath stroke} if
       j 5 le {%j<=5
               colXAposi j AnY fakt mul put
               colYAposi j BnY fakt mul put
              } if %i<=5
       } for %j=0,6
0 setgray
[] 0 setdash
newpath

TL
jnor 1 eq {%jnor=1
0 1 5 {/jp exch def %jp=0,5
       /jp3 jp 3 mul def
       0 setgray
       colXAposi jp get colYAposi jp get 70 0 360 arc fill
       colfarbi jp3 get
       colfarbi jp3 1 add get
       colfarbi jp3 2 add get setrgbcolor
       colXAposi jp get colYAposi jp get 50 0 360 arc fill
       newpath
       0 setgray
       colXAposi jp get colxsh7i jp get add
       colYAposi jp get colysh7i jp get add moveto
       xchart4 4 ge
       xchart4 7 le and {colYi jp get 0.5 add cvishow0} if %rounded
       colnamei jp get show
       TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
       newpath
      } for %jp=0,5
0 setgray
} if %jnor=1

xtrans6_7 neg ytrans6_7 neg translate

0 1 8 {/i exch def %i=0,8
       xti i xti i get 1300 sub put
      } for %i=0,8

/ytax 1280 def

jnor 1 eq {%jnor=1
           proz_table %(A1,A2)
          } if %jnor=1

} if %xchart4=6,7 %only for (A1,B1) & (A2,B2)

%**************************************************************

grestore %end because of clip

} for %jnor=0,1

grestore

%  xchartl    0 eq {  100 neg 13000 neg translate} if
%  xchartl    1 eq { 6150 neg 13000 neg translate} if
%  xchartl    2 eq {  100 neg 08740 neg translate} if
%  xchartl    3 eq { 6150 neg 08740 neg translate} if

%  xchartl    4 eq {  100 neg 04480 neg translate} if
%  xchartl    5 eq { 6150 neg 04480 neg translate} if
%  xchartl    6 eq {  100 neg 00220 neg translate} if
%  xchartl    7 eq { 6150 neg 00220 neg translate} if

} for %xchartl=0,7

} for %xcolorl=0,0

showpage
grestore

} for %xchart91=0,4

%%Trailer