%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/fge8/fge8l00XX.PS 20231201
%%BoundingBox: 14 08 828 584

/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
/languagelevel where {pop languagelevel} {1} ifelse
2 lt { userdict (<<) cvn ([) cvn load put
       userdict (>>) cvn (]) cvn load put} if
[/Title (PostScript pictures: http://farbe.li.tu-berlin.de/fge8/fge8.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:2023120112000)
 /ModDate (D:20231201112000)
/DOCINFO pdfmark
[ /View [ /FitB ]
/DOCVIEW pdfmark
%Y10g00na.ps6

%line 20******************************************************
%BEG fge8/OUTLIN10.PS Emty 20210418

%END fge8/OUTLIN10.PS Emty 20210418
                                                                         
%BEG fge8/OUTLIN1X.PS 20210418
%EMPTY
%END fge8/OUTLIN1X.PS 20210418
                                                                         
%BEG fge8/OUTLIN1Y2.PS Emty 20210418

%END fge8/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
/tfbs {0 0.5 1 setrgbcolor} bind def
/tfy {1 1 0 setrgbcolor} bind def
/tfg {0 1 0 setrgbcolor} bind def
/tfr {1 0 0 setrgbcolor} bind def
/tfb {0 0 1 setrgbcolor} bind def
 
/A4quer {598 0 translate 90 rotate} def
/cvishow {cvi 6 string cvs show} def
/cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def
/cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def
/cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def

%%EndProlog

%***********************************************************
%%BeginPageSetup
/#copies 1 def
%A4querF
1.0 1.0 scale
/pgsave save def
%%EndPageSetup

/SS$ [(g) (e) (s) (f) (i) (j) (m)] def
/SC$ [(n) (f) (s) (d) (t) (e) (c)] def
/SX$ [(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (a) (b) (c) (d) (e) (f)] def
/SY$ [(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (a) (b) (c) (d) (e) (f)] def
%       0           1            2            3            4            5
%       6           7            8
/EX$ [(a.txt /.ps) (b.bmp /.ps) (g.gif /.ps) (h.htm /.ps) (i.htm /.ps)
      (j.jpe /.ps) (p.pdf /.ps) (t.tif /.ps)] def
/EY$ [(a.dat) (b.dat) (g.dat) (h.dat) (i.dat) (j.dat)
      (p.dat) (t.dat)] def

%*******************************************************************
/lanind1f 00 def /lanind2f 00 def /laninddf 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
%11
%12
%13
%14

%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 fge80-1N
%%BoundingBox: 70 85 246 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

/ioutx 0 def
ioutx 1 eq {%ioutx=1

4 /Times-Roman FS
72 86 moveto
     (fge80-1N) show

72 90 translate

0.01 MM dup scale
20 setlinewidth
/xwidth 6100 def
/ywidth 4000 def
1 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath fill
0 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath stroke

} if %ioutx=1

grestore
showpage

%%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 fge80-2N
%%BoundingBox: 70 85 246 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

/ioutx 0 def
ioutx 1 eq {%ioutx=1

4 /Times-Roman FS
72 86 moveto
     (fge80-2N) show

72 90 translate

0.01 MM dup scale
20 setlinewidth
/xwidth 6100 def
/ywidth 4000 def
1 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath fill
0 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath stroke

} if %ioutx=1

grestore
showpage

%%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 fge80-3n
%%BoundingBox: 70 85 421 335

%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/fge8/fge8.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 pdfmark03
[ /View [ /Fit ]
/DOCVIEW pdfmark03
%END  PDFDE011

%SETCMYK_OLV.PS
/setcmyk_olvcolor %transfer cmyk to olv
{/ncolor exch def /ycolor exch def
 /mcolor exch def /ccolor exch def
 ncolor 0 eq {1 ccolor sub
              1 mcolor sub
              1 ycolor sub setrgbcolor
             }
             {ccolor 0 eq 
              mcolor 0 eq and
              ycolor 0 eq and {%only black n
                               1 ncolor sub 
                               dup
                               dup
                               setrgbcolor
                              }
                              {%cmy and black n
                               1 ccolor sub 1 ncolor sub mul
                               1 mcolor sub 1 ncolor sub mul
                               1 ycolor sub 1 ncolor sub mul
                               setrgbcolor
                              } ifelse
             } ifelse
} bind def

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def /str {8 string } bind def

/languagelevel where {pop languagelevel} {1} ifelse
                     /PSL12 exch def
/dictende {counttomark 2 idiv dup dict begin {def}
           repeat pop currentdict end} bind def

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

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

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

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

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

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

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

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

/TG   {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

/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  190 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
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
TBIL (B) show 0 -50 rmoveto TBV (c) 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 210 def

0 setgray
x0p y0p y0d 0 mul sub moveto
TBL
(6 ) show
TBIL (Ostwald) show
TBL
(\255Farben (o), ) showde                                       %0fge81-7 02581
( colours (o), ) showen                                         %1fge81-7 02581
( colores (o), ) showes                                         %2fge81-7 02581
( couleurs (o), ) showfr                                        %3fge81-7 02581
( colori (o), ) showit                                          %4fge81-7 02581
( colours (o), ) showjp                                         %5fge81-7 02581
TBIL (C) show TBV 0 -60 rmoveto (AB,2) show 0 60 rmoveto xcol10KBV
TBL (=const) show


xchart4 0 eq
xchart4 1 eq or {%xchart4=0,1
x0p y0p y0d 1 mul sub moveto
TBL
(in der Normfarbtafel) showde                                   %0fge81-7 04581
(chromaticity diagram) showen                               %1fge81-7 04581
(en el diagrama de chromaticidad) showes                        %2fge81-7 04581
(dans le diagramme de chromaticit\351) showfr                   %3fge81-7 04581
(nel diagramma di cromaticit\340) showit                        %4fge81-7 04581
(the chromaticity diagram) showjp                               %5fge81-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
x0p y0p y0d 1 mul sub moveto
TBL
(Farbenraum ) showde                                %0fge81-7 06581
(colour space ) showea                                   %1fge81-7 06581
TBL (\050) show TBIL (C) show
TBV 0 -50 rmoveto (AB,2) show 0 50 rmoveto xcol10KBV

TBIL
xchart7 0 eq {(, Y) show} if
xchart7 1 eq {(, L*) show TBVCIE} if
xchart7 2 eq {(, L*) show TBVCIr} if
xchart7 3 eq {(, L*) show TBVTUr} if
xchart7 4 eq {(, L*) show TBVTAr} if
xcol10_BV TBL (\051) show

x0p y0p y0d 2 mul sub moveto
TBIL
xchart7 0 eq {(Y) show TBL (=18) show 
              TBIL (Y) show TBVr} if

xchart7 1 eq {(L*) show TBVCIE
              TBL (=116\050) show TBIL (Y/) show TBL (100\051) show
              TBV 0 80 rmoveto (1/3) show 0 -80 rmoveto TBL (-16) show
              TBIV (  \050Y) show TBV (>=0,8856\051) show
              TBL ( or) showen ( oder) showde

              x0p y0p y0d 3 mul sub moveto
              TBIL (L*) show TBVCIE TBL (=116[(841/108)) show
               TBIL (\050Y/) show TBL (100\051+4/29]-16) show
             } if

xchart7 2 eq {(L*) show TBVCIr
              TBL (=) show TBIL (L*) show TBVCIE TBIL ((Y) / ) show
                           TBIL (L*) show TBVCIE TBIL ((18)) show} if

xchart7 3 eq {(L*) show TBVTUr
              TBL (=50 + 40[) show TBIL (Y) show TBLr TBL (/log(5)]) show} if

xchart7 4 eq {%xchart7=4
              /eexp {TBV 0 80 rmoveto  (x) show 0 -80 rmoveto TBL} def
              /eexn {TBV 0 80 rmoveto (-x) show 0 -80 rmoveto TBL} def 
              (L*) show TBVTAr
              TBL (=50 + 50[e) show eexp TBL (+e) show eexn TBL (]/[) show
                       TBL (e) show eexp TBL (+e) show eexp TBL (]) show

              x0p y0p y0d 3 mul sub moveto
              TBIL (Y) show TBVr TBL (=) show
              TBIL (Y) show TBL (/18,  ) show

              TBIL (x) show TBL (= log[) show
              TBIL (Y) show TBVr TBL (]) show
             } if %xchart7=4

             } if %xchart4=2,3

xchart4 4 eq 
xchart4 5 eq or {%xchart4=4,5
TBL
(Buntwertdiagramm) showde                                    %0fge81-7 08581
(chromatic value diagram) showen                                %1fge81-7 08581
(en el diagrama valor crom\341tico) showes                      %2fge81-7 08581
(dans la valeur chromatique le diagramme) showfr                %3fge81-7 08581
(nel diagramma di valore cromatico) showit                      %4fge81-7 08581
(chromatic value diagram) showjp                                %5fge81-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                                     %0fge81-7 10581
(chromatic value diagram) showen                                 %1fge81-7 10581
(en el diagrama croma) showes                                   %2fge81-7 10581
(dans le diagramme de chroma) showfr                            %3fge81-7 10581
(nel diagramma di chroma) showit                                %4fge81-7 10581
(chromactic value diagram) showjp                               %5fge81-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                                     %0fge81-7 11581
(chromatic value diagram) showen                                %1fge81-7 11581
(en el diagrama croma) showes                                   %2fge81-7 11581
(dans le diagramme de chroma) showfr                            %3fge81-7 11581
(nel diagramma di chroma) showit                                %4fge81-7 11581
(chromatic value diagram) showjp                                %5fge81-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 4 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 cvsshow1

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

} bind def %proz_paramV

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

/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

/TBVo    {TBV 0 -50 rmoveto (o) show 0 50 rmoveto TL} def
/TBV2    {TBV 0 -50 rmoveto (2) show 0 50 rmoveto TL} def
/TBVAB,2 {TBV 0 -50 rmoveto (AB,2) show 0 50 rmoveto TL} def
/TBVab,2 {TBV 0 -50 rmoveto (AB,2) show 0 50 rmoveto TL} def

/TBWo    {TBW 0 -50 rmoveto (o) show 0 50 rmoveto TV} def
/TBW2    {TBW 0 -50 rmoveto (2) show 0 50 rmoveto TV} def
/TBWAB,2 {TBW 0 -50 rmoveto (AB,2) show 0 50 rmoveto TV} def
/TBWab,2 {TBW 0 -50 rmoveto (AB,2) show 0 50 rmoveto TV} def

xchart* 0 eq {/xtr -20 def}{/xtr -60 def} ifelse
/TBLr    {TBL 0 -50 rmoveto (r)   show 0 50 rmoveto TS} def
/TBLCIE  {TBL xtr -50 rmoveto (CIE) show 0 50 rmoveto TS} def
/TBLCIr  {TBL xtr -50 rmoveto (CIr) show 0 50 rmoveto TS} def
/TBLTUr  {TBL xtr -50 rmoveto (TUr) show 0 50 rmoveto TS} def
/TBLTAr  {TBL xtr -50 rmoveto (TAr) show 0 50 rmoveto TS} def

/TBVr    {TBV 0 -50 rmoveto (r)   show 0 50 rmoveto TL} def
/TBVCIE  {TBV xtr -50 rmoveto (CIE) show 0 50 rmoveto TL} def
/TBVCIr  {TBV xtr -50 rmoveto (CIr) show 0 50 rmoveto TL} def
/TBVTUr  {TBV xtr -50 rmoveto (TUr) show 0 50 rmoveto TL} def
/TBVTAr  {TBV xtr -50 rmoveto (TAr) show 0 50 rmoveto TL} def

/TBWr   {TBW 0 -50 rmoveto   (r)   show 0 50 rmoveto TV} def
/TBWCIE {TBW xtr -50 rmoveto (CIE) show 0 50 rmoveto TV} def
/TBWCIr {TBW xtr -50 rmoveto (CIr) show 0 50 rmoveto TV} def
/TBWTUr {TBW xtr -50 rmoveto (TUr) show 0 50 rmoveto TV} def
/TBWTAr {TBW xtr -50 rmoveto (TAr) show 0 50 rmoveto TV} def

/xti 9 array def
%     0    1    2    3    4    5    6    7    8
%     Name rang xti  Yti  Zti  x    y    ld   lp
/xti [0025 0200 0625 0925 1245 1525 1825 2080 2310] def

/xta 12 array def
%     0    1    2    3    4    5    6    7     8    9    10   11
%xchart*=0:
%     a2   b2   c2   A2   B2   CAB2 HAB2 Yr    L'Ci L'Cr L'Tr L'Ta
%xchart*=1:
%     a2   b2   c2   A2   B2   CAB2 HAB2 Yr    L*Ci L*Cr L*Tr L*Ta
/xta [2500 2800 3200 3500 3800 4100 4350 4600  4850 5150 5400 5700] def

/ytax 1200 def
/ydt 140 def
/ydy 160 def

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

xta 00 get 020 add ytax ydy add moveto TBIV (a) show TBW2    xcol10KBW
xta 01 get 020 add ytax ydy add moveto TBIV (b) show TBW2    xcol10KBW
xta 02 get 020 add ytax ydy add moveto TBIV (c) show TBW2    xcol10KBW
xta 03 get 020 add ytax ydy add moveto TBIV (A) show TBW2    xcol10KBW
xta 04 get 020 add ytax ydy add moveto TBIV (B) show TBW2    xcol10KBW
xta 05 get 050 sub ytax ydy add moveto TBIV (C) show TBWAB,2 xcol10KBW
xta 06 get 050 sub ytax ydy add moveto TBIV (h) show TBWab,2 xcol10KBW
xta 07 get 020 add ytax ydy add moveto TBIV (Y)  show TBWr   xcol10KBW
xchart* 0 eq {%xchart*=0
xta 08 get 050 sub ytax ydy add moveto TBIV (L') show TBWCIE xcol10KBW
xta 09 get 050 sub ytax ydy add moveto TBIV (L') show TBWCIr xcol10KBW
xta 10 get 050 sub ytax ydy add moveto TBIV (L') show TBWTUr xcol10KBW
xta 11 get 050 sub ytax ydy add moveto TBIV (L') show TBWTAr xcol10KBW
             } if %xchart*=0
xchart* 1 eq {%xchart*=1
xta 08 get 050 sub ytax ydy add moveto TBIV (L*) show TBWCIE xcol10KBW
xta 09 get 050 sub ytax ydy add moveto TBIV (L*) show TBWCIr xcol10KBW
xta 10 get 050 sub ytax ydy add moveto TBIV (L*) show TBWTUr xcol10KBW
xta 11 get 050 sub ytax ydy add moveto TBIV (L*) show TBWTAr xcol10KBW
             } if %xchart*=1
%STOP1a

/colXoi  9 array def
/colYoi  9 array def
/colZoi  9 array def
/colXAoi 9 array def
/colYAoi 9 array def
/colZAoi 9 array def

/colAKoi 9 array def
/colBKoi 9 array def
/colCKoi 9 array def
/colAGoi 9 array def
/colBGoi 9 array def
/colCGoi 9 array def
/colHGoi 9 array def

/colYroi 9 array def
/colL*oi 9 array def
/colLroi 9 array def
/colTroi 9 array def
/colTaoi 9 array def

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

/wnori 4 array def
/nnori 4 array def
/unori 4 array def
/cnori 4 array def

%xchart9 0     1      2      3
/wnori [1.0000 0.9000 0.7200 0.5400] def
/nnori [0.0001 0.0360 0.0450 0.0600] def
/unori [0.1800 0.1800 0.1800 0.1800] def
/cnori [(>288:1)(25:1) (16:1) (9:1)] def

%XYZoi 6:W, 7:N, 8:Z
colXoi 6 XW100 wnori 0 get mul put
colYoi 6 YW100 wnori 0 get mul put
colZoi 6 ZW100 wnori 0 get mul put

colXoi 7 XW100 nnori 0 get mul put
colYoi 7 YW100 nnori 0 get mul put
colZoi 7 ZW100 nnori 0 get mul put

colXoi 8 XW100 unori 0 get mul put
colYoi 8 YW100 unori 0 get mul put
colZoi 8 ZW100 unori 0 get mul put

0 1 8 {/jp exch def %jp=0,8
       /SUM colXoi jp get
            colYoi jp get add
            colZoi jp get add 0.0001 add def
       colXAoi jp colXoi jp get SUM div put
       colYAoi jp colYoi jp get SUM div put
       colZAoi jp colZoi jp get SUM div put
      } for %jp=0,8

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

/a20  1.0 def
/b20 -0.4 def

/xc 0.110 def

/Ac 1.000 def
/Bc Bci xchartl get def %4 different Bc defined by xchartl

/A2G 2.50 def
/B2G 2.50 def

/asig 1.00 def
/bsig 1.00 def
/esig 2.718282 def

/jp 6 def
colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
colL*oi jp
colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse
/jp 7 def
colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
colL*oi jp
colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse
/jp 8 def
colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
colL*oi jp
colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse
%STOPAA
0 1 8 {/jp exch def %jp=0,8
       colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
       colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
       colCKoi jp colAKoi jp get colAKoi 6 get sub dup mul
                  colBKoi jp get colBKoi 6 get sub dup mul add 0.0001 add
                  sqrt put
       colAGoi jp colAKoi jp get        colAKoi  6 get sub
                  colYoi  jp get mul A2G mul put
       colBGoi jp colBKoi jp get        colBKoi  6 get sub
                  colYoi  jp get mul B2G mul put
       colCGoi jp colAGoi jp get dup mul
                  colBGoi jp get dup mul add sqrt put
       colHGoi jp colBGoi jp get colAGoi jp get 0.00001 add atan put

       colYroi jp colYoi  jp get colYoi 8 get div put
       colL*oi jp
       colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                                116 mul 16 sub put}
                           {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                                116 mul 16 sub put} ifelse
       colLroi jp colL*oi jp get colL*oi 8 get div 50 mul put

       colTroi jp colYroi jp get log 5 log div 40 mul 50 add put
       /xr colYroi jp get log asig div def
       colTaoi jp esig xr exp esig xr neg exp sub
                  esig xr exp esig xr neg exp add div bsig mul
                  50 mul 50 add put
      } for %jp=0,8

%for all further calculations and graphics
gsave


%col(XYZ)1i, col(XYZ)A1i

/colX1i  9 array def
/colY1i  9 array def
/colZ1i  9 array def
/colXA1i 9 array def
/colYA1i 9 array def
/colZA1i 9 array def

/colAK1i 9 array def
/colBK1i 9 array def
/colCK1i 9 array def
/colAG1i 9 array def
/colBG1i 9 array def
/colCG1i 9 array def
/colHG1i 9 array def

/colYr1i 9 array def
/colL*1i 9 array def
/colLr1i 9 array def
/colTr1i 9 array def
/colTa1i 9 array def

0 1 2 {/jp exch def %jp=0,2
       /jp3 jp 3 add def
       colX1i jp colXoi jp  get wnori xchart9 get mul 
                 colXoi jp3 get nnori xchart9 get mul add put
       colY1i jp colYoi jp  get wnori xchart9 get mul
                 colYoi jp3 get nnori xchart9 get mul add put
       colZ1i jp colZoi jp  get wnori xchart9 get mul
                 colZoi jp3 get nnori xchart9 get mul add put
      } for %jp=0,2

3 1 5 {/jp exch def %jp=3,5
       /jp3 jp 3 sub def
       colX1i jp colXoi jp  get wnori xchart9 get mul
                 colXoi jp3 get nnori xchart9 get mul add put

       colY1i jp colYoi jp  get wnori xchart9 get mul
                 colYoi jp3 get nnori xchart9 get mul add put
       colZ1i jp colZoi jp  get wnori xchart9 get mul
                 colZoi jp3 get nnori xchart9 get mul add put
      } for %jp=3,5

%XYZoi 6:W, 7:N, 8:Z
colX1i 6 colXoi 6 get wnori xchart9 get mul put
colY1i 6 colYoi 6 get wnori xchart9 get mul put
colZ1i 6 colZoi 6 get wnori xchart9 get mul put

colX1i 7 colXoi 6 get nnori xchart9 get mul put
colY1i 7 colYoi 6 get nnori xchart9 get mul put
colZ1i 7 colZoi 6 get nnori xchart9 get mul put

colX1i 8 colXoi 6 get unori xchart9 get mul put
colY1i 8 colYoi 6 get unori xchart9 get mul put
colZ1i 8 colZoi 6 get unori xchart9 get mul put

%STOP2
0 1 8 {/jp exch def %jp=0,8
       /SUM colX1i jp get
            colY1i jp get add
            colZ1i jp get add 0.0001 add def
       colXA1i jp colX1i jp get SUM div put
       colYA1i jp colY1i jp get SUM div put
       colZA1i jp colZ1i jp get SUM div put
      } for %jp=0,8

/XANK colXA1i 6 get def
/YANK colYA1i 6 get def
/ZANK colZA1i 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

/jp 6 def
colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
colL*1i jp
colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse

/jp 7 def
colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
colL*1i jp
colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse

/jp 8 def
colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
colL*1i jp
colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse

0 1 8 {/jp exch def %jp=6,8 WNZ
       colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
       colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
       colCK1i jp colAK1i jp get colAK1i 6 get sub dup mul
                  colBK1i jp get colBK1i 6 get sub dup mul add 0.0001 add
                  sqrt put
       colAG1i jp colAK1i jp get       colAK1i  6 get sub 
                  colY1i  jp get mul A2G mul put
       colBG1i jp colBK1i jp get       colBK1i  6 get sub
                  colY1i  jp get mul B2G mul put
       colCG1i jp colAG1i jp get dup mul
                  colBG1i jp get dup mul add sqrt put
       colHG1i jp colBG1i jp get colAG1i jp get 0.00001 add atan put

       colYr1i jp colY1i  jp get colY1i 8 get div put
       colL*1i jp
       colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                                116 mul 16 sub put}
                            {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                                116 mul 16 sub put} ifelse
       colLr1i jp colL*1i jp get colL*1i 8 get div 50 mul put
       colTr1i jp colYr1i jp get log 5 log div 40 mul 50 add put
       /xr colYr1i jp get log asig div def
       colTa1i jp esig xr exp esig xr neg exp sub
                  esig xr exp esig xr neg exp add div bsig mul
                  50 mul 50 add put

      } for %jp=6,8 WNZ
%STOPABC
%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 jp 5 le {(o) show}{(d) show} ifelse 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 colX1i  jp get cvsshow2
       xti 3 get ytaxa moveto colY1i  jp get cvsshow2
       xti 4 get ytaxa moveto colZ1i  jp get cvsshow2

       xti 5 get ytaxa moveto colXA1i jp get cvsshow3
       xti 6 get ytaxa moveto colYA1i jp get cvsshow3

       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

       xta 00 get ytaxa moveto colAK1i  jp get cvsshow3
       xta 01 get ytaxa moveto colBK1i  jp get cvsshow3
       xta 02 get ytaxa moveto colCK1i  jp get cvsshow3
       xta 03 get ytaxa moveto colAG1i  jp get cvsshow1
       xta 04 get ytaxa moveto colBG1i  jp get cvsshow1
       xta 05 get ytaxa moveto colCG1i  jp get cvsshow1
       xta 06 get ytaxa moveto colHG1i  jp get cvishow0
       xta 07 get ytaxa moveto colYr1i  jp get cvsshow2
       xchart* 0 eq {%xchart*=0
       xta 08 get ytaxa moveto colL*1i  jp get 50 sub cvsshow1
       xta 09 get ytaxa moveto colLr1i  jp get 50 sub cvsshow1
       xta 10 get ytaxa moveto colTr1i  jp get 50 sub cvsshow1
       xta 11 get ytaxa moveto colTa1i  jp get 50 sub cvsshow1
                    } if %xchart*=0
       xchart* 1 eq {%xchart*=1
       xta 08 get ytaxa moveto colL*1i  jp get cvsshow1
       xta 09 get ytaxa moveto colLr1i  jp get cvsshow1
       xta 10 get ytaxa moveto colTr1i  jp get cvsshow1
       xta 11 get ytaxa moveto colTa1i  jp get cvsshow1
                    } if %xchart*=1
} 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
/a.psi   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
        a.psi i xcolorl 0 eq {F02EZ} {F10EZ} ifelse
              34 i add get YKSUM div 100 mul put
        /SUM XEZi i get
             YEZi i get add
             a.psi 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 a.psi 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

%***********************************************
/xcharts 0 def %0:0_100, 1:-50,50 (s=Y-scale), default=0

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

/xchart5 1 def %0:Y_B, 1:R_C, 2:G_M, default=0

/xchart6 1 def %0:C_Y,0_100, 1:C-Y,3.6_90, 2:L*CIE, 3:L*CIEr, 4:L*TUBr

/xchart7 3 def %0:Y, 1:L*CIE, 2:L*CIr, 3:L*TUr, 4:L*TAr, default=0

/xchart8 1 def %0:Pxx, 1:Dxx, default=1

/xchart9 3 def %0:C>288, 1:C=25:1, 2:C=16:1, 3:C=9:1, default=1

/xcolorl 0 def %0: CIE-02, 1: CIE-10, default=0

/xchartl 1 def %0:D65, 1:D50, 2:P40, 3:A00, default=1

/xchart* 1 def %0:L'=L*-50, 1:L*
%*********************************************
/TELi 8 array def
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

/ynorW0 1.000 def /ynorZ0 0.1800 def /ynorN0 0.001 def

0 1 0 {/xchart9 exch def %xchart9=0,3

xchart9 0 eq {/ynorW1 1.000 def  /ynorZ1 0.1800 def /ynorN1 0.001 def
               /ycon (>288:1) def /yconsh 0.000 def} if
xchart9 1 eq {/ynorW1 0.900 def  /ynorZ1 0.1800 def /ynorN1 0.036 def
               /ycon (=25:1) def  /yconsh 0.060 def} if
xchart9 2 eq {/ynorW1 0.720 def  /ynorZ1 0.1800 def /ynorN1 0.045 def
               /ycon (=16:1) def  /yconsh 0.045 def} if
xchart9 3 eq {/ynorW1 0.540 def  /ynorZ1 0.1800 def /ynorN1 0.060 def
               /ycon (=9:1) def   /yconsh 0.060 def} if

gsave

72 90 translate

0.010 MM dup scale

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

40 setlinewidth
/ymax1 08550 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
(fge80-7R_R) show
%xchart 1 add cvishow0
} if %xbtex0=1

/kchartl 0 def

0 1 3 {/xchartl exch def %xchartl=0,3

20 setlinewidth

  xchartl   0 eq {  100 04480 translate} if
  xchartl   1 eq { 6150 04480 translate} if
  xchartl   2 eq {  100 00220 translate} if
  xchartl   3 eq { 6150 00220 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 {(fge80-) show}{(fge81-) show} ifelse
xchartl 1 add cvishow0
(a) show %a

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
%(fge80-7R_R) show

%xchart4=2 default

%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

/XN000 XW 0.0001 mul def %100->0.01
/YN000 YW 0.0001 mul def
/ZN000 ZW 0.0001 mul def
/SUM XN000 YN000 add ZN000 add 0.0001 add def
/XAN000 XN000 SUM div def
/YAN000 YN000 SUM div def
/ZAN000 ZN000 SUM div def

/XU018 XW 0.18 mul def %100->18.0
/YU018 YW 0.18 mul def
/ZU018 ZW 0.18 mul def
/SUM XU018 YU018 add ZU018 add 0.0001 add def
/XAU018 XU018 SUM div def
/YAU018 YU018 SUM div def
/ZAU018 ZU018 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 [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)   (U)
          ] 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

%****************************************************************
%definitions necessary for many calculations
%different for xchart4=0 to 7
%STOP0
%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
%STOP0A
%********************************************************************
%/proz_grap_CAB2_Y {%BEG proz_grap_CAB2_Y
%only for graphics xchart4=2,3


%only for ynor=1 either no or yes (default)

/fakt 20 def

%section BEG for proz_paramV necessary
%proz_paramV

proz_table

proz_paramV

%STOPX

%********************************************************************
/proz_grap_CAB2_Y {%BEG proz_grap_CAB2_Y
%only for graphics xchart4=2,3

/xtrans2_3 4050 def
/ytrans2_3 1600 def
xtrans2_3 ytrans2_3 translate

%red cylinder CAB=74
TBL
0 0 1 setrgbcolor
[100] 0 setdash
xchart* 0 eq {%xchart*=0
              074 fakt mul 010 fakt mul moveto
              074 fakt mul 054 fakt mul lineto stroke
              074 fakt mul 065 fakt mul moveto
              074 fakt mul 108 fakt mul lineto stroke
             }
             {%xchart*=1
              074 fakt mul 108 fakt mul moveto
              074 fakt mul 015 fakt mul lineto stroke
             } ifelse %xchart*=0,1

-74 fakt mul 108 fakt mul moveto
-74 fakt mul 000 fakt mul lineto stroke
 74 fakt mul 002 add 112 fakt mul moveto (74) show
-74 fakt mul 100 sub 112 fakt mul moveto (-74) show

0 setgray
-074 fakt mul 200 add 112 fakt mul         moveto (Parameter:) show
-074 fakt mul 200 add 112 fakt mul 200 sub moveto
xchart7 0 eq {TBIS (Y) show xcol10_BL} if
xchart7 1 eq {TBIS (L*) show TBLCIE xcol10_BL} if
xchart7 2 eq {TBIS (L*) show TBLCIr xcol10_BL} if
xchart7 3 eq {TBIS (L*) show TBLTUr xcol10_BL} if
xchart7 4 eq {TBIS (L*) show TBLTAr xcol10_BL} if
TBL ( & name) showen
    ( & Name) showde

-074 fakt mul 200 add 112 fakt mul 400 sub moveto 
TBIL (Y) show TBVr TBL (=) show
TBIL (Y/) show TBL (18, ) show

-074 fakt mul 200 add 112 fakt mul 600 sub moveto
TBIL (L') show TBL (=) show TBIL (L*) show TBL (-50) show

xcharts 2 eq {%Y*-Skala
              0 1 0 setrgbcolor
              -350 102 fakt mul moveto TBS (  65) show
              -350  54 fakt mul moveto TBS (    0) show 
              -350 -10 fakt mul moveto TBS (-65) 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  -100 moveto 0 2400  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) (0) (50)] def
/yt10x [()   ( ) (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
        -0950 i 1000 mul add
              -140 xcharts 1 ge {1000 add} if moveto
              xcharts 0 eq {TBL xt10x i get show} if
              xcharts 1 eq {TBL xt11x i get show} if
              xcharts 2 eq {TBL xt12x i get show} if
        i 2 eq {1500 0 xcharts 1 ge {1000 add} if moveto
                -100 -200 330 add 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 xchart* 0 eq {80 add} if
              } if 
       i 2 eq {015 add} if moveto
       xcharts 0 eq {TBL yt10x i get show} if
       xcharts 1 eq {TBL yt11x i get show} if
       xcharts 2 eq {TBL yt12x i get show} if
       i 2 eq {50 2220 moveto 
               xchart* 0 eq {%xchart*=0
               xchart7 0 eq {TBIS (Y) show xcol10_BL} if
               xchart7 1 eq {TBIS (L') show TBLCIE xcol10_BL} if
               xchart7 2 eq {TBIS (L') show TBLCIr xcol10_BL} if
               xchart7 3 eq {TBIS (L') show TBLTUr xcol10_BL} if
               xchart7 4 eq {TBIS (L') show TBLTAr xcol10_BL} if
                            } %xchart*=0
                            { %xchart*=1
               xchart7 0 eq {TBIS (Y) show xcol10_BL} if
               xchart7 1 eq {TBIS (L*) show TBLCIE xcol10_BL} if
               xchart7 2 eq {TBIS (L*) show TBLCIr xcol10_BL} if
               xchart7 3 eq {TBIS (L*) show TBLTUr xcol10_BL} if
               xchart7 4 eq {TBIS (L*) show TBLTAr xcol10_BL} if
                            } ifelse

               xcharts 1 eq {00 -50 rmoveto TBL 
                             xcolorl 1 eq {(,) show} if
%                             (a) show 00 50 rmoveto
                             TBS (=) show
               xchart7 0 eq {TBIS (Y) show xcol10_BL} if
               xchart7 1 eq {TBIS (L*) show TBLCIE xcol10_BL} if
               xchart7 2 eq {TBIS (L*) show TBLCIr xcol10_BL} if
               xchart7 3 eq {TBIS (L*) show TBLTUr xcol10_BL} if
               xchart7 4 eq {TBIS (L*) show TBLTAr xcol10_BL} if
                             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 {100 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

/vorp 10 array def
%      0  1  2  3  4  5  6  7  8
%      Rm Ym Gm Cm Bm Mm W  N  U]
/vorp [1  1  -1 -1 -1 1  1  1  1] def

xchart5 0 eq {/jp1x 1 def /jp2x 4 def} if %Y_B
xchart5 1 eq {/jp1x 0 def /jp2x 3 def} if %R_C
xchart5 2 eq {/jp1x 2 def /jp2x 5 def} if %G_M

/proz_fill_toY {%BEG proz_fill_toY
                colCGoi    6 get fakt mul 
                colYoi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colYoi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colYoi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colYoi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colYoi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colYoi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colYoi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colYoi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colYoi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colYoi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colYoi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colYoi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colYoi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colYoi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toY

/proz_fill_t1Y {%BEG proz_fill_t1Y
                colCG1i    6 get fakt mul 
                colY1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colY1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colY1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colY1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colY1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colY1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colY1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colY1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colY1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colY1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colY1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colY1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colY1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colY1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Y

/proz_fill_toL* {%BEG proz_fill_toL*
                colCGoi    6 get fakt mul 
                colL*oi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colL*oi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colL*oi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colL*oi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colL*oi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colL*oi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colL*oi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colL*oi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colL*oi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colL*oi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colL*oi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colL*oi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colL*oi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colL*oi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toL*

/proz_fill_t1L* {%BEG proz_fill_t1L*
                colCG1i    6 get fakt mul 
                colL*1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colL*1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colL*1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colL*1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colL*1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colL*1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colL*1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colL*1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colL*1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colL*1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colL*1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colL*1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colL*1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colL*1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1L*

/proz_fill_toLr {%BEG proz_fill_toLr
                colCGoi    6 get fakt mul 
                colLroi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colLroi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colLroi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colLroi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colLroi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colLroi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colLroi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colLroi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colLroi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colLroi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colLroi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colLroi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colLroi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colLroi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toLr

/proz_fill_t1Lr {%BEG proz_fill_t1Lr
                colCG1i    6 get fakt mul 
                colLr1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colLr1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colLr1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colLr1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colLr1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colLr1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colLr1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colLr1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colLr1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colLr1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colLr1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colLr1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colLr1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colLr1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Lr

/proz_fill_toTr {%BEG proz_fill_toTr
                colCGoi    6 get fakt mul 
                colTroi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTroi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colTroi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colTroi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTroi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colTroi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTroi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTroi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTroi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTroi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTroi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTroi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTroi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTroi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toTr

/proz_fill_t1Tr {%BEG proz_fill_t1Tr
                colCG1i    6 get fakt mul 
                colTr1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTr1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colTr1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colTr1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTr1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colTr1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTr1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTr1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTr1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTr1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTr1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTr1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTr1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTr1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Tr

/proz_fill_toTa {%BEG proz_fill_toTa
                colCGoi    6 get fakt mul 
                colTaoi    6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTaoi jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colTaoi    7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colTaoi jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTaoi jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colTaoi jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTaoi  jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTaoi  jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTaoi  jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTaoi  jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTaoi  jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTaoi  jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTaoi  jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTaoi  jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toTa

/proz_fill_t1Ta {%BEG proz_fill_t1Ta
                colCG1i    6 get fakt mul 
                colTa1i    6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTa1i jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colTa1i    7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colTa1i jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTa1i jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colTa1i jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTa1i  jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTa1i  jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTa1i  jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTa1i  jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTa1i  jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTa1i  jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTa1i  jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTa1i  jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Ta

0 1 1 {/jp exch def %jp=0,1
       TBL
       jp 0 eq {%jp=0
                [] 0 setdash
                1 0 0 setrgbcolor                
                xchart7 0 eq {proz_fill_toY} if
                xchart7 1 eq {proz_fill_toL*} if
                xchart7 2 eq {proz_fill_toLr} if
                xchart7 3 eq {proz_fill_toTr} if
                xchart7 4 eq {proz_fill_toTa} if
               } if %jp=0

       jp 1 eq {%jp=1
                [100] 0 setdash
                0 1 0 setrgbcolor
                xchart7 0 eq {proz_fill_t1Y} if
                xchart7 1 eq {proz_fill_t1L*} if
                xchart7 2 eq {proz_fill_t1Lr} if
                xchart7 3 eq {proz_fill_t1Tr} if
                xchart7 4 eq {proz_fill_t1Ta} if
               } if %jp=1
      } for %jp=0,1

[ ] 0 setdash
0 setgray

xtrans2_3 neg ytrans2_3 neg translate

} bind def %END proz_graph_CAB2_Y

%********************************************************************
%only for graphics xchart4=2,3
%STOP3
xchart4 2 eq
xchart4 3 eq or {%xchart4=2,3 only for (CAB2,Y)
                 proz_grap_CAB2_Y
                } if %xchart4=0,1 only for (CAB2,Y)

%********************************************************************
grestore %end because of clip

%} for %jnor=0,1

grestore

  xchartl    0 eq {  100 neg 04480 neg translate} if
  xchartl    1 eq { 6150 neg 04480 neg translate} if
  xchartl    2 eq {  100 neg 00220 neg translate} if
  xchartl    3 eq { 6150 neg 00220 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,3

%} for %xcolorl=0,0

showpage
grestore

} for %xchart9=0,3

%%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 fge80-4N
%%BoundingBox: 70 85 246 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

/ioutx 0 def
ioutx 1 eq {%ioutx=1

4 /Times-Roman FS
72 86 moveto
     (fge80-4N) show

72 90 translate

0.01 MM dup scale
20 setlinewidth
/xwidth 6100 def
/ywidth 4000 def
1 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath fill
0 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath stroke

} if %ioutx=1

grestore
showpage

%%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 fge80-5N
%%BoundingBox: 70 85 246 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

/ioutx 0 def
ioutx 1 eq {%ioutx=1

4 /Times-Roman FS
72 86 moveto
     (fge80-5N) show

72 90 translate

0.01 MM dup scale
20 setlinewidth
/xwidth 6100 def
/ywidth 4000 def
1 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath fill
0 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath stroke

} if %ioutx=1

grestore
showpage

%%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 fge80-6N
%%BoundingBox: 70 85 246 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

/ioutx 0 def
ioutx 1 eq {%ioutx=1

4 /Times-Roman FS
72 86 moveto
     (fge80-6N) show

72 90 translate

0.01 MM dup scale
20 setlinewidth
/xwidth 6100 def
/ywidth 4000 def
1 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath fill
0 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath stroke

} if %ioutx=1

grestore
showpage

%%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 fge80-7n
%%BoundingBox: 70 85 421 335

%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/fge8/fge8.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 pdfmark03
[ /View [ /Fit ]
/DOCVIEW pdfmark03
%END  PDFDE011

%SETCMYK_OLV.PS
/setcmyk_olvcolor %transfer cmyk to olv
{/ncolor exch def /ycolor exch def
 /mcolor exch def /ccolor exch def
 ncolor 0 eq {1 ccolor sub
              1 mcolor sub
              1 ycolor sub setrgbcolor
             }
             {ccolor 0 eq 
              mcolor 0 eq and
              ycolor 0 eq and {%only black n
                               1 ncolor sub 
                               dup
                               dup
                               setrgbcolor
                              }
                              {%cmy and black n
                               1 ccolor sub 1 ncolor sub mul
                               1 mcolor sub 1 ncolor sub mul
                               1 ycolor sub 1 ncolor sub mul
                               setrgbcolor
                              } ifelse
             } ifelse
} bind def

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def /str {8 string } bind def

/languagelevel where {pop languagelevel} {1} ifelse
                     /PSL12 exch def
/dictende {counttomark 2 idiv dup dict begin {def}
           repeat pop currentdict end} bind def

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

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

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

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

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

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

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

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

/TG   {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

/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  190 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
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
TBIL (B) show 0 -50 rmoveto TBV (c) 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 210 def

0 setgray
x0p y0p y0d 0 mul sub moveto
TBL
(6 ) show
TBIL (Ostwald) show
TBL
(\255Farben (o), ) showde                                       %0fge81-7 02581
( colours (o), ) showen                                         %1fge81-7 02581
( colores (o), ) showes                                         %2fge81-7 02581
( couleurs (o), ) showfr                                        %3fge81-7 02581
( colori (o), ) showit                                          %4fge81-7 02581
( colours (o), ) showjp                                         %5fge81-7 02581
TBIL (C) show TBV 0 -60 rmoveto (AB,2) show 0 60 rmoveto xcol10KBV
TBL (=const) show


xchart4 0 eq
xchart4 1 eq or {%xchart4=0,1
x0p y0p y0d 1 mul sub moveto
TBL
(in der Normfarbtafel) showde                                   %0fge81-7 04581
(chromaticity diagram) showen                               %1fge81-7 04581
(en el diagrama de chromaticidad) showes                        %2fge81-7 04581
(dans le diagramme de chromaticit\351) showfr                   %3fge81-7 04581
(nel diagramma di cromaticit\340) showit                        %4fge81-7 04581
(the chromaticity diagram) showjp                               %5fge81-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
x0p y0p y0d 1 mul sub moveto
TBL
(Farbenraum ) showde                                %0fge81-7 06581
(colour space ) showea                                   %1fge81-7 06581
TBL (\050) show TBIL (C) show
TBV 0 -50 rmoveto (AB,2) show 0 50 rmoveto xcol10KBV

TBIL
xchart7 0 eq {(, Y) show} if
xchart7 1 eq {(, L*) show TBVCIE} if
xchart7 2 eq {(, L*) show TBVCIr} if
xchart7 3 eq {(, L*) show TBVTUr} if
xchart7 4 eq {(, L*) show TBVTAr} if
xcol10_BV TBL (\051) show

x0p y0p y0d 2 mul sub moveto
TBIL
xchart7 0 eq {(Y) show TBL (=18) show 
              TBIL (Y) show TBVr} if

xchart7 1 eq {(L*) show TBVCIE
              TBL (=116\050) show TBIL (Y/) show TBL (100\051) show
              TBV 0 80 rmoveto (1/3) show 0 -80 rmoveto TBL (-16) show
              TBIV (  \050Y) show TBV (>=0,8856\051) show
              TBL ( or) showen ( oder) showde

              x0p y0p y0d 3 mul sub moveto
              TBIL (L*) show TBVCIE TBL (=116[(841/108)) show
               TBIL (\050Y/) show TBL (100\051+4/29]-16) show
             } if

xchart7 2 eq {(L*) show TBVCIr
              TBL (=) show TBIL (L*) show TBVCIE TBIL ((Y) / ) show
                           TBIL (L*) show TBVCIE TBIL ((18)) show} if

xchart7 3 eq {(L*) show TBVTUr
              TBL (=50 + 40[) show TBIL (Y) show TBLr TBL (/log(5)]) show} if

xchart7 4 eq {%xchart7=4
              /eexp {TBV 0 80 rmoveto  (x) show 0 -80 rmoveto TBL} def
              /eexn {TBV 0 80 rmoveto (-x) show 0 -80 rmoveto TBL} def 
              (L*) show TBVTAr
              TBL (=50 + 50[e) show eexp TBL (+e) show eexn TBL (]/[) show
                       TBL (e) show eexp TBL (+e) show eexp TBL (]) show

              x0p y0p y0d 3 mul sub moveto
              TBIL (Y) show TBVr TBL (=) show
              TBIL (Y) show TBL (/18,  ) show

              TBIL (x) show TBL (= log[) show
              TBIL (Y) show TBVr TBL (]) show
             } if %xchart7=4

             } if %xchart4=2,3

xchart4 4 eq 
xchart4 5 eq or {%xchart4=4,5
TBL
(Buntwertdiagramm) showde                                    %0fge81-7 08581
(chromatic value diagram) showen                                %1fge81-7 08581
(en el diagrama valor crom\341tico) showes                      %2fge81-7 08581
(dans la valeur chromatique le diagramme) showfr                %3fge81-7 08581
(nel diagramma di valore cromatico) showit                      %4fge81-7 08581
(chromatic value diagram) showjp                                %5fge81-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                                     %0fge81-7 10581
(chromatic value diagram) showen                                 %1fge81-7 10581
(en el diagrama croma) showes                                   %2fge81-7 10581
(dans le diagramme de chroma) showfr                            %3fge81-7 10581
(nel diagramma di chroma) showit                                %4fge81-7 10581
(chromactic value diagram) showjp                               %5fge81-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                                     %0fge81-7 11581
(chromatic value diagram) showen                                %1fge81-7 11581
(en el diagrama croma) showes                                   %2fge81-7 11581
(dans le diagramme de chroma) showfr                            %3fge81-7 11581
(nel diagramma di chroma) showit                                %4fge81-7 11581
(chromatic value diagram) showjp                                %5fge81-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 4 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 cvsshow1

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

} bind def %proz_paramV

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

/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

/TBVo    {TBV 0 -50 rmoveto (o) show 0 50 rmoveto TL} def
/TBV2    {TBV 0 -50 rmoveto (2) show 0 50 rmoveto TL} def
/TBVAB,2 {TBV 0 -50 rmoveto (AB,2) show 0 50 rmoveto TL} def
/TBVab,2 {TBV 0 -50 rmoveto (AB,2) show 0 50 rmoveto TL} def

/TBWo    {TBW 0 -50 rmoveto (o) show 0 50 rmoveto TV} def
/TBW2    {TBW 0 -50 rmoveto (2) show 0 50 rmoveto TV} def
/TBWAB,2 {TBW 0 -50 rmoveto (AB,2) show 0 50 rmoveto TV} def
/TBWab,2 {TBW 0 -50 rmoveto (AB,2) show 0 50 rmoveto TV} def

xchart* 0 eq {/xtr -20 def}{/xtr -60 def} ifelse
/TBLr    {TBL 0 -50 rmoveto (r)   show 0 50 rmoveto TS} def
/TBLCIE  {TBL xtr -50 rmoveto (CIE) show 0 50 rmoveto TS} def
/TBLCIr  {TBL xtr -50 rmoveto (CIr) show 0 50 rmoveto TS} def
/TBLTUr  {TBL xtr -50 rmoveto (TUr) show 0 50 rmoveto TS} def
/TBLTAr  {TBL xtr -50 rmoveto (TAr) show 0 50 rmoveto TS} def

/TBVr    {TBV 0 -50 rmoveto (r)   show 0 50 rmoveto TL} def
/TBVCIE  {TBV xtr -50 rmoveto (CIE) show 0 50 rmoveto TL} def
/TBVCIr  {TBV xtr -50 rmoveto (CIr) show 0 50 rmoveto TL} def
/TBVTUr  {TBV xtr -50 rmoveto (TUr) show 0 50 rmoveto TL} def
/TBVTAr  {TBV xtr -50 rmoveto (TAr) show 0 50 rmoveto TL} def

/TBWr   {TBW 0 -50 rmoveto   (r)   show 0 50 rmoveto TV} def
/TBWCIE {TBW xtr -50 rmoveto (CIE) show 0 50 rmoveto TV} def
/TBWCIr {TBW xtr -50 rmoveto (CIr) show 0 50 rmoveto TV} def
/TBWTUr {TBW xtr -50 rmoveto (TUr) show 0 50 rmoveto TV} def
/TBWTAr {TBW xtr -50 rmoveto (TAr) show 0 50 rmoveto TV} def

/xti 9 array def
%     0    1    2    3    4    5    6    7    8
%     Name rang xti  Yti  Zti  x    y    ld   lp
/xti [0025 0200 0625 0925 1245 1525 1825 2080 2310] def

/xta 12 array def
%     0    1    2    3    4    5    6    7     8    9    10   11
%xchart*=0:
%     a2   b2   c2   A2   B2   CAB2 HAB2 Yr    L'Ci L'Cr L'Tr L'Ta
%xchart*=1:
%     a2   b2   c2   A2   B2   CAB2 HAB2 Yr    L*Ci L*Cr L*Tr L*Ta
/xta [2500 2800 3200 3500 3800 4100 4350 4600  4850 5150 5400 5700] def

/ytax 1200 def
/ydt 140 def
/ydy 160 def

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

xta 00 get 020 add ytax ydy add moveto TBIV (a) show TBW2    xcol10KBW
xta 01 get 020 add ytax ydy add moveto TBIV (b) show TBW2    xcol10KBW
xta 02 get 020 add ytax ydy add moveto TBIV (c) show TBW2    xcol10KBW
xta 03 get 020 add ytax ydy add moveto TBIV (A) show TBW2    xcol10KBW
xta 04 get 020 add ytax ydy add moveto TBIV (B) show TBW2    xcol10KBW
xta 05 get 050 sub ytax ydy add moveto TBIV (C) show TBWAB,2 xcol10KBW
xta 06 get 050 sub ytax ydy add moveto TBIV (h) show TBWab,2 xcol10KBW
xta 07 get 020 add ytax ydy add moveto TBIV (Y)  show TBWr   xcol10KBW
xchart* 0 eq {%xchart*=0
xta 08 get 050 sub ytax ydy add moveto TBIV (L') show TBWCIE xcol10KBW
xta 09 get 050 sub ytax ydy add moveto TBIV (L') show TBWCIr xcol10KBW
xta 10 get 050 sub ytax ydy add moveto TBIV (L') show TBWTUr xcol10KBW
xta 11 get 050 sub ytax ydy add moveto TBIV (L') show TBWTAr xcol10KBW
             } if %xchart*=0
xchart* 1 eq {%xchart*=1
xta 08 get 050 sub ytax ydy add moveto TBIV (L*) show TBWCIE xcol10KBW
xta 09 get 050 sub ytax ydy add moveto TBIV (L*) show TBWCIr xcol10KBW
xta 10 get 050 sub ytax ydy add moveto TBIV (L*) show TBWTUr xcol10KBW
xta 11 get 050 sub ytax ydy add moveto TBIV (L*) show TBWTAr xcol10KBW
             } if %xchart*=1
%STOP1a

/colXoi  9 array def
/colYoi  9 array def
/colZoi  9 array def
/colXAoi 9 array def
/colYAoi 9 array def
/colZAoi 9 array def

/colAKoi 9 array def
/colBKoi 9 array def
/colCKoi 9 array def
/colAGoi 9 array def
/colBGoi 9 array def
/colCGoi 9 array def
/colHGoi 9 array def

/colYroi 9 array def
/colL*oi 9 array def
/colLroi 9 array def
/colTroi 9 array def
/colTaoi 9 array def

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

/wnori 4 array def
/nnori 4 array def
/unori 4 array def
/cnori 4 array def

%xchart9 0     1      2      3
/wnori [1.0000 0.9000 0.7200 0.5400] def
/nnori [0.0001 0.0360 0.0450 0.0600] def
/unori [0.1800 0.1800 0.1800 0.1800] def
/cnori [(>288:1)(25:1) (16:1) (9:1)] def

%XYZoi 6:W, 7:N, 8:Z
colXoi 6 XW100 wnori 0 get mul put
colYoi 6 YW100 wnori 0 get mul put
colZoi 6 ZW100 wnori 0 get mul put

colXoi 7 XW100 nnori 0 get mul put
colYoi 7 YW100 nnori 0 get mul put
colZoi 7 ZW100 nnori 0 get mul put

colXoi 8 XW100 unori 0 get mul put
colYoi 8 YW100 unori 0 get mul put
colZoi 8 ZW100 unori 0 get mul put

0 1 8 {/jp exch def %jp=0,8
       /SUM colXoi jp get
            colYoi jp get add
            colZoi jp get add 0.0001 add def
       colXAoi jp colXoi jp get SUM div put
       colYAoi jp colYoi jp get SUM div put
       colZAoi jp colZoi jp get SUM div put
      } for %jp=0,8

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

/a20  1.0 def
/b20 -0.4 def

/xc 0.110 def

/Ac 1.000 def
/Bc Bci xchartl get def %4 different Bc defined by xchartl

/A2G 2.50 def
/B2G 2.50 def

/asig 1.00 def
/bsig 1.00 def
/esig 2.718282 def

/jp 6 def
colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
colL*oi jp
colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse
/jp 7 def
colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
colL*oi jp
colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse
/jp 8 def
colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
colL*oi jp
colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse
%STOPAA
0 1 8 {/jp exch def %jp=0,8
       colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
       colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
       colCKoi jp colAKoi jp get colAKoi 6 get sub dup mul
                  colBKoi jp get colBKoi 6 get sub dup mul add 0.0001 add
                  sqrt put
       colAGoi jp colAKoi jp get        colAKoi  6 get sub
                  colYoi  jp get mul A2G mul put
       colBGoi jp colBKoi jp get        colBKoi  6 get sub
                  colYoi  jp get mul B2G mul put
       colCGoi jp colAGoi jp get dup mul
                  colBGoi jp get dup mul add sqrt put
       colHGoi jp colBGoi jp get colAGoi jp get 0.00001 add atan put

       colYroi jp colYoi  jp get colYoi 8 get div put
       colL*oi jp
       colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                                116 mul 16 sub put}
                           {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                                116 mul 16 sub put} ifelse
       colLroi jp colL*oi jp get colL*oi 8 get div 50 mul put

       colTroi jp colYroi jp get log 5 log div 40 mul 50 add put
       /xr colYroi jp get log asig div def
       colTaoi jp esig xr exp esig xr neg exp sub
                  esig xr exp esig xr neg exp add div bsig mul
                  50 mul 50 add put
      } for %jp=0,8

%for all further calculations and graphics
gsave


%col(XYZ)1i, col(XYZ)A1i

/colX1i  9 array def
/colY1i  9 array def
/colZ1i  9 array def
/colXA1i 9 array def
/colYA1i 9 array def
/colZA1i 9 array def

/colAK1i 9 array def
/colBK1i 9 array def
/colCK1i 9 array def
/colAG1i 9 array def
/colBG1i 9 array def
/colCG1i 9 array def
/colHG1i 9 array def

/colYr1i 9 array def
/colL*1i 9 array def
/colLr1i 9 array def
/colTr1i 9 array def
/colTa1i 9 array def

0 1 2 {/jp exch def %jp=0,2
       /jp3 jp 3 add def
       colX1i jp colXoi jp  get wnori xchart9 get mul 
                 colXoi jp3 get nnori xchart9 get mul add put
       colY1i jp colYoi jp  get wnori xchart9 get mul
                 colYoi jp3 get nnori xchart9 get mul add put
       colZ1i jp colZoi jp  get wnori xchart9 get mul
                 colZoi jp3 get nnori xchart9 get mul add put
      } for %jp=0,2

3 1 5 {/jp exch def %jp=3,5
       /jp3 jp 3 sub def
       colX1i jp colXoi jp  get wnori xchart9 get mul
                 colXoi jp3 get nnori xchart9 get mul add put

       colY1i jp colYoi jp  get wnori xchart9 get mul
                 colYoi jp3 get nnori xchart9 get mul add put
       colZ1i jp colZoi jp  get wnori xchart9 get mul
                 colZoi jp3 get nnori xchart9 get mul add put
      } for %jp=3,5

%XYZoi 6:W, 7:N, 8:Z
colX1i 6 colXoi 6 get wnori xchart9 get mul put
colY1i 6 colYoi 6 get wnori xchart9 get mul put
colZ1i 6 colZoi 6 get wnori xchart9 get mul put

colX1i 7 colXoi 6 get nnori xchart9 get mul put
colY1i 7 colYoi 6 get nnori xchart9 get mul put
colZ1i 7 colZoi 6 get nnori xchart9 get mul put

colX1i 8 colXoi 6 get unori xchart9 get mul put
colY1i 8 colYoi 6 get unori xchart9 get mul put
colZ1i 8 colZoi 6 get unori xchart9 get mul put

%STOP2
0 1 8 {/jp exch def %jp=0,8
       /SUM colX1i jp get
            colY1i jp get add
            colZ1i jp get add 0.0001 add def
       colXA1i jp colX1i jp get SUM div put
       colYA1i jp colY1i jp get SUM div put
       colZA1i jp colZ1i jp get SUM div put
      } for %jp=0,8

/XANK colXA1i 6 get def
/YANK colYA1i 6 get def
/ZANK colZA1i 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

/jp 6 def
colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
colL*1i jp
colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse

/jp 7 def
colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
colL*1i jp
colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse

/jp 8 def
colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
colL*1i jp
colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse

0 1 8 {/jp exch def %jp=6,8 WNZ
       colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
       colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
       colCK1i jp colAK1i jp get colAK1i 6 get sub dup mul
                  colBK1i jp get colBK1i 6 get sub dup mul add 0.0001 add
                  sqrt put
       colAG1i jp colAK1i jp get       colAK1i  6 get sub 
                  colY1i  jp get mul A2G mul put
       colBG1i jp colBK1i jp get       colBK1i  6 get sub
                  colY1i  jp get mul B2G mul put
       colCG1i jp colAG1i jp get dup mul
                  colBG1i jp get dup mul add sqrt put
       colHG1i jp colBG1i jp get colAG1i jp get 0.00001 add atan put

       colYr1i jp colY1i  jp get colY1i 8 get div put
       colL*1i jp
       colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                                116 mul 16 sub put}
                            {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                                116 mul 16 sub put} ifelse
       colLr1i jp colL*1i jp get colL*1i 8 get div 50 mul put
       colTr1i jp colYr1i jp get log 5 log div 40 mul 50 add put
       /xr colYr1i jp get log asig div def
       colTa1i jp esig xr exp esig xr neg exp sub
                  esig xr exp esig xr neg exp add div bsig mul
                  50 mul 50 add put

      } for %jp=6,8 WNZ
%STOPABC
%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 jp 5 le {(o) show}{(d) show} ifelse 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 colX1i  jp get cvsshow2
       xti 3 get ytaxa moveto colY1i  jp get cvsshow2
       xti 4 get ytaxa moveto colZ1i  jp get cvsshow2

       xti 5 get ytaxa moveto colXA1i jp get cvsshow3
       xti 6 get ytaxa moveto colYA1i jp get cvsshow3

       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

       xta 00 get ytaxa moveto colAK1i  jp get cvsshow3
       xta 01 get ytaxa moveto colBK1i  jp get cvsshow3
       xta 02 get ytaxa moveto colCK1i  jp get cvsshow3
       xta 03 get ytaxa moveto colAG1i  jp get cvsshow1
       xta 04 get ytaxa moveto colBG1i  jp get cvsshow1
       xta 05 get ytaxa moveto colCG1i  jp get cvsshow1
       xta 06 get ytaxa moveto colHG1i  jp get cvishow0
       xta 07 get ytaxa moveto colYr1i  jp get cvsshow2
       xchart* 0 eq {%xchart*=0
       xta 08 get ytaxa moveto colL*1i  jp get 50 sub cvsshow1
       xta 09 get ytaxa moveto colLr1i  jp get 50 sub cvsshow1
       xta 10 get ytaxa moveto colTr1i  jp get 50 sub cvsshow1
       xta 11 get ytaxa moveto colTa1i  jp get 50 sub cvsshow1
                    } if %xchart*=0
       xchart* 1 eq {%xchart*=1
       xta 08 get ytaxa moveto colL*1i  jp get cvsshow1
       xta 09 get ytaxa moveto colLr1i  jp get cvsshow1
       xta 10 get ytaxa moveto colTr1i  jp get cvsshow1
       xta 11 get ytaxa moveto colTa1i  jp get cvsshow1
                    } if %xchart*=1
} 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
/a.psi   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
        a.psi i xcolorl 0 eq {F02EZ} {F10EZ} ifelse
              34 i add get YKSUM div 100 mul put
        /SUM XEZi i get
             YEZi i get add
             a.psi 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 a.psi 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

%***********************************************
/xcharts 0 def %0:0_100, 1:-50,50 (s=Y-scale), default=0

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

/xchart5 1 def %0:Y_B, 1:R_C, 2:G_M, default=0

/xchart6 1 def %0:C_Y,0_100, 1:C-Y,3.6_90, 2:L*CIE, 3:L*CIEr, 4:L*TUBr

/xchart7 3 def %0:Y, 1:L*CIE, 2:L*CIr, 3:L*TUr, 4:L*TAr, default=0

/xchart8 1 def %0:Pxx, 1:Dxx, default=1

/xchart9 3 def %0:C>288, 1:C=25:1, 2:C=16:1, 3:C=9:1, default=1

/xcolorl 0 def %0: CIE-02, 1: CIE-10, default=0

/xchartl 1 def %0:D65, 1:D50, 2:P40, 3:A00, default=1

/xchart* 1 def %0:L'=L*-50, 1:L*
%*********************************************
/TELi 8 array def
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

/ynorW0 1.000 def /ynorZ0 0.1800 def /ynorN0 0.001 def

1 1 1 {/xchart9 exch def %xchart9=0,3

xchart9 0 eq {/ynorW1 1.000 def  /ynorZ1 0.1800 def /ynorN1 0.001 def
               /ycon (>288:1) def /yconsh 0.000 def} if
xchart9 1 eq {/ynorW1 0.900 def  /ynorZ1 0.1800 def /ynorN1 0.036 def
               /ycon (=25:1) def  /yconsh 0.060 def} if
xchart9 2 eq {/ynorW1 0.720 def  /ynorZ1 0.1800 def /ynorN1 0.045 def
               /ycon (=16:1) def  /yconsh 0.045 def} if
xchart9 3 eq {/ynorW1 0.540 def  /ynorZ1 0.1800 def /ynorN1 0.060 def
               /ycon (=9:1) def   /yconsh 0.060 def} if

gsave

72 90 translate

0.010 MM dup scale

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

40 setlinewidth
/ymax1 08550 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
(fge80-7R_R) show
%xchart 1 add cvishow0
} if %xbtex0=1

/kchartl 0 def

0 1 3 {/xchartl exch def %xchartl=0,3

20 setlinewidth

  xchartl   0 eq {  100 04480 translate} if
  xchartl   1 eq { 6150 04480 translate} if
  xchartl   2 eq {  100 00220 translate} if
  xchartl   3 eq { 6150 00220 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 {(fge80-) show}{(fge81-) show} ifelse
xchartl 5 add cvishow0
(a) show %a

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
%(fge80-7R_R) show

%xchart4=2 default

%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

/XN000 XW 0.0001 mul def %100->0.01
/YN000 YW 0.0001 mul def
/ZN000 ZW 0.0001 mul def
/SUM XN000 YN000 add ZN000 add 0.0001 add def
/XAN000 XN000 SUM div def
/YAN000 YN000 SUM div def
/ZAN000 ZN000 SUM div def

/XU018 XW 0.18 mul def %100->18.0
/YU018 YW 0.18 mul def
/ZU018 ZW 0.18 mul def
/SUM XU018 YU018 add ZU018 add 0.0001 add def
/XAU018 XU018 SUM div def
/YAU018 YU018 SUM div def
/ZAU018 ZU018 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 [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)   (U)
          ] 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

%****************************************************************
%definitions necessary for many calculations
%different for xchart4=0 to 7
%STOP0
%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
%STOP0A
%********************************************************************
%/proz_grap_CAB2_Y {%BEG proz_grap_CAB2_Y
%only for graphics xchart4=2,3


%only for ynor=1 either no or yes (default)

/fakt 20 def

%section BEG for proz_paramV necessary
%proz_paramV

proz_table

proz_paramV

%STOPX

%********************************************************************
/proz_grap_CAB2_Y {%BEG proz_grap_CAB2_Y
%only for graphics xchart4=2,3

/xtrans2_3 4050 def
/ytrans2_3 1600 def
xtrans2_3 ytrans2_3 translate

%red cylinder CAB=74
TBL
0 0 1 setrgbcolor
[100] 0 setdash
xchart* 0 eq {%xchart*=0
              074 fakt mul 010 fakt mul moveto
              074 fakt mul 054 fakt mul lineto stroke
              074 fakt mul 065 fakt mul moveto
              074 fakt mul 108 fakt mul lineto stroke
             }
             {%xchart*=1
              074 fakt mul 108 fakt mul moveto
              074 fakt mul 015 fakt mul lineto stroke
             } ifelse %xchart*=0,1

-74 fakt mul 108 fakt mul moveto
-74 fakt mul 000 fakt mul lineto stroke
 74 fakt mul 002 add 112 fakt mul moveto (74) show
-74 fakt mul 100 sub 112 fakt mul moveto (-74) show

0 setgray
-074 fakt mul 200 add 112 fakt mul         moveto (Parameter:) show
-074 fakt mul 200 add 112 fakt mul 200 sub moveto
xchart7 0 eq {TBIS (Y) show xcol10_BL} if
xchart7 1 eq {TBIS (L*) show TBLCIE xcol10_BL} if
xchart7 2 eq {TBIS (L*) show TBLCIr xcol10_BL} if
xchart7 3 eq {TBIS (L*) show TBLTUr xcol10_BL} if
xchart7 4 eq {TBIS (L*) show TBLTAr xcol10_BL} if
TBL ( & name) showen
    ( & Name) showde

-074 fakt mul 200 add 112 fakt mul 400 sub moveto 
TBIL (Y) show TBVr TBL (=) show
TBIL (Y/) show TBL (18, ) show

-074 fakt mul 200 add 112 fakt mul 600 sub moveto
TBIL (L') show TBL (=) show TBIL (L*) show TBL (-50) show

xcharts 2 eq {%Y*-Skala
              0 1 0 setrgbcolor
              -350 102 fakt mul moveto TBS (  65) show
              -350  54 fakt mul moveto TBS (    0) show 
              -350 -10 fakt mul moveto TBS (-65) 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  -100 moveto 0 2400  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) (0) (50)] def
/yt10x [()   ( ) (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
        -0950 i 1000 mul add
              -140 xcharts 1 ge {1000 add} if moveto
              xcharts 0 eq {TBL xt10x i get show} if
              xcharts 1 eq {TBL xt11x i get show} if
              xcharts 2 eq {TBL xt12x i get show} if
        i 2 eq {1500 0 xcharts 1 ge {1000 add} if moveto
                -100 -200 330 add 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 xchart* 0 eq {80 add} if
              } if 
       i 2 eq {015 add} if moveto
       xcharts 0 eq {TBL yt10x i get show} if
       xcharts 1 eq {TBL yt11x i get show} if
       xcharts 2 eq {TBL yt12x i get show} if
       i 2 eq {50 2220 moveto 
               xchart* 0 eq {%xchart*=0
               xchart7 0 eq {TBIS (Y) show xcol10_BL} if
               xchart7 1 eq {TBIS (L') show TBLCIE xcol10_BL} if
               xchart7 2 eq {TBIS (L') show TBLCIr xcol10_BL} if
               xchart7 3 eq {TBIS (L') show TBLTUr xcol10_BL} if
               xchart7 4 eq {TBIS (L') show TBLTAr xcol10_BL} if
                            } %xchart*=0
                            { %xchart*=1
               xchart7 0 eq {TBIS (Y) show xcol10_BL} if
               xchart7 1 eq {TBIS (L*) show TBLCIE xcol10_BL} if
               xchart7 2 eq {TBIS (L*) show TBLCIr xcol10_BL} if
               xchart7 3 eq {TBIS (L*) show TBLTUr xcol10_BL} if
               xchart7 4 eq {TBIS (L*) show TBLTAr xcol10_BL} if
                            } ifelse

               xcharts 1 eq {00 -50 rmoveto TBL 
                             xcolorl 1 eq {(,) show} if
%                             (a) show 00 50 rmoveto
                             TBS (=) show
               xchart7 0 eq {TBIS (Y) show xcol10_BL} if
               xchart7 1 eq {TBIS (L*) show TBLCIE xcol10_BL} if
               xchart7 2 eq {TBIS (L*) show TBLCIr xcol10_BL} if
               xchart7 3 eq {TBIS (L*) show TBLTUr xcol10_BL} if
               xchart7 4 eq {TBIS (L*) show TBLTAr xcol10_BL} if
                             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 {100 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

/vorp 10 array def
%      0  1  2  3  4  5  6  7  8
%      Rm Ym Gm Cm Bm Mm W  N  U]
/vorp [1  1  -1 -1 -1 1  1  1  1] def

xchart5 0 eq {/jp1x 1 def /jp2x 4 def} if %Y_B
xchart5 1 eq {/jp1x 0 def /jp2x 3 def} if %R_C
xchart5 2 eq {/jp1x 2 def /jp2x 5 def} if %G_M

/proz_fill_toY {%BEG proz_fill_toY
                colCGoi    6 get fakt mul 
                colYoi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colYoi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colYoi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colYoi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colYoi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colYoi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colYoi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colYoi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colYoi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colYoi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colYoi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colYoi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colYoi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colYoi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toY

/proz_fill_t1Y {%BEG proz_fill_t1Y
                colCG1i    6 get fakt mul 
                colY1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colY1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colY1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colY1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colY1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colY1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colY1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colY1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colY1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colY1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colY1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colY1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colY1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colY1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Y

/proz_fill_toL* {%BEG proz_fill_toL*
                colCGoi    6 get fakt mul 
                colL*oi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colL*oi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colL*oi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colL*oi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colL*oi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colL*oi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colL*oi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colL*oi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colL*oi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colL*oi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colL*oi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colL*oi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colL*oi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colL*oi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toL*

/proz_fill_t1L* {%BEG proz_fill_t1L*
                colCG1i    6 get fakt mul 
                colL*1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colL*1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colL*1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colL*1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colL*1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colL*1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colL*1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colL*1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colL*1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colL*1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colL*1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colL*1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colL*1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colL*1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1L*

/proz_fill_toLr {%BEG proz_fill_toLr
                colCGoi    6 get fakt mul 
                colLroi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colLroi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colLroi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colLroi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colLroi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colLroi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colLroi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colLroi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colLroi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colLroi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colLroi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colLroi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colLroi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colLroi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toLr

/proz_fill_t1Lr {%BEG proz_fill_t1Lr
                colCG1i    6 get fakt mul 
                colLr1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colLr1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colLr1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colLr1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colLr1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colLr1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colLr1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colLr1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colLr1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colLr1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colLr1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colLr1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colLr1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colLr1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Lr

/proz_fill_toTr {%BEG proz_fill_toTr
                colCGoi    6 get fakt mul 
                colTroi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTroi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colTroi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colTroi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTroi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colTroi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTroi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTroi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTroi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTroi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTroi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTroi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTroi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTroi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toTr

/proz_fill_t1Tr {%BEG proz_fill_t1Tr
                colCG1i    6 get fakt mul 
                colTr1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTr1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colTr1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colTr1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTr1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colTr1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTr1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTr1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTr1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTr1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTr1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTr1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTr1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTr1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Tr

/proz_fill_toTa {%BEG proz_fill_toTa
                colCGoi    6 get fakt mul 
                colTaoi    6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTaoi jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colTaoi    7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colTaoi jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTaoi jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colTaoi jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTaoi  jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTaoi  jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTaoi  jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTaoi  jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTaoi  jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTaoi  jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTaoi  jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTaoi  jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toTa

/proz_fill_t1Ta {%BEG proz_fill_t1Ta
                colCG1i    6 get fakt mul 
                colTa1i    6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTa1i jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colTa1i    7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colTa1i jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTa1i jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colTa1i jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTa1i  jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTa1i  jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTa1i  jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTa1i  jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTa1i  jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTa1i  jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTa1i  jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTa1i  jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Ta

0 1 1 {/jp exch def %jp=0,1
       TBL
       jp 0 eq {%jp=0
                [] 0 setdash
                1 0 0 setrgbcolor                
                xchart7 0 eq {proz_fill_toY} if
                xchart7 1 eq {proz_fill_toL*} if
                xchart7 2 eq {proz_fill_toLr} if
                xchart7 3 eq {proz_fill_toTr} if
                xchart7 4 eq {proz_fill_toTa} if
               } if %jp=0

       jp 1 eq {%jp=1
                [100] 0 setdash
                0 1 0 setrgbcolor
                xchart7 0 eq {proz_fill_t1Y} if
                xchart7 1 eq {proz_fill_t1L*} if
                xchart7 2 eq {proz_fill_t1Lr} if
                xchart7 3 eq {proz_fill_t1Tr} if
                xchart7 4 eq {proz_fill_t1Ta} if
               } if %jp=1
      } for %jp=0,1

[ ] 0 setdash
0 setgray

xtrans2_3 neg ytrans2_3 neg translate

} bind def %END proz_graph_CAB2_Y

%********************************************************************
%only for graphics xchart4=2,3
%STOP3
xchart4 2 eq
xchart4 3 eq or {%xchart4=2,3 only for (CAB2,Y)
                 proz_grap_CAB2_Y
                } if %xchart4=0,1 only for (CAB2,Y)

%********************************************************************
grestore %end because of clip

%} for %jnor=0,1

grestore

  xchartl    0 eq {  100 neg 04480 neg translate} if
  xchartl    1 eq { 6150 neg 04480 neg translate} if
  xchartl    2 eq {  100 neg 00220 neg translate} if
  xchartl    3 eq { 6150 neg 00220 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,3

%} for %xcolorl=0,0

showpage
grestore

} for %xchart9=0,3

%%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 fge80-8N
%%BoundingBox: 70 85 246 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

/ioutx 0 def
ioutx 1 eq {%ioutx=1

4 /Times-Roman FS
72 86 moveto
     (fge80-8N) show

72 90 translate

0.01 MM dup scale
20 setlinewidth
/xwidth 6100 def
/ywidth 4000 def
1 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath fill
0 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath stroke

} if %ioutx=1

grestore
showpage

%%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 fge81-1N
%%BoundingBox: 70 85 246 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

/ioutx 0 def
ioutx 1 eq {%ioutx=1

4 /Times-Roman FS
72 86 moveto
     (fge81-1N) show

72 90 translate

0.01 MM dup scale
20 setlinewidth
/xwidth 6100 def
/ywidth 4000 def
1 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath fill
0 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath stroke

} if %ioutx=1

grestore
showpage

%%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 fge81-2N
%%BoundingBox: 70 85 246 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

/ioutx 0 def
ioutx 1 eq {%ioutx=1

4 /Times-Roman FS
72 86 moveto
     (fge81-2N) show

72 90 translate

0.01 MM dup scale
20 setlinewidth
/xwidth 6100 def
/ywidth 4000 def
1 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath fill
0 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath stroke

} if %ioutx=1

grestore
showpage

%%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 fge81-3n
%%BoundingBox: 70 85 421 335

%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/fge8/fge8.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 pdfmark03
[ /View [ /Fit ]
/DOCVIEW pdfmark03
%END  PDFDE011

%SETCMYK_OLV.PS
/setcmyk_olvcolor %transfer cmyk to olv
{/ncolor exch def /ycolor exch def
 /mcolor exch def /ccolor exch def
 ncolor 0 eq {1 ccolor sub
              1 mcolor sub
              1 ycolor sub setrgbcolor
             }
             {ccolor 0 eq 
              mcolor 0 eq and
              ycolor 0 eq and {%only black n
                               1 ncolor sub 
                               dup
                               dup
                               setrgbcolor
                              }
                              {%cmy and black n
                               1 ccolor sub 1 ncolor sub mul
                               1 mcolor sub 1 ncolor sub mul
                               1 ycolor sub 1 ncolor sub mul
                               setrgbcolor
                              } ifelse
             } ifelse
} bind def

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def /str {8 string } bind def

/languagelevel where {pop languagelevel} {1} ifelse
                     /PSL12 exch def
/dictende {counttomark 2 idiv dup dict begin {def}
           repeat pop currentdict end} bind def

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

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

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

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

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

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

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

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

/TG   {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

/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  190 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
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
TBIL (B) show 0 -50 rmoveto TBV (c) 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 210 def

0 setgray
x0p y0p y0d 0 mul sub moveto
TBL
(6 ) show
TBIL (Ostwald) show
TBL
(\255Farben (o), ) showde                                       %0fge81-7 02581
( colours (o), ) showen                                         %1fge81-7 02581
( colores (o), ) showes                                         %2fge81-7 02581
( couleurs (o), ) showfr                                        %3fge81-7 02581
( colori (o), ) showit                                          %4fge81-7 02581
( colours (o), ) showjp                                         %5fge81-7 02581
TBIL (C) show TBV 0 -60 rmoveto (AB,2) show 0 60 rmoveto xcol10KBV
TBL (=const) show


xchart4 0 eq
xchart4 1 eq or {%xchart4=0,1
x0p y0p y0d 1 mul sub moveto
TBL
(in der Normfarbtafel) showde                                   %0fge81-7 04581
(chromaticity diagram) showen                               %1fge81-7 04581
(en el diagrama de chromaticidad) showes                        %2fge81-7 04581
(dans le diagramme de chromaticit\351) showfr                   %3fge81-7 04581
(nel diagramma di cromaticit\340) showit                        %4fge81-7 04581
(the chromaticity diagram) showjp                               %5fge81-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
x0p y0p y0d 1 mul sub moveto
TBL
(Farbenraum ) showde                                %0fge81-7 06581
(colour space ) showea                                   %1fge81-7 06581
TBL (\050) show TBIL (C) show
TBV 0 -50 rmoveto (AB,2) show 0 50 rmoveto xcol10KBV

TBIL
xchart7 0 eq {(, Y) show} if
xchart7 1 eq {(, L*) show TBVCIE} if
xchart7 2 eq {(, L*) show TBVCIr} if
xchart7 3 eq {(, L*) show TBVTUr} if
xchart7 4 eq {(, L*) show TBVTAr} if
xcol10_BV TBL (\051) show

x0p y0p y0d 2 mul sub moveto
TBIL
xchart7 0 eq {(Y) show TBL (=18) show 
              TBIL (Y) show TBVr} if

xchart7 1 eq {(L*) show TBVCIE
              TBL (=116\050) show TBIL (Y/) show TBL (100\051) show
              TBV 0 80 rmoveto (1/3) show 0 -80 rmoveto TBL (-16) show
              TBIV (  \050Y) show TBV (>=0,8856\051) show
              TBL ( or) showen ( oder) showde

              x0p y0p y0d 3 mul sub moveto
              TBIL (L*) show TBVCIE TBL (=116[(841/108)) show
               TBIL (\050Y/) show TBL (100\051+4/29]-16) show
             } if

xchart7 2 eq {(L*) show TBVCIr
              TBL (=) show TBIL (L*) show TBVCIE TBIL ((Y) / ) show
                           TBIL (L*) show TBVCIE TBIL ((18)) show} if

xchart7 3 eq {(L*) show TBVTUr
              TBL (=50 + 40[) show TBIL (Y) show TBLr TBL (/log(5)]) show} if

xchart7 4 eq {%xchart7=4
              /eexp {TBV 0 80 rmoveto  (x) show 0 -80 rmoveto TBL} def
              /eexn {TBV 0 80 rmoveto (-x) show 0 -80 rmoveto TBL} def 
              (L*) show TBVTAr
              TBL (=50 + 50[e) show eexp TBL (+e) show eexn TBL (]/[) show
                       TBL (e) show eexp TBL (+e) show eexp TBL (]) show

              x0p y0p y0d 3 mul sub moveto
              TBIL (Y) show TBVr TBL (=) show
              TBIL (Y) show TBL (/18,  ) show

              TBIL (x) show TBL (= log[) show
              TBIL (Y) show TBVr TBL (]) show
             } if %xchart7=4

             } if %xchart4=2,3

xchart4 4 eq 
xchart4 5 eq or {%xchart4=4,5
TBL
(Buntwertdiagramm) showde                                    %0fge81-7 08581
(chromatic value diagram) showen                                %1fge81-7 08581
(en el diagrama valor crom\341tico) showes                      %2fge81-7 08581
(dans la valeur chromatique le diagramme) showfr                %3fge81-7 08581
(nel diagramma di valore cromatico) showit                      %4fge81-7 08581
(chromatic value diagram) showjp                                %5fge81-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                                     %0fge81-7 10581
(chromatic value diagram) showen                                 %1fge81-7 10581
(en el diagrama croma) showes                                   %2fge81-7 10581
(dans le diagramme de chroma) showfr                            %3fge81-7 10581
(nel diagramma di chroma) showit                                %4fge81-7 10581
(chromactic value diagram) showjp                               %5fge81-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                                     %0fge81-7 11581
(chromatic value diagram) showen                                %1fge81-7 11581
(en el diagrama croma) showes                                   %2fge81-7 11581
(dans le diagramme de chroma) showfr                            %3fge81-7 11581
(nel diagramma di chroma) showit                                %4fge81-7 11581
(chromatic value diagram) showjp                                %5fge81-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 4 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 cvsshow1

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

} bind def %proz_paramV

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

/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

/TBVo    {TBV 0 -50 rmoveto (o) show 0 50 rmoveto TL} def
/TBV2    {TBV 0 -50 rmoveto (2) show 0 50 rmoveto TL} def
/TBVAB,2 {TBV 0 -50 rmoveto (AB,2) show 0 50 rmoveto TL} def
/TBVab,2 {TBV 0 -50 rmoveto (AB,2) show 0 50 rmoveto TL} def

/TBWo    {TBW 0 -50 rmoveto (o) show 0 50 rmoveto TV} def
/TBW2    {TBW 0 -50 rmoveto (2) show 0 50 rmoveto TV} def
/TBWAB,2 {TBW 0 -50 rmoveto (AB,2) show 0 50 rmoveto TV} def
/TBWab,2 {TBW 0 -50 rmoveto (AB,2) show 0 50 rmoveto TV} def

xchart* 0 eq {/xtr -20 def}{/xtr -60 def} ifelse
/TBLr    {TBL 0 -50 rmoveto (r)   show 0 50 rmoveto TS} def
/TBLCIE  {TBL xtr -50 rmoveto (CIE) show 0 50 rmoveto TS} def
/TBLCIr  {TBL xtr -50 rmoveto (CIr) show 0 50 rmoveto TS} def
/TBLTUr  {TBL xtr -50 rmoveto (TUr) show 0 50 rmoveto TS} def
/TBLTAr  {TBL xtr -50 rmoveto (TAr) show 0 50 rmoveto TS} def

/TBVr    {TBV 0 -50 rmoveto (r)   show 0 50 rmoveto TL} def
/TBVCIE  {TBV xtr -50 rmoveto (CIE) show 0 50 rmoveto TL} def
/TBVCIr  {TBV xtr -50 rmoveto (CIr) show 0 50 rmoveto TL} def
/TBVTUr  {TBV xtr -50 rmoveto (TUr) show 0 50 rmoveto TL} def
/TBVTAr  {TBV xtr -50 rmoveto (TAr) show 0 50 rmoveto TL} def

/TBWr   {TBW 0 -50 rmoveto   (r)   show 0 50 rmoveto TV} def
/TBWCIE {TBW xtr -50 rmoveto (CIE) show 0 50 rmoveto TV} def
/TBWCIr {TBW xtr -50 rmoveto (CIr) show 0 50 rmoveto TV} def
/TBWTUr {TBW xtr -50 rmoveto (TUr) show 0 50 rmoveto TV} def
/TBWTAr {TBW xtr -50 rmoveto (TAr) show 0 50 rmoveto TV} def

/xti 9 array def
%     0    1    2    3    4    5    6    7    8
%     Name rang xti  Yti  Zti  x    y    ld   lp
/xti [0025 0200 0625 0925 1245 1525 1825 2080 2310] def

/xta 12 array def
%     0    1    2    3    4    5    6    7     8    9    10   11
%xchart*=0:
%     a2   b2   c2   A2   B2   CAB2 HAB2 Yr    L'Ci L'Cr L'Tr L'Ta
%xchart*=1:
%     a2   b2   c2   A2   B2   CAB2 HAB2 Yr    L*Ci L*Cr L*Tr L*Ta
/xta [2500 2800 3200 3500 3800 4100 4350 4600  4850 5150 5400 5700] def

/ytax 1200 def
/ydt 140 def
/ydy 160 def

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

xta 00 get 020 add ytax ydy add moveto TBIV (a) show TBW2    xcol10KBW
xta 01 get 020 add ytax ydy add moveto TBIV (b) show TBW2    xcol10KBW
xta 02 get 020 add ytax ydy add moveto TBIV (c) show TBW2    xcol10KBW
xta 03 get 020 add ytax ydy add moveto TBIV (A) show TBW2    xcol10KBW
xta 04 get 020 add ytax ydy add moveto TBIV (B) show TBW2    xcol10KBW
xta 05 get 050 sub ytax ydy add moveto TBIV (C) show TBWAB,2 xcol10KBW
xta 06 get 050 sub ytax ydy add moveto TBIV (h) show TBWab,2 xcol10KBW
xta 07 get 020 add ytax ydy add moveto TBIV (Y)  show TBWr   xcol10KBW
xchart* 0 eq {%xchart*=0
xta 08 get 050 sub ytax ydy add moveto TBIV (L') show TBWCIE xcol10KBW
xta 09 get 050 sub ytax ydy add moveto TBIV (L') show TBWCIr xcol10KBW
xta 10 get 050 sub ytax ydy add moveto TBIV (L') show TBWTUr xcol10KBW
xta 11 get 050 sub ytax ydy add moveto TBIV (L') show TBWTAr xcol10KBW
             } if %xchart*=0
xchart* 1 eq {%xchart*=1
xta 08 get 050 sub ytax ydy add moveto TBIV (L*) show TBWCIE xcol10KBW
xta 09 get 050 sub ytax ydy add moveto TBIV (L*) show TBWCIr xcol10KBW
xta 10 get 050 sub ytax ydy add moveto TBIV (L*) show TBWTUr xcol10KBW
xta 11 get 050 sub ytax ydy add moveto TBIV (L*) show TBWTAr xcol10KBW
             } if %xchart*=1
%STOP1a

/colXoi  9 array def
/colYoi  9 array def
/colZoi  9 array def
/colXAoi 9 array def
/colYAoi 9 array def
/colZAoi 9 array def

/colAKoi 9 array def
/colBKoi 9 array def
/colCKoi 9 array def
/colAGoi 9 array def
/colBGoi 9 array def
/colCGoi 9 array def
/colHGoi 9 array def

/colYroi 9 array def
/colL*oi 9 array def
/colLroi 9 array def
/colTroi 9 array def
/colTaoi 9 array def

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

/wnori 4 array def
/nnori 4 array def
/unori 4 array def
/cnori 4 array def

%xchart9 0     1      2      3
/wnori [1.0000 0.9000 0.7200 0.5400] def
/nnori [0.0001 0.0360 0.0450 0.0600] def
/unori [0.1800 0.1800 0.1800 0.1800] def
/cnori [(>288:1)(25:1) (16:1) (9:1)] def

%XYZoi 6:W, 7:N, 8:Z
colXoi 6 XW100 wnori 0 get mul put
colYoi 6 YW100 wnori 0 get mul put
colZoi 6 ZW100 wnori 0 get mul put

colXoi 7 XW100 nnori 0 get mul put
colYoi 7 YW100 nnori 0 get mul put
colZoi 7 ZW100 nnori 0 get mul put

colXoi 8 XW100 unori 0 get mul put
colYoi 8 YW100 unori 0 get mul put
colZoi 8 ZW100 unori 0 get mul put

0 1 8 {/jp exch def %jp=0,8
       /SUM colXoi jp get
            colYoi jp get add
            colZoi jp get add 0.0001 add def
       colXAoi jp colXoi jp get SUM div put
       colYAoi jp colYoi jp get SUM div put
       colZAoi jp colZoi jp get SUM div put
      } for %jp=0,8

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

/a20  1.0 def
/b20 -0.4 def

/xc 0.110 def

/Ac 1.000 def
/Bc Bci xchartl get def %4 different Bc defined by xchartl

/A2G 2.50 def
/B2G 2.50 def

/asig 1.00 def
/bsig 1.00 def
/esig 2.718282 def

/jp 6 def
colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
colL*oi jp
colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse
/jp 7 def
colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
colL*oi jp
colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse
/jp 8 def
colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
colL*oi jp
colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse
%STOPAA
0 1 8 {/jp exch def %jp=0,8
       colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
       colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
       colCKoi jp colAKoi jp get colAKoi 6 get sub dup mul
                  colBKoi jp get colBKoi 6 get sub dup mul add 0.0001 add
                  sqrt put
       colAGoi jp colAKoi jp get        colAKoi  6 get sub
                  colYoi  jp get mul A2G mul put
       colBGoi jp colBKoi jp get        colBKoi  6 get sub
                  colYoi  jp get mul B2G mul put
       colCGoi jp colAGoi jp get dup mul
                  colBGoi jp get dup mul add sqrt put
       colHGoi jp colBGoi jp get colAGoi jp get 0.00001 add atan put

       colYroi jp colYoi  jp get colYoi 8 get div put
       colL*oi jp
       colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                                116 mul 16 sub put}
                           {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                                116 mul 16 sub put} ifelse
       colLroi jp colL*oi jp get colL*oi 8 get div 50 mul put

       colTroi jp colYroi jp get log 5 log div 40 mul 50 add put
       /xr colYroi jp get log asig div def
       colTaoi jp esig xr exp esig xr neg exp sub
                  esig xr exp esig xr neg exp add div bsig mul
                  50 mul 50 add put
      } for %jp=0,8

%for all further calculations and graphics
gsave


%col(XYZ)1i, col(XYZ)A1i

/colX1i  9 array def
/colY1i  9 array def
/colZ1i  9 array def
/colXA1i 9 array def
/colYA1i 9 array def
/colZA1i 9 array def

/colAK1i 9 array def
/colBK1i 9 array def
/colCK1i 9 array def
/colAG1i 9 array def
/colBG1i 9 array def
/colCG1i 9 array def
/colHG1i 9 array def

/colYr1i 9 array def
/colL*1i 9 array def
/colLr1i 9 array def
/colTr1i 9 array def
/colTa1i 9 array def

0 1 2 {/jp exch def %jp=0,2
       /jp3 jp 3 add def
       colX1i jp colXoi jp  get wnori xchart9 get mul 
                 colXoi jp3 get nnori xchart9 get mul add put
       colY1i jp colYoi jp  get wnori xchart9 get mul
                 colYoi jp3 get nnori xchart9 get mul add put
       colZ1i jp colZoi jp  get wnori xchart9 get mul
                 colZoi jp3 get nnori xchart9 get mul add put
      } for %jp=0,2

3 1 5 {/jp exch def %jp=3,5
       /jp3 jp 3 sub def
       colX1i jp colXoi jp  get wnori xchart9 get mul
                 colXoi jp3 get nnori xchart9 get mul add put

       colY1i jp colYoi jp  get wnori xchart9 get mul
                 colYoi jp3 get nnori xchart9 get mul add put
       colZ1i jp colZoi jp  get wnori xchart9 get mul
                 colZoi jp3 get nnori xchart9 get mul add put
      } for %jp=3,5

%XYZoi 6:W, 7:N, 8:Z
colX1i 6 colXoi 6 get wnori xchart9 get mul put
colY1i 6 colYoi 6 get wnori xchart9 get mul put
colZ1i 6 colZoi 6 get wnori xchart9 get mul put

colX1i 7 colXoi 6 get nnori xchart9 get mul put
colY1i 7 colYoi 6 get nnori xchart9 get mul put
colZ1i 7 colZoi 6 get nnori xchart9 get mul put

colX1i 8 colXoi 6 get unori xchart9 get mul put
colY1i 8 colYoi 6 get unori xchart9 get mul put
colZ1i 8 colZoi 6 get unori xchart9 get mul put

%STOP2
0 1 8 {/jp exch def %jp=0,8
       /SUM colX1i jp get
            colY1i jp get add
            colZ1i jp get add 0.0001 add def
       colXA1i jp colX1i jp get SUM div put
       colYA1i jp colY1i jp get SUM div put
       colZA1i jp colZ1i jp get SUM div put
      } for %jp=0,8

/XANK colXA1i 6 get def
/YANK colYA1i 6 get def
/ZANK colZA1i 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

/jp 6 def
colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
colL*1i jp
colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse

/jp 7 def
colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
colL*1i jp
colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse

/jp 8 def
colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
colL*1i jp
colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse

0 1 8 {/jp exch def %jp=6,8 WNZ
       colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
       colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
       colCK1i jp colAK1i jp get colAK1i 6 get sub dup mul
                  colBK1i jp get colBK1i 6 get sub dup mul add 0.0001 add
                  sqrt put
       colAG1i jp colAK1i jp get       colAK1i  6 get sub 
                  colY1i  jp get mul A2G mul put
       colBG1i jp colBK1i jp get       colBK1i  6 get sub
                  colY1i  jp get mul B2G mul put
       colCG1i jp colAG1i jp get dup mul
                  colBG1i jp get dup mul add sqrt put
       colHG1i jp colBG1i jp get colAG1i jp get 0.00001 add atan put

       colYr1i jp colY1i  jp get colY1i 8 get div put
       colL*1i jp
       colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                                116 mul 16 sub put}
                            {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                                116 mul 16 sub put} ifelse
       colLr1i jp colL*1i jp get colL*1i 8 get div 50 mul put
       colTr1i jp colYr1i jp get log 5 log div 40 mul 50 add put
       /xr colYr1i jp get log asig div def
       colTa1i jp esig xr exp esig xr neg exp sub
                  esig xr exp esig xr neg exp add div bsig mul
                  50 mul 50 add put

      } for %jp=6,8 WNZ
%STOPABC
%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 jp 5 le {(o) show}{(d) show} ifelse 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 colX1i  jp get cvsshow2
       xti 3 get ytaxa moveto colY1i  jp get cvsshow2
       xti 4 get ytaxa moveto colZ1i  jp get cvsshow2

       xti 5 get ytaxa moveto colXA1i jp get cvsshow3
       xti 6 get ytaxa moveto colYA1i jp get cvsshow3

       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

       xta 00 get ytaxa moveto colAK1i  jp get cvsshow3
       xta 01 get ytaxa moveto colBK1i  jp get cvsshow3
       xta 02 get ytaxa moveto colCK1i  jp get cvsshow3
       xta 03 get ytaxa moveto colAG1i  jp get cvsshow1
       xta 04 get ytaxa moveto colBG1i  jp get cvsshow1
       xta 05 get ytaxa moveto colCG1i  jp get cvsshow1
       xta 06 get ytaxa moveto colHG1i  jp get cvishow0
       xta 07 get ytaxa moveto colYr1i  jp get cvsshow2
       xchart* 0 eq {%xchart*=0
       xta 08 get ytaxa moveto colL*1i  jp get 50 sub cvsshow1
       xta 09 get ytaxa moveto colLr1i  jp get 50 sub cvsshow1
       xta 10 get ytaxa moveto colTr1i  jp get 50 sub cvsshow1
       xta 11 get ytaxa moveto colTa1i  jp get 50 sub cvsshow1
                    } if %xchart*=0
       xchart* 1 eq {%xchart*=1
       xta 08 get ytaxa moveto colL*1i  jp get cvsshow1
       xta 09 get ytaxa moveto colLr1i  jp get cvsshow1
       xta 10 get ytaxa moveto colTr1i  jp get cvsshow1
       xta 11 get ytaxa moveto colTa1i  jp get cvsshow1
                    } if %xchart*=1
} 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
/a.psi   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
        a.psi i xcolorl 0 eq {F02EZ} {F10EZ} ifelse
              34 i add get YKSUM div 100 mul put
        /SUM XEZi i get
             YEZi i get add
             a.psi 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 a.psi 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

%***********************************************
/xcharts 0 def %0:0_100, 1:-50,50 (s=Y-scale), default=0

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

/xchart5 1 def %0:Y_B, 1:R_C, 2:G_M, default=0

/xchart6 1 def %0:C_Y,0_100, 1:C-Y,3.6_90, 2:L*CIE, 3:L*CIEr, 4:L*TUBr

/xchart7 3 def %0:Y, 1:L*CIE, 2:L*CIr, 3:L*TUr, 4:L*TAr, default=0

/xchart8 1 def %0:Pxx, 1:Dxx, default=1

/xchart9 3 def %0:C>288, 1:C=25:1, 2:C=16:1, 3:C=9:1, default=1

/xcolorl 0 def %0: CIE-02, 1: CIE-10, default=0

/xchartl 1 def %0:D65, 1:D50, 2:P40, 3:A00, default=1

/xchart* 1 def %0:L'=L*-50, 1:L*
%*********************************************
/TELi 8 array def
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

/ynorW0 1.000 def /ynorZ0 0.1800 def /ynorN0 0.001 def

2 1 2 {/xchart9 exch def %xchart9=0,3

xchart9 0 eq {/ynorW1 1.000 def  /ynorZ1 0.1800 def /ynorN1 0.001 def
               /ycon (>288:1) def /yconsh 0.000 def} if
xchart9 1 eq {/ynorW1 0.900 def  /ynorZ1 0.1800 def /ynorN1 0.036 def
               /ycon (=25:1) def  /yconsh 0.060 def} if
xchart9 2 eq {/ynorW1 0.720 def  /ynorZ1 0.1800 def /ynorN1 0.045 def
               /ycon (=16:1) def  /yconsh 0.045 def} if
xchart9 3 eq {/ynorW1 0.540 def  /ynorZ1 0.1800 def /ynorN1 0.060 def
               /ycon (=9:1) def   /yconsh 0.060 def} if

gsave

72 90 translate

0.010 MM dup scale

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

40 setlinewidth
/ymax1 08550 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
(fge80-7R_R) show
%xchart 1 add cvishow0
} if %xbtex0=1

/kchartl 1 def

0 1 3 {/xchartl exch def %xchartl=0,3

20 setlinewidth

  xchartl   0 eq {  100 04480 translate} if
  xchartl   1 eq { 6150 04480 translate} if
  xchartl   2 eq {  100 00220 translate} if
  xchartl   3 eq { 6150 00220 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 {(fge80-) show}{(fge81-) show} ifelse
xchartl 1 add cvishow0
(a) show %a

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
%(fge80-7R_R) show

%xchart4=2 default

%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

/XN000 XW 0.0001 mul def %100->0.01
/YN000 YW 0.0001 mul def
/ZN000 ZW 0.0001 mul def
/SUM XN000 YN000 add ZN000 add 0.0001 add def
/XAN000 XN000 SUM div def
/YAN000 YN000 SUM div def
/ZAN000 ZN000 SUM div def

/XU018 XW 0.18 mul def %100->18.0
/YU018 YW 0.18 mul def
/ZU018 ZW 0.18 mul def
/SUM XU018 YU018 add ZU018 add 0.0001 add def
/XAU018 XU018 SUM div def
/YAU018 YU018 SUM div def
/ZAU018 ZU018 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 [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)   (U)
          ] 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

%****************************************************************
%definitions necessary for many calculations
%different for xchart4=0 to 7
%STOP0
%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
%STOP0A
%********************************************************************
%/proz_grap_CAB2_Y {%BEG proz_grap_CAB2_Y
%only for graphics xchart4=2,3


%only for ynor=1 either no or yes (default)

/fakt 20 def

%section BEG for proz_paramV necessary
%proz_paramV

proz_table

proz_paramV

%STOPX

%********************************************************************
/proz_grap_CAB2_Y {%BEG proz_grap_CAB2_Y
%only for graphics xchart4=2,3

/xtrans2_3 4050 def
/ytrans2_3 1600 def
xtrans2_3 ytrans2_3 translate

%red cylinder CAB=74
TBL
0 0 1 setrgbcolor
[100] 0 setdash
xchart* 0 eq {%xchart*=0
              074 fakt mul 010 fakt mul moveto
              074 fakt mul 054 fakt mul lineto stroke
              074 fakt mul 065 fakt mul moveto
              074 fakt mul 108 fakt mul lineto stroke
             }
             {%xchart*=1
              074 fakt mul 108 fakt mul moveto
              074 fakt mul 015 fakt mul lineto stroke
             } ifelse %xchart*=0,1

-74 fakt mul 108 fakt mul moveto
-74 fakt mul 000 fakt mul lineto stroke
 74 fakt mul 002 add 112 fakt mul moveto (74) show
-74 fakt mul 100 sub 112 fakt mul moveto (-74) show

0 setgray
-074 fakt mul 200 add 112 fakt mul         moveto (Parameter:) show
-074 fakt mul 200 add 112 fakt mul 200 sub moveto
xchart7 0 eq {TBIS (Y) show xcol10_BL} if
xchart7 1 eq {TBIS (L*) show TBLCIE xcol10_BL} if
xchart7 2 eq {TBIS (L*) show TBLCIr xcol10_BL} if
xchart7 3 eq {TBIS (L*) show TBLTUr xcol10_BL} if
xchart7 4 eq {TBIS (L*) show TBLTAr xcol10_BL} if
TBL ( & name) showen
    ( & Name) showde

-074 fakt mul 200 add 112 fakt mul 400 sub moveto 
TBIL (Y) show TBVr TBL (=) show
TBIL (Y/) show TBL (18, ) show

-074 fakt mul 200 add 112 fakt mul 600 sub moveto
TBIL (L') show TBL (=) show TBIL (L*) show TBL (-50) show

xcharts 2 eq {%Y*-Skala
              0 1 0 setrgbcolor
              -350 102 fakt mul moveto TBS (  65) show
              -350  54 fakt mul moveto TBS (    0) show 
              -350 -10 fakt mul moveto TBS (-65) 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  -100 moveto 0 2400  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) (0) (50)] def
/yt10x [()   ( ) (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
        -0950 i 1000 mul add
              -140 xcharts 1 ge {1000 add} if moveto
              xcharts 0 eq {TBL xt10x i get show} if
              xcharts 1 eq {TBL xt11x i get show} if
              xcharts 2 eq {TBL xt12x i get show} if
        i 2 eq {1500 0 xcharts 1 ge {1000 add} if moveto
                -100 -200 330 add 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 xchart* 0 eq {80 add} if
              } if 
       i 2 eq {015 add} if moveto
       xcharts 0 eq {TBL yt10x i get show} if
       xcharts 1 eq {TBL yt11x i get show} if
       xcharts 2 eq {TBL yt12x i get show} if
       i 2 eq {50 2220 moveto 
               xchart* 0 eq {%xchart*=0
               xchart7 0 eq {TBIS (Y) show xcol10_BL} if
               xchart7 1 eq {TBIS (L') show TBLCIE xcol10_BL} if
               xchart7 2 eq {TBIS (L') show TBLCIr xcol10_BL} if
               xchart7 3 eq {TBIS (L') show TBLTUr xcol10_BL} if
               xchart7 4 eq {TBIS (L') show TBLTAr xcol10_BL} if
                            } %xchart*=0
                            { %xchart*=1
               xchart7 0 eq {TBIS (Y) show xcol10_BL} if
               xchart7 1 eq {TBIS (L*) show TBLCIE xcol10_BL} if
               xchart7 2 eq {TBIS (L*) show TBLCIr xcol10_BL} if
               xchart7 3 eq {TBIS (L*) show TBLTUr xcol10_BL} if
               xchart7 4 eq {TBIS (L*) show TBLTAr xcol10_BL} if
                            } ifelse

               xcharts 1 eq {00 -50 rmoveto TBL 
                             xcolorl 1 eq {(,) show} if
%                             (a) show 00 50 rmoveto
                             TBS (=) show
               xchart7 0 eq {TBIS (Y) show xcol10_BL} if
               xchart7 1 eq {TBIS (L*) show TBLCIE xcol10_BL} if
               xchart7 2 eq {TBIS (L*) show TBLCIr xcol10_BL} if
               xchart7 3 eq {TBIS (L*) show TBLTUr xcol10_BL} if
               xchart7 4 eq {TBIS (L*) show TBLTAr xcol10_BL} if
                             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 {100 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

/vorp 10 array def
%      0  1  2  3  4  5  6  7  8
%      Rm Ym Gm Cm Bm Mm W  N  U]
/vorp [1  1  -1 -1 -1 1  1  1  1] def

xchart5 0 eq {/jp1x 1 def /jp2x 4 def} if %Y_B
xchart5 1 eq {/jp1x 0 def /jp2x 3 def} if %R_C
xchart5 2 eq {/jp1x 2 def /jp2x 5 def} if %G_M

/proz_fill_toY {%BEG proz_fill_toY
                colCGoi    6 get fakt mul 
                colYoi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colYoi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colYoi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colYoi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colYoi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colYoi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colYoi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colYoi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colYoi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colYoi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colYoi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colYoi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colYoi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colYoi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toY

/proz_fill_t1Y {%BEG proz_fill_t1Y
                colCG1i    6 get fakt mul 
                colY1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colY1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colY1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colY1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colY1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colY1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colY1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colY1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colY1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colY1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colY1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colY1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colY1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colY1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Y

/proz_fill_toL* {%BEG proz_fill_toL*
                colCGoi    6 get fakt mul 
                colL*oi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colL*oi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colL*oi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colL*oi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colL*oi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colL*oi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colL*oi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colL*oi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colL*oi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colL*oi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colL*oi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colL*oi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colL*oi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colL*oi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toL*

/proz_fill_t1L* {%BEG proz_fill_t1L*
                colCG1i    6 get fakt mul 
                colL*1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colL*1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colL*1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colL*1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colL*1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colL*1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colL*1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colL*1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colL*1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colL*1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colL*1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colL*1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colL*1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colL*1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1L*

/proz_fill_toLr {%BEG proz_fill_toLr
                colCGoi    6 get fakt mul 
                colLroi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colLroi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colLroi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colLroi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colLroi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colLroi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colLroi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colLroi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colLroi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colLroi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colLroi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colLroi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colLroi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colLroi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toLr

/proz_fill_t1Lr {%BEG proz_fill_t1Lr
                colCG1i    6 get fakt mul 
                colLr1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colLr1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colLr1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colLr1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colLr1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colLr1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colLr1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colLr1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colLr1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colLr1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colLr1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colLr1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colLr1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colLr1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Lr

/proz_fill_toTr {%BEG proz_fill_toTr
                colCGoi    6 get fakt mul 
                colTroi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTroi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colTroi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colTroi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTroi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colTroi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTroi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTroi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTroi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTroi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTroi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTroi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTroi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTroi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toTr

/proz_fill_t1Tr {%BEG proz_fill_t1Tr
                colCG1i    6 get fakt mul 
                colTr1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTr1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colTr1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colTr1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTr1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colTr1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTr1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTr1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTr1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTr1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTr1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTr1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTr1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTr1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Tr

/proz_fill_toTa {%BEG proz_fill_toTa
                colCGoi    6 get fakt mul 
                colTaoi    6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTaoi jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colTaoi    7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colTaoi jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTaoi jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colTaoi jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTaoi  jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTaoi  jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTaoi  jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTaoi  jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTaoi  jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTaoi  jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTaoi  jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTaoi  jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toTa

/proz_fill_t1Ta {%BEG proz_fill_t1Ta
                colCG1i    6 get fakt mul 
                colTa1i    6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTa1i jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colTa1i    7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colTa1i jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTa1i jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colTa1i jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTa1i  jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTa1i  jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTa1i  jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTa1i  jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTa1i  jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTa1i  jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTa1i  jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTa1i  jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Ta

0 1 1 {/jp exch def %jp=0,1
       TBL
       jp 0 eq {%jp=0
                [] 0 setdash
                1 0 0 setrgbcolor                
                xchart7 0 eq {proz_fill_toY} if
                xchart7 1 eq {proz_fill_toL*} if
                xchart7 2 eq {proz_fill_toLr} if
                xchart7 3 eq {proz_fill_toTr} if
                xchart7 4 eq {proz_fill_toTa} if
               } if %jp=0

       jp 1 eq {%jp=1
                [100] 0 setdash
                0 1 0 setrgbcolor
                xchart7 0 eq {proz_fill_t1Y} if
                xchart7 1 eq {proz_fill_t1L*} if
                xchart7 2 eq {proz_fill_t1Lr} if
                xchart7 3 eq {proz_fill_t1Tr} if
                xchart7 4 eq {proz_fill_t1Ta} if
               } if %jp=1
      } for %jp=0,1

[ ] 0 setdash
0 setgray

xtrans2_3 neg ytrans2_3 neg translate

} bind def %END proz_graph_CAB2_Y

%********************************************************************
%only for graphics xchart4=2,3
%STOP3
xchart4 2 eq
xchart4 3 eq or {%xchart4=2,3 only for (CAB2,Y)
                 proz_grap_CAB2_Y
                } if %xchart4=0,1 only for (CAB2,Y)

%********************************************************************
grestore %end because of clip

%} for %jnor=0,1

grestore

  xchartl    0 eq {  100 neg 04480 neg translate} if
  xchartl    1 eq { 6150 neg 04480 neg translate} if
  xchartl    2 eq {  100 neg 00220 neg translate} if
  xchartl    3 eq { 6150 neg 00220 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,3

%} for %xcolorl=0,0

showpage
grestore

} for %xchart9=0,3

%%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 fge81-4N
%%BoundingBox: 70 85 246 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

/ioutx 0 def
ioutx 1 eq {%ioutx=1

4 /Times-Roman FS
72 86 moveto
     (fge81-4N) show

72 90 translate

0.01 MM dup scale
20 setlinewidth
/xwidth 6100 def
/ywidth 4000 def
1 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath fill
0 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath stroke

} if %ioutx=1

grestore
showpage

%%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 fge81-5N
%%BoundingBox: 70 85 246 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

/ioutx 0 def
ioutx 1 eq {%ioutx=1

4 /Times-Roman FS
72 86 moveto
     (fge81-5N) show

72 90 translate

0.01 MM dup scale
20 setlinewidth
/xwidth 6100 def
/ywidth 4000 def
1 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath fill
0 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath stroke

} if %ioutx=1

grestore
showpage

%%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 fge81-6N
%%BoundingBox: 70 85 246 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

/ioutx 0 def
ioutx 1 eq {%ioutx=1

4 /Times-Roman FS
72 86 moveto
     (fge81-6N) show

72 90 translate

0.01 MM dup scale
20 setlinewidth
/xwidth 6100 def
/ywidth 4000 def
1 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath fill
0 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath stroke

} if %ioutx=1

grestore
showpage

%%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 fge81-7n
%%BoundingBox: 70 85 421 335

%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/fge8/fge8.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 pdfmark03
[ /View [ /Fit ]
/DOCVIEW pdfmark03
%END  PDFDE011

%SETCMYK_OLV.PS
/setcmyk_olvcolor %transfer cmyk to olv
{/ncolor exch def /ycolor exch def
 /mcolor exch def /ccolor exch def
 ncolor 0 eq {1 ccolor sub
              1 mcolor sub
              1 ycolor sub setrgbcolor
             }
             {ccolor 0 eq 
              mcolor 0 eq and
              ycolor 0 eq and {%only black n
                               1 ncolor sub 
                               dup
                               dup
                               setrgbcolor
                              }
                              {%cmy and black n
                               1 ccolor sub 1 ncolor sub mul
                               1 mcolor sub 1 ncolor sub mul
                               1 ycolor sub 1 ncolor sub mul
                               setrgbcolor
                              } ifelse
             } ifelse
} bind def

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def /str {8 string } bind def

/languagelevel where {pop languagelevel} {1} ifelse
                     /PSL12 exch def
/dictende {counttomark 2 idiv dup dict begin {def}
           repeat pop currentdict end} bind def

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

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

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

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

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

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

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

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

/TG   {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

/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  190 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
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
TBIL (B) show 0 -50 rmoveto TBV (c) 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 210 def

0 setgray
x0p y0p y0d 0 mul sub moveto
TBL
(6 ) show
TBIL (Ostwald) show
TBL
(\255Farben (o), ) showde                                       %0fge81-7 02581
( colours (o), ) showen                                         %1fge81-7 02581
( colores (o), ) showes                                         %2fge81-7 02581
( couleurs (o), ) showfr                                        %3fge81-7 02581
( colori (o), ) showit                                          %4fge81-7 02581
( colours (o), ) showjp                                         %5fge81-7 02581
TBIL (C) show TBV 0 -60 rmoveto (AB,2) show 0 60 rmoveto xcol10KBV
TBL (=const) show


xchart4 0 eq
xchart4 1 eq or {%xchart4=0,1
x0p y0p y0d 1 mul sub moveto
TBL
(in der Normfarbtafel) showde                                   %0fge81-7 04581
(chromaticity diagram) showen                               %1fge81-7 04581
(en el diagrama de chromaticidad) showes                        %2fge81-7 04581
(dans le diagramme de chromaticit\351) showfr                   %3fge81-7 04581
(nel diagramma di cromaticit\340) showit                        %4fge81-7 04581
(the chromaticity diagram) showjp                               %5fge81-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
x0p y0p y0d 1 mul sub moveto
TBL
(Farbenraum ) showde                                %0fge81-7 06581
(colour space ) showea                                   %1fge81-7 06581
TBL (\050) show TBIL (C) show
TBV 0 -50 rmoveto (AB,2) show 0 50 rmoveto xcol10KBV

TBIL
xchart7 0 eq {(, Y) show} if
xchart7 1 eq {(, L*) show TBVCIE} if
xchart7 2 eq {(, L*) show TBVCIr} if
xchart7 3 eq {(, L*) show TBVTUr} if
xchart7 4 eq {(, L*) show TBVTAr} if
xcol10_BV TBL (\051) show

x0p y0p y0d 2 mul sub moveto
TBIL
xchart7 0 eq {(Y) show TBL (=18) show 
              TBIL (Y) show TBVr} if

xchart7 1 eq {(L*) show TBVCIE
              TBL (=116\050) show TBIL (Y/) show TBL (100\051) show
              TBV 0 80 rmoveto (1/3) show 0 -80 rmoveto TBL (-16) show
              TBIV (  \050Y) show TBV (>=0,8856\051) show
              TBL ( or) showen ( oder) showde

              x0p y0p y0d 3 mul sub moveto
              TBIL (L*) show TBVCIE TBL (=116[(841/108)) show
               TBIL (\050Y/) show TBL (100\051+4/29]-16) show
             } if

xchart7 2 eq {(L*) show TBVCIr
              TBL (=) show TBIL (L*) show TBVCIE TBIL ((Y) / ) show
                           TBIL (L*) show TBVCIE TBIL ((18)) show} if

xchart7 3 eq {(L*) show TBVTUr
              TBL (=50 + 40[) show TBIL (Y) show TBLr TBL (/log(5)]) show} if

xchart7 4 eq {%xchart7=4
              /eexp {TBV 0 80 rmoveto  (x) show 0 -80 rmoveto TBL} def
              /eexn {TBV 0 80 rmoveto (-x) show 0 -80 rmoveto TBL} def 
              (L*) show TBVTAr
              TBL (=50 + 50[e) show eexp TBL (+e) show eexn TBL (]/[) show
                       TBL (e) show eexp TBL (+e) show eexp TBL (]) show

              x0p y0p y0d 3 mul sub moveto
              TBIL (Y) show TBVr TBL (=) show
              TBIL (Y) show TBL (/18,  ) show

              TBIL (x) show TBL (= log[) show
              TBIL (Y) show TBVr TBL (]) show
             } if %xchart7=4

             } if %xchart4=2,3

xchart4 4 eq 
xchart4 5 eq or {%xchart4=4,5
TBL
(Buntwertdiagramm) showde                                    %0fge81-7 08581
(chromatic value diagram) showen                                %1fge81-7 08581
(en el diagrama valor crom\341tico) showes                      %2fge81-7 08581
(dans la valeur chromatique le diagramme) showfr                %3fge81-7 08581
(nel diagramma di valore cromatico) showit                      %4fge81-7 08581
(chromatic value diagram) showjp                                %5fge81-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                                     %0fge81-7 10581
(chromatic value diagram) showen                                 %1fge81-7 10581
(en el diagrama croma) showes                                   %2fge81-7 10581
(dans le diagramme de chroma) showfr                            %3fge81-7 10581
(nel diagramma di chroma) showit                                %4fge81-7 10581
(chromactic value diagram) showjp                               %5fge81-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                                     %0fge81-7 11581
(chromatic value diagram) showen                                %1fge81-7 11581
(en el diagrama croma) showes                                   %2fge81-7 11581
(dans le diagramme de chroma) showfr                            %3fge81-7 11581
(nel diagramma di chroma) showit                                %4fge81-7 11581
(chromatic value diagram) showjp                                %5fge81-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 4 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 cvsshow1

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

} bind def %proz_paramV

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

/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

/TBVo    {TBV 0 -50 rmoveto (o) show 0 50 rmoveto TL} def
/TBV2    {TBV 0 -50 rmoveto (2) show 0 50 rmoveto TL} def
/TBVAB,2 {TBV 0 -50 rmoveto (AB,2) show 0 50 rmoveto TL} def
/TBVab,2 {TBV 0 -50 rmoveto (AB,2) show 0 50 rmoveto TL} def

/TBWo    {TBW 0 -50 rmoveto (o) show 0 50 rmoveto TV} def
/TBW2    {TBW 0 -50 rmoveto (2) show 0 50 rmoveto TV} def
/TBWAB,2 {TBW 0 -50 rmoveto (AB,2) show 0 50 rmoveto TV} def
/TBWab,2 {TBW 0 -50 rmoveto (AB,2) show 0 50 rmoveto TV} def

xchart* 0 eq {/xtr -20 def}{/xtr -60 def} ifelse
/TBLr    {TBL 0 -50 rmoveto (r)   show 0 50 rmoveto TS} def
/TBLCIE  {TBL xtr -50 rmoveto (CIE) show 0 50 rmoveto TS} def
/TBLCIr  {TBL xtr -50 rmoveto (CIr) show 0 50 rmoveto TS} def
/TBLTUr  {TBL xtr -50 rmoveto (TUr) show 0 50 rmoveto TS} def
/TBLTAr  {TBL xtr -50 rmoveto (TAr) show 0 50 rmoveto TS} def

/TBVr    {TBV 0 -50 rmoveto (r)   show 0 50 rmoveto TL} def
/TBVCIE  {TBV xtr -50 rmoveto (CIE) show 0 50 rmoveto TL} def
/TBVCIr  {TBV xtr -50 rmoveto (CIr) show 0 50 rmoveto TL} def
/TBVTUr  {TBV xtr -50 rmoveto (TUr) show 0 50 rmoveto TL} def
/TBVTAr  {TBV xtr -50 rmoveto (TAr) show 0 50 rmoveto TL} def

/TBWr   {TBW 0 -50 rmoveto   (r)   show 0 50 rmoveto TV} def
/TBWCIE {TBW xtr -50 rmoveto (CIE) show 0 50 rmoveto TV} def
/TBWCIr {TBW xtr -50 rmoveto (CIr) show 0 50 rmoveto TV} def
/TBWTUr {TBW xtr -50 rmoveto (TUr) show 0 50 rmoveto TV} def
/TBWTAr {TBW xtr -50 rmoveto (TAr) show 0 50 rmoveto TV} def

/xti 9 array def
%     0    1    2    3    4    5    6    7    8
%     Name rang xti  Yti  Zti  x    y    ld   lp
/xti [0025 0200 0625 0925 1245 1525 1825 2080 2310] def

/xta 12 array def
%     0    1    2    3    4    5    6    7     8    9    10   11
%xchart*=0:
%     a2   b2   c2   A2   B2   CAB2 HAB2 Yr    L'Ci L'Cr L'Tr L'Ta
%xchart*=1:
%     a2   b2   c2   A2   B2   CAB2 HAB2 Yr    L*Ci L*Cr L*Tr L*Ta
/xta [2500 2800 3200 3500 3800 4100 4350 4600  4850 5150 5400 5700] def

/ytax 1200 def
/ydt 140 def
/ydy 160 def

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

xta 00 get 020 add ytax ydy add moveto TBIV (a) show TBW2    xcol10KBW
xta 01 get 020 add ytax ydy add moveto TBIV (b) show TBW2    xcol10KBW
xta 02 get 020 add ytax ydy add moveto TBIV (c) show TBW2    xcol10KBW
xta 03 get 020 add ytax ydy add moveto TBIV (A) show TBW2    xcol10KBW
xta 04 get 020 add ytax ydy add moveto TBIV (B) show TBW2    xcol10KBW
xta 05 get 050 sub ytax ydy add moveto TBIV (C) show TBWAB,2 xcol10KBW
xta 06 get 050 sub ytax ydy add moveto TBIV (h) show TBWab,2 xcol10KBW
xta 07 get 020 add ytax ydy add moveto TBIV (Y)  show TBWr   xcol10KBW
xchart* 0 eq {%xchart*=0
xta 08 get 050 sub ytax ydy add moveto TBIV (L') show TBWCIE xcol10KBW
xta 09 get 050 sub ytax ydy add moveto TBIV (L') show TBWCIr xcol10KBW
xta 10 get 050 sub ytax ydy add moveto TBIV (L') show TBWTUr xcol10KBW
xta 11 get 050 sub ytax ydy add moveto TBIV (L') show TBWTAr xcol10KBW
             } if %xchart*=0
xchart* 1 eq {%xchart*=1
xta 08 get 050 sub ytax ydy add moveto TBIV (L*) show TBWCIE xcol10KBW
xta 09 get 050 sub ytax ydy add moveto TBIV (L*) show TBWCIr xcol10KBW
xta 10 get 050 sub ytax ydy add moveto TBIV (L*) show TBWTUr xcol10KBW
xta 11 get 050 sub ytax ydy add moveto TBIV (L*) show TBWTAr xcol10KBW
             } if %xchart*=1
%STOP1a

/colXoi  9 array def
/colYoi  9 array def
/colZoi  9 array def
/colXAoi 9 array def
/colYAoi 9 array def
/colZAoi 9 array def

/colAKoi 9 array def
/colBKoi 9 array def
/colCKoi 9 array def
/colAGoi 9 array def
/colBGoi 9 array def
/colCGoi 9 array def
/colHGoi 9 array def

/colYroi 9 array def
/colL*oi 9 array def
/colLroi 9 array def
/colTroi 9 array def
/colTaoi 9 array def

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

/wnori 4 array def
/nnori 4 array def
/unori 4 array def
/cnori 4 array def

%xchart9 0     1      2      3
/wnori [1.0000 0.9000 0.7200 0.5400] def
/nnori [0.0001 0.0360 0.0450 0.0600] def
/unori [0.1800 0.1800 0.1800 0.1800] def
/cnori [(>288:1)(25:1) (16:1) (9:1)] def

%XYZoi 6:W, 7:N, 8:Z
colXoi 6 XW100 wnori 0 get mul put
colYoi 6 YW100 wnori 0 get mul put
colZoi 6 ZW100 wnori 0 get mul put

colXoi 7 XW100 nnori 0 get mul put
colYoi 7 YW100 nnori 0 get mul put
colZoi 7 ZW100 nnori 0 get mul put

colXoi 8 XW100 unori 0 get mul put
colYoi 8 YW100 unori 0 get mul put
colZoi 8 ZW100 unori 0 get mul put

0 1 8 {/jp exch def %jp=0,8
       /SUM colXoi jp get
            colYoi jp get add
            colZoi jp get add 0.0001 add def
       colXAoi jp colXoi jp get SUM div put
       colYAoi jp colYoi jp get SUM div put
       colZAoi jp colZoi jp get SUM div put
      } for %jp=0,8

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

/a20  1.0 def
/b20 -0.4 def

/xc 0.110 def

/Ac 1.000 def
/Bc Bci xchartl get def %4 different Bc defined by xchartl

/A2G 2.50 def
/B2G 2.50 def

/asig 1.00 def
/bsig 1.00 def
/esig 2.718282 def

/jp 6 def
colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
colL*oi jp
colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse
/jp 7 def
colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
colL*oi jp
colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse
/jp 8 def
colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
colL*oi jp
colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse
%STOPAA
0 1 8 {/jp exch def %jp=0,8
       colAKoi jp colXAoi jp get xc sub colYAoi jp get div a20 mul put
       colBKoi jp colZAoi jp get        colYAoi jp get div b20 mul Bc mul put
       colCKoi jp colAKoi jp get colAKoi 6 get sub dup mul
                  colBKoi jp get colBKoi 6 get sub dup mul add 0.0001 add
                  sqrt put
       colAGoi jp colAKoi jp get        colAKoi  6 get sub
                  colYoi  jp get mul A2G mul put
       colBGoi jp colBKoi jp get        colBKoi  6 get sub
                  colYoi  jp get mul B2G mul put
       colCGoi jp colAGoi jp get dup mul
                  colBGoi jp get dup mul add sqrt put
       colHGoi jp colBGoi jp get colAGoi jp get 0.00001 add atan put

       colYroi jp colYoi  jp get colYoi 8 get div put
       colL*oi jp
       colYoi jp get 0.8856 ge {colYoi jp get 100 div 0.00001 add 0.3333 exp
                                116 mul 16 sub put}
                           {colYoi jp get 100 div 841 mul 108 div 4 29 div add
                                116 mul 16 sub put} ifelse
       colLroi jp colL*oi jp get colL*oi 8 get div 50 mul put

       colTroi jp colYroi jp get log 5 log div 40 mul 50 add put
       /xr colYroi jp get log asig div def
       colTaoi jp esig xr exp esig xr neg exp sub
                  esig xr exp esig xr neg exp add div bsig mul
                  50 mul 50 add put
      } for %jp=0,8

%for all further calculations and graphics
gsave


%col(XYZ)1i, col(XYZ)A1i

/colX1i  9 array def
/colY1i  9 array def
/colZ1i  9 array def
/colXA1i 9 array def
/colYA1i 9 array def
/colZA1i 9 array def

/colAK1i 9 array def
/colBK1i 9 array def
/colCK1i 9 array def
/colAG1i 9 array def
/colBG1i 9 array def
/colCG1i 9 array def
/colHG1i 9 array def

/colYr1i 9 array def
/colL*1i 9 array def
/colLr1i 9 array def
/colTr1i 9 array def
/colTa1i 9 array def

0 1 2 {/jp exch def %jp=0,2
       /jp3 jp 3 add def
       colX1i jp colXoi jp  get wnori xchart9 get mul 
                 colXoi jp3 get nnori xchart9 get mul add put
       colY1i jp colYoi jp  get wnori xchart9 get mul
                 colYoi jp3 get nnori xchart9 get mul add put
       colZ1i jp colZoi jp  get wnori xchart9 get mul
                 colZoi jp3 get nnori xchart9 get mul add put
      } for %jp=0,2

3 1 5 {/jp exch def %jp=3,5
       /jp3 jp 3 sub def
       colX1i jp colXoi jp  get wnori xchart9 get mul
                 colXoi jp3 get nnori xchart9 get mul add put

       colY1i jp colYoi jp  get wnori xchart9 get mul
                 colYoi jp3 get nnori xchart9 get mul add put
       colZ1i jp colZoi jp  get wnori xchart9 get mul
                 colZoi jp3 get nnori xchart9 get mul add put
      } for %jp=3,5

%XYZoi 6:W, 7:N, 8:Z
colX1i 6 colXoi 6 get wnori xchart9 get mul put
colY1i 6 colYoi 6 get wnori xchart9 get mul put
colZ1i 6 colZoi 6 get wnori xchart9 get mul put

colX1i 7 colXoi 6 get nnori xchart9 get mul put
colY1i 7 colYoi 6 get nnori xchart9 get mul put
colZ1i 7 colZoi 6 get nnori xchart9 get mul put

colX1i 8 colXoi 6 get unori xchart9 get mul put
colY1i 8 colYoi 6 get unori xchart9 get mul put
colZ1i 8 colZoi 6 get unori xchart9 get mul put

%STOP2
0 1 8 {/jp exch def %jp=0,8
       /SUM colX1i jp get
            colY1i jp get add
            colZ1i jp get add 0.0001 add def
       colXA1i jp colX1i jp get SUM div put
       colYA1i jp colY1i jp get SUM div put
       colZA1i jp colZ1i jp get SUM div put
      } for %jp=0,8

/XANK colXA1i 6 get def
/YANK colYA1i 6 get def
/ZANK colZA1i 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

/jp 6 def
colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
colL*1i jp
colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse

/jp 7 def
colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
colL*1i jp
colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse

/jp 8 def
colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
colL*1i jp
colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                         116 mul 16 sub put}
                        {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                         116 mul 16 sub put} ifelse

0 1 8 {/jp exch def %jp=6,8 WNZ
       colAK1i jp colXA1i jp get xc sub colYA1i jp get div a20 mul put
       colBK1i jp colZA1i jp get        colYA1i jp get div b20 mul Bc mul put
       colCK1i jp colAK1i jp get colAK1i 6 get sub dup mul
                  colBK1i jp get colBK1i 6 get sub dup mul add 0.0001 add
                  sqrt put
       colAG1i jp colAK1i jp get       colAK1i  6 get sub 
                  colY1i  jp get mul A2G mul put
       colBG1i jp colBK1i jp get       colBK1i  6 get sub
                  colY1i  jp get mul B2G mul put
       colCG1i jp colAG1i jp get dup mul
                  colBG1i jp get dup mul add sqrt put
       colHG1i jp colBG1i jp get colAG1i jp get 0.00001 add atan put

       colYr1i jp colY1i  jp get colY1i 8 get div put
       colL*1i jp
       colY1i jp get 0.8856 ge {colY1i jp get 100 div 0.00001 add 0.3333 exp
                                116 mul 16 sub put}
                            {colY1i jp get 100 div 841 mul 108 div 4 29 div add
                                116 mul 16 sub put} ifelse
       colLr1i jp colL*1i jp get colL*1i 8 get div 50 mul put
       colTr1i jp colYr1i jp get log 5 log div 40 mul 50 add put
       /xr colYr1i jp get log asig div def
       colTa1i jp esig xr exp esig xr neg exp sub
                  esig xr exp esig xr neg exp add div bsig mul
                  50 mul 50 add put

      } for %jp=6,8 WNZ
%STOPABC
%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 jp 5 le {(o) show}{(d) show} ifelse 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 colX1i  jp get cvsshow2
       xti 3 get ytaxa moveto colY1i  jp get cvsshow2
       xti 4 get ytaxa moveto colZ1i  jp get cvsshow2

       xti 5 get ytaxa moveto colXA1i jp get cvsshow3
       xti 6 get ytaxa moveto colYA1i jp get cvsshow3

       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

       xta 00 get ytaxa moveto colAK1i  jp get cvsshow3
       xta 01 get ytaxa moveto colBK1i  jp get cvsshow3
       xta 02 get ytaxa moveto colCK1i  jp get cvsshow3
       xta 03 get ytaxa moveto colAG1i  jp get cvsshow1
       xta 04 get ytaxa moveto colBG1i  jp get cvsshow1
       xta 05 get ytaxa moveto colCG1i  jp get cvsshow1
       xta 06 get ytaxa moveto colHG1i  jp get cvishow0
       xta 07 get ytaxa moveto colYr1i  jp get cvsshow2
       xchart* 0 eq {%xchart*=0
       xta 08 get ytaxa moveto colL*1i  jp get 50 sub cvsshow1
       xta 09 get ytaxa moveto colLr1i  jp get 50 sub cvsshow1
       xta 10 get ytaxa moveto colTr1i  jp get 50 sub cvsshow1
       xta 11 get ytaxa moveto colTa1i  jp get 50 sub cvsshow1
                    } if %xchart*=0
       xchart* 1 eq {%xchart*=1
       xta 08 get ytaxa moveto colL*1i  jp get cvsshow1
       xta 09 get ytaxa moveto colLr1i  jp get cvsshow1
       xta 10 get ytaxa moveto colTr1i  jp get cvsshow1
       xta 11 get ytaxa moveto colTa1i  jp get cvsshow1
                    } if %xchart*=1
} 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
/a.psi   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
        a.psi i xcolorl 0 eq {F02EZ} {F10EZ} ifelse
              34 i add get YKSUM div 100 mul put
        /SUM XEZi i get
             YEZi i get add
             a.psi 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 a.psi 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

%***********************************************
/xcharts 0 def %0:0_100, 1:-50,50 (s=Y-scale), default=0

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

/xchart5 1 def %0:Y_B, 1:R_C, 2:G_M, default=0

/xchart6 1 def %0:C_Y,0_100, 1:C-Y,3.6_90, 2:L*CIE, 3:L*CIEr, 4:L*TUBr

/xchart7 3 def %0:Y, 1:L*CIE, 2:L*CIr, 3:L*TUr, 4:L*TAr, default=0

/xchart8 1 def %0:Pxx, 1:Dxx, default=1

/xchart9 3 def %0:C>288, 1:C=25:1, 2:C=16:1, 3:C=9:1, default=1

/xcolorl 0 def %0: CIE-02, 1: CIE-10, default=0

/xchartl 1 def %0:D65, 1:D50, 2:P40, 3:A00, default=1

/xchart* 1 def %0:L'=L*-50, 1:L*
%*********************************************
/TELi 8 array def
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

/ynorW0 1.000 def /ynorZ0 0.1800 def /ynorN0 0.001 def

3 1 3 {/xchart9 exch def %xchart9=0,3

xchart9 0 eq {/ynorW1 1.000 def  /ynorZ1 0.1800 def /ynorN1 0.001 def
               /ycon (>288:1) def /yconsh 0.000 def} if
xchart9 1 eq {/ynorW1 0.900 def  /ynorZ1 0.1800 def /ynorN1 0.036 def
               /ycon (=25:1) def  /yconsh 0.060 def} if
xchart9 2 eq {/ynorW1 0.720 def  /ynorZ1 0.1800 def /ynorN1 0.045 def
               /ycon (=16:1) def  /yconsh 0.045 def} if
xchart9 3 eq {/ynorW1 0.540 def  /ynorZ1 0.1800 def /ynorN1 0.060 def
               /ycon (=9:1) def   /yconsh 0.060 def} if

gsave

72 90 translate

0.010 MM dup scale

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

40 setlinewidth
/ymax1 08550 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
(fge80-7R_R) show
%xchart 1 add cvishow0
} if %xbtex0=1

/kchartl 1 def

0 1 3 {/xchartl exch def %xchartl=0,3

20 setlinewidth

  xchartl   0 eq {  100 04480 translate} if
  xchartl   1 eq { 6150 04480 translate} if
  xchartl   2 eq {  100 00220 translate} if
  xchartl   3 eq { 6150 00220 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 {(fge80-) show}{(fge81-) show} ifelse
xchartl 5 add cvishow0
(a) show %a

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
%(fge80-7R_R) show

%xchart4=2 default

%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

/XN000 XW 0.0001 mul def %100->0.01
/YN000 YW 0.0001 mul def
/ZN000 ZW 0.0001 mul def
/SUM XN000 YN000 add ZN000 add 0.0001 add def
/XAN000 XN000 SUM div def
/YAN000 YN000 SUM div def
/ZAN000 ZN000 SUM div def

/XU018 XW 0.18 mul def %100->18.0
/YU018 YW 0.18 mul def
/ZU018 ZW 0.18 mul def
/SUM XU018 YU018 add ZU018 add 0.0001 add def
/XAU018 XU018 SUM div def
/YAU018 YU018 SUM div def
/ZAU018 ZU018 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 [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)   (U)
          ] 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

%****************************************************************
%definitions necessary for many calculations
%different for xchart4=0 to 7
%STOP0
%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
%STOP0A
%********************************************************************
%/proz_grap_CAB2_Y {%BEG proz_grap_CAB2_Y
%only for graphics xchart4=2,3


%only for ynor=1 either no or yes (default)

/fakt 20 def

%section BEG for proz_paramV necessary
%proz_paramV

proz_table

proz_paramV

%STOPX

%********************************************************************
/proz_grap_CAB2_Y {%BEG proz_grap_CAB2_Y
%only for graphics xchart4=2,3

/xtrans2_3 4050 def
/ytrans2_3 1600 def
xtrans2_3 ytrans2_3 translate

%red cylinder CAB=74
TBL
0 0 1 setrgbcolor
[100] 0 setdash
xchart* 0 eq {%xchart*=0
              074 fakt mul 010 fakt mul moveto
              074 fakt mul 054 fakt mul lineto stroke
              074 fakt mul 065 fakt mul moveto
              074 fakt mul 108 fakt mul lineto stroke
             }
             {%xchart*=1
              074 fakt mul 108 fakt mul moveto
              074 fakt mul 015 fakt mul lineto stroke
             } ifelse %xchart*=0,1

-74 fakt mul 108 fakt mul moveto
-74 fakt mul 000 fakt mul lineto stroke
 74 fakt mul 002 add 112 fakt mul moveto (74) show
-74 fakt mul 100 sub 112 fakt mul moveto (-74) show

0 setgray
-074 fakt mul 200 add 112 fakt mul         moveto (Parameter:) show
-074 fakt mul 200 add 112 fakt mul 200 sub moveto
xchart7 0 eq {TBIS (Y) show xcol10_BL} if
xchart7 1 eq {TBIS (L*) show TBLCIE xcol10_BL} if
xchart7 2 eq {TBIS (L*) show TBLCIr xcol10_BL} if
xchart7 3 eq {TBIS (L*) show TBLTUr xcol10_BL} if
xchart7 4 eq {TBIS (L*) show TBLTAr xcol10_BL} if
TBL ( & name) showen
    ( & Name) showde

-074 fakt mul 200 add 112 fakt mul 400 sub moveto 
TBIL (Y) show TBVr TBL (=) show
TBIL (Y/) show TBL (18, ) show

-074 fakt mul 200 add 112 fakt mul 600 sub moveto
TBIL (L') show TBL (=) show TBIL (L*) show TBL (-50) show

xcharts 2 eq {%Y*-Skala
              0 1 0 setrgbcolor
              -350 102 fakt mul moveto TBS (  65) show
              -350  54 fakt mul moveto TBS (    0) show 
              -350 -10 fakt mul moveto TBS (-65) 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  -100 moveto 0 2400  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) (0) (50)] def
/yt10x [()   ( ) (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
        -0950 i 1000 mul add
              -140 xcharts 1 ge {1000 add} if moveto
              xcharts 0 eq {TBL xt10x i get show} if
              xcharts 1 eq {TBL xt11x i get show} if
              xcharts 2 eq {TBL xt12x i get show} if
        i 2 eq {1500 0 xcharts 1 ge {1000 add} if moveto
                -100 -200 330 add 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 xchart* 0 eq {80 add} if
              } if 
       i 2 eq {015 add} if moveto
       xcharts 0 eq {TBL yt10x i get show} if
       xcharts 1 eq {TBL yt11x i get show} if
       xcharts 2 eq {TBL yt12x i get show} if
       i 2 eq {50 2220 moveto 
               xchart* 0 eq {%xchart*=0
               xchart7 0 eq {TBIS (Y) show xcol10_BL} if
               xchart7 1 eq {TBIS (L') show TBLCIE xcol10_BL} if
               xchart7 2 eq {TBIS (L') show TBLCIr xcol10_BL} if
               xchart7 3 eq {TBIS (L') show TBLTUr xcol10_BL} if
               xchart7 4 eq {TBIS (L') show TBLTAr xcol10_BL} if
                            } %xchart*=0
                            { %xchart*=1
               xchart7 0 eq {TBIS (Y) show xcol10_BL} if
               xchart7 1 eq {TBIS (L*) show TBLCIE xcol10_BL} if
               xchart7 2 eq {TBIS (L*) show TBLCIr xcol10_BL} if
               xchart7 3 eq {TBIS (L*) show TBLTUr xcol10_BL} if
               xchart7 4 eq {TBIS (L*) show TBLTAr xcol10_BL} if
                            } ifelse

               xcharts 1 eq {00 -50 rmoveto TBL 
                             xcolorl 1 eq {(,) show} if
%                             (a) show 00 50 rmoveto
                             TBS (=) show
               xchart7 0 eq {TBIS (Y) show xcol10_BL} if
               xchart7 1 eq {TBIS (L*) show TBLCIE xcol10_BL} if
               xchart7 2 eq {TBIS (L*) show TBLCIr xcol10_BL} if
               xchart7 3 eq {TBIS (L*) show TBLTUr xcol10_BL} if
               xchart7 4 eq {TBIS (L*) show TBLTAr xcol10_BL} if
                             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 {100 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

/vorp 10 array def
%      0  1  2  3  4  5  6  7  8
%      Rm Ym Gm Cm Bm Mm W  N  U]
/vorp [1  1  -1 -1 -1 1  1  1  1] def

xchart5 0 eq {/jp1x 1 def /jp2x 4 def} if %Y_B
xchart5 1 eq {/jp1x 0 def /jp2x 3 def} if %R_C
xchart5 2 eq {/jp1x 2 def /jp2x 5 def} if %G_M

/proz_fill_toY {%BEG proz_fill_toY
                colCGoi    6 get fakt mul 
                colYoi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colYoi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colYoi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colYoi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colYoi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colYoi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colYoi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colYoi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colYoi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colYoi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colYoi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colYoi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colYoi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colYoi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toY

/proz_fill_t1Y {%BEG proz_fill_t1Y
                colCG1i    6 get fakt mul 
                colY1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colY1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colY1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colY1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colY1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colY1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colY1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colY1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colY1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colY1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colY1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colY1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colY1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colY1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Y

/proz_fill_toL* {%BEG proz_fill_toL*
                colCGoi    6 get fakt mul 
                colL*oi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colL*oi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colL*oi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colL*oi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colL*oi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colL*oi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colL*oi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colL*oi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colL*oi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colL*oi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colL*oi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colL*oi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colL*oi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colL*oi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toL*

/proz_fill_t1L* {%BEG proz_fill_t1L*
                colCG1i    6 get fakt mul 
                colL*1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colL*1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colL*1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colL*1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colL*1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colL*1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colL*1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colL*1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colL*1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colL*1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colL*1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colL*1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colL*1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colL*1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1L*

/proz_fill_toLr {%BEG proz_fill_toLr
                colCGoi    6 get fakt mul 
                colLroi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colLroi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colLroi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colLroi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colLroi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colLroi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colLroi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colLroi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colLroi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colLroi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colLroi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colLroi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colLroi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colLroi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toLr

/proz_fill_t1Lr {%BEG proz_fill_t1Lr
                colCG1i    6 get fakt mul 
                colLr1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colLr1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colLr1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colLr1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colLr1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colLr1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colLr1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colLr1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colLr1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colLr1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colLr1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colLr1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colLr1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colLr1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Lr

/proz_fill_toTr {%BEG proz_fill_toTr
                colCGoi    6 get fakt mul 
                colTroi     6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTroi  jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colTroi     7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colTroi  jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTroi  jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colTroi  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTroi   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTroi   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTroi   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTroi   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTroi   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTroi   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTroi   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTroi   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toTr

/proz_fill_t1Tr {%BEG proz_fill_t1Tr
                colCG1i    6 get fakt mul 
                colTr1i     6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTr1i  jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colTr1i     7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colTr1i  jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTr1i  jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colTr1i  jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTr1i   jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTr1i   jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTr1i   jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTr1i   jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTr1i   jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTr1i   jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTr1i   jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTr1i   jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Tr

/proz_fill_toTa {%BEG proz_fill_toTa
                colCGoi    6 get fakt mul 
                colTaoi    6 get fakt mul moveto
                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTaoi jp1x get fakt mul lineto
                colCGoi    7 get fakt mul
                colTaoi    7 get fakt mul lineto
                colCGoi jp2x get fakt mul vorp jp2x get mul 
                colTaoi jp2x get fakt mul lineto
                closepath stroke

                colCGoi jp1x get fakt mul vorp jp1x get mul  
                colTaoi jp1x get fakt mul moveto
                colCGoi jp2x get fakt mul vorp jp2x get mul  
                colTaoi jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTaoi  jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colTaoi  jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCGoi  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTaoi  jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTaoi  jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTaoi  jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colTaoi  jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCGoi  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTaoi  jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTaoi  jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_toTa

/proz_fill_t1Ta {%BEG proz_fill_t1Ta
                colCG1i    6 get fakt mul 
                colTa1i    6 get fakt mul moveto
                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTa1i jp1x get fakt mul lineto
                colCG1i    7 get fakt mul
                colTa1i    7 get fakt mul lineto
                colCG1i jp2x get fakt mul vorp jp2x get mul 
                colTa1i jp2x get fakt mul lineto
                closepath stroke

                colCG1i jp1x get fakt mul vorp jp1x get mul  
                colTa1i jp1x get fakt mul moveto
                colCG1i jp2x get fakt mul vorp jp2x get mul  
                colTa1i jp2x get fakt mul lineto stroke

                newpath %&fill
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTa1i  jp1x get fakt mul 70 0 360 arc fill
                colfarbi jp1x 3 mul get
                colfarbi jp1x 3 mul 1 add get
                colfarbi jp1x 3 mul 2 add get setrgbcolor
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colTa1i  jp1x get fakt mul 50 0 360 arc fill 
                newpath %&text
                0 setgray
                colCG1i  jp1x get fakt mul vorp jp1x get mul
                colxsh3i jp1x get add
                colTa1i  jp1x get fakt mul
                colysh3i jp1x get add moveto
                colTa1i  jp1x get 0.5 add cvishow0 %rounded
                colnamei jp1x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

                newpath %&fill
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTa1i  jp2x get fakt mul 70 0 360 arc fill
                colfarbi jp2x 3 mul get
                colfarbi jp2x 3 mul 1 add get
                colfarbi jp2x 3 mul 2 add get setrgbcolor
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colTa1i  jp2x get fakt mul 50 0 360 arc fill
                newpath %&text
                0 setgray
                colCG1i  jp2x get fakt mul vorp jp2x get mul
                colxsh3i jp2x get add
                colTa1i  jp2x get fakt mul
                colysh3i jp2x get add moveto
                colTa1i  jp2x get 0.5 add cvishow0 %rounded
                colnamei jp2x get show
                TV 0 -50 rmoveto (d) show 0 50 rmoveto TL
                0 setgray

               } bind def %END proz_fill_t1Ta

0 1 1 {/jp exch def %jp=0,1
       TBL
       jp 0 eq {%jp=0
                [] 0 setdash
                1 0 0 setrgbcolor                
                xchart7 0 eq {proz_fill_toY} if
                xchart7 1 eq {proz_fill_toL*} if
                xchart7 2 eq {proz_fill_toLr} if
                xchart7 3 eq {proz_fill_toTr} if
                xchart7 4 eq {proz_fill_toTa} if
               } if %jp=0

       jp 1 eq {%jp=1
                [100] 0 setdash
                0 1 0 setrgbcolor
                xchart7 0 eq {proz_fill_t1Y} if
                xchart7 1 eq {proz_fill_t1L*} if
                xchart7 2 eq {proz_fill_t1Lr} if
                xchart7 3 eq {proz_fill_t1Tr} if
                xchart7 4 eq {proz_fill_t1Ta} if
               } if %jp=1
      } for %jp=0,1

[ ] 0 setdash
0 setgray

xtrans2_3 neg ytrans2_3 neg translate

} bind def %END proz_graph_CAB2_Y

%********************************************************************
%only for graphics xchart4=2,3
%STOP3
xchart4 2 eq
xchart4 3 eq or {%xchart4=2,3 only for (CAB2,Y)
                 proz_grap_CAB2_Y
                } if %xchart4=0,1 only for (CAB2,Y)

%********************************************************************
grestore %end because of clip

%} for %jnor=0,1

grestore

  xchartl    0 eq {  100 neg 04480 neg translate} if
  xchartl    1 eq { 6150 neg 04480 neg translate} if
  xchartl    2 eq {  100 neg 00220 neg translate} if
  xchartl    3 eq { 6150 neg 00220 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,3

%} for %xcolorl=0,0

showpage
grestore

} for %xchart9=0,3

%%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 fge81-8N
%%BoundingBox: 70 85 246 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

/ioutx 0 def
ioutx 1 eq {%ioutx=1

4 /Times-Roman FS
72 86 moveto
     (fge81-8N) show

72 90 translate

0.01 MM dup scale
20 setlinewidth
/xwidth 6100 def
/ywidth 4000 def
1 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath fill
0 setgray
0 0  moveto xwidth 0 rlineto 0 ywidth rlineto
        xwidth neg 0 rlineto closepath stroke

} if %ioutx=1

grestore
showpage

%%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  1.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 00 def /xcolor2 00 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 1.0 MM translate %page shift down

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

/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

/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

%special
/10TIN_10  {10TIN 0 -2 rmoveto 
            xcolor 1 eq {(10) show} if 0 2 rmoveto} def
/10TINK10 {10TIN 0 -2 rmoveto
           xcolor 1 eq {(,10) show} if 0 2 rmoveto} def
/10SN {10 /Symbol FS} def
/12SN {12 /Symbol FS} def

/TELi0 8 array def
/TELi1 8 array def
/TELi  8 array def
/TELi0 [(P65) (P60) (P55) (P50) (P45) (P40) (P35) (P30)] def %7 illumin.
/TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin.

/xchart8 1 def %xchart8=0: Pxx, xchart8=1: Dxx
0 1 7 {/i exch def %i=0,7
xchart8 0 eq {%xchart8=0
              TELi i TELi0 i get put
             }%xchart8=0
             {%xchart8=1
              TELi i TELi1 i get put
             } ifelse %xchart8=1
       } for %i=0,7

0 setgray
12TIN
61 MM 13.5 MM  moveto
(TUB\255Pr\374fvorlage fge8; ) showde
(TUB\255test chart fge8; ) showen
(gr\341fico TUB\255fge8; ) showes
(TUB\255test graphique fge8; ) showfr
(grafico TUB\255fge8; ) showit
(TUB\255test chart fge8; ) showjp

/xchart40 0 def %allways
/xchart41 6 def %hue circle 6: names 7: Y-data in separte files
/xchart50 0 def %0:YB, 1:GM, 2:RC
/xchartL* 1 def %0:L', 1:L*

xchart40 0 eq {%xchart4=0
%allways
12TII
(Ostwald) show
12TIN
(\255Optimalfarben) showde
( optimal colours) showea
12TII
(, Y) show
10TIN
0 -2 rmoveto (W) show 0 2 rmoveto
0 -2 rmoveto xcolor 1 eq {(,10) show} if 0 2 rmoveto
12TIN
(=100, ) show
(D65, D50, P40, A00) show
(, CIE\255) show
xcolor 0 eq {(02) show}{(10) show} ifelse
(\255degree, ) showen
(\255Grad, ) showde
12TII
xchart50 0 eq {(YB) show} if
xchart50 1 eq {(GM) show} if
xchart50 2 eq {(RC) show} if
} if %xchart40=0

61 MM 09.5 MM  moveto

%allways
12TIN
(konstanter Buntwert ) showde
(constant chromatic value ) showea
12TII
(C) show
10TIN
(AB,2) show
12TIN
(, Kontraste) showde
(, contrasts ) showea
12TII
(C=) show
12TIN
(>288:1(100:0), 25:1(90:3,6), 16:1(72:4,5), 9:1(54:6)) show
12TII
xchartL* 0 eq {(, L') show} if
xchartL* 1 eq {(, L*) show} if

 62 MM 198.5 MM  moveto
12RN tfbs (http://farbe.li.tu-berlin.de/fge8/fge8l) show 12TN
(0) show %
LSC$ show LEX$ show tfn
(; only vector graphic VG) showen 
(; nur Vektorgrafik VG) showde

%1 setgray %start white and unvisible
(; ) show
xchart 0 eq {
(Start\255Ausgabe) showde
(start output) showen
(comience salida) showes
(sortie de production) showfr
(cominciare l'uscita) showit
(start output) showjp
           } if

 62 MM 194 MM  moveto
(Siehe separate Bilder dieser Seite: ) showde
(see separate images of this page: ) showen
(vea archivos semejantes: ) showes
(voir des fichiers similaires: ) showfr
(vedere dei file simili: ) showit
(see similar files: ) showjp
12RN tfbs (http://farbe.li.tu-berlin.de/fge8/fge8.htm) show tfn 12TN

 16 MM 185 MM moveto
-90 rotate
(Siehe \344hnliche Dateien der ganzen Serie: ) showde
(see similar files of the whole serie: ) showen
(vea archivos semejantes: ) showes
(voir des fichiers similaires de serie: ) showfr
(vedere dei file simili: ) showit
(see similar files: ) showjp
12RN tfbs (http://farbe.li.tu-berlin.de/fges.htm) show tfn 12TN
90 rotate

 12 MM 185 MM moveto
-90 rotate
(Technische Information: ) showde
(technical information: ) showen
(informaci\363n t\351cnica: ) showes
(informations techniques: ) showfr
(informazioni tecniche: ) showit
(technical information: ) showjp
12RN tfbs (http://farbe.li.tu-berlin.de) show tfn 12TN
( oder ) showde
( or ) showen
( o ) showes
( ou ) showfr
( o ) showit
( or ) showjp
12RN tfbs (http://color.li.tu-berlin.de) show tfn 12TN
 90 rotate

281 MM 185 MM moveto
-90 rotate
(TUB\255Registrierung: 20231201\255fge8/fge8l) showde
(TUB registration: 20231201\255fge8/fge8l) showen
(TUB matr\355cula: 20231201\255fge8/fge8l) showes
(TUB enregistrement: 20231201\255fge8/fge8l) showfr
(TUB iscrizione: 20231201\255fge8/fge8l) showit
(TUB registration: 20231201\255fge8/fge8l) showjp
(0) show %
LSC$ show LEX$ show
90 rotate

281 MM 74 MM moveto
-90 rotate
(TUB\255Material: Code=rha4ta) showde
(TUB material: code=rha4ta) showen
(TUB material: code=rha4ta) showes
(TUB mat\351riel: code=rha4ta) showfr
(TUB materiale: code=rha4ta) showit
(TUB material: code=rha4ta) showjp
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
( application for evaluation and measurement ) showen
( aplicaci\363n para la medida ) showes
( application pour la mesure ) showfr
( la domanda per la misura ) showit
( application for measurement ) showjp

(von Display\255 oder Druck\255Ausgabe) showde
(of display or print output) showen
(de display output) showes
(de sortie sur \350cran) showfr
(di stampa di display) showit
(of display output) showjp

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

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