%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/hes0/hes0l00XX.PS 20241201
%%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/hes0/hes0.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:2024120112000)
 /ModDate (D:20241201112000)
/DOCINFO pdfmark
[ /View [ /FitB ]
/DOCVIEW pdfmark
%Y10M00np.ps6_R

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

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

%END hes0/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 01 def /lanind2f 01 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$ 6 get def
/GEY$ EY$ 6 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 hes00-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
     (hes00-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 hes00-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
     (hes00-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 http://farbe.li.tu-berlin.de/hes0/hes00-3N.EPS
%%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 (PostSCTipt pictures: farbe.li.tu-berlin.de/hes0/hes0.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:2024110112000)
 /ModDate (D:20241101112000)
/DOCINFO pdfmark03
[ /View [ /Fit ]
/DOCVIEW pdfmark03
%END  PDFDE011

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

/Times-ISOL1 exch definefont pop

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

/TimesI-ISOL1 exch definefont pop

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

/TimesB-ISOL1 exch definefont pop

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

/TimesBI-ISOL1 exch definefont pop

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

/TS {160 /Times-ISOL1 FS} bind def
/TL {200 /Times-ISOL1 FS} bind def
/TK {250 /Times-ISOL1 FS} bind def
/TM {300 /Times-ISOL1 FS} bind def
/TG {350 /Times-ISOL1 FS} bind def

/TIS {160 /TimesI-ISOL1 FS} bind def
/TIL {200 /TimesI-ISOL1 FS} bind def
/TIK {250 /TimesI-ISOL1 FS} bind def
/TIM {300 /TimesI-ISOL1 FS} bind def
/TIG {350 /TimesI-ISOL1 FS} bind def

/TBS {160 /TimesB-ISOL1 FS} bind def
/TBL {200 /TimesB-ISOL1 FS} bind def
/TBK {250 /TimesB-ISOL1 FS} bind def
/TBM {300 /TimesB-ISOL1 FS} bind def
/TBG {350 /TimesB-ISOL1 FS} bind def

/TBIS {160 /TimesBI-ISOL1 FS} bind def
/TBIL {200 /TimesBI-ISOL1 FS} bind def
/TBIK {250 /TimesBI-ISOL1 FS} bind def
/TBIM {300 /TimesBI-ISOL1 FS} bind def
/TBIG {350 /TimesBI-ISOL1 FS} bind def

/SS {160 /Symbol FS} bind def
/SL {200 /Symbol FS} bind def
/SK {250 /Symbol FS} bind def
/SM {300 /Symbol FS} bind def
/SG {350 /Symbol FS} bind def

/CS {160 /Courier-ISOL1 FS} bind def
/CL {200 /Courier-ISOL1 FS} bind def
/CK {250 /Courier-ISOL1 FS} bind def
/CM {300 /Courier-ISOL1 FS} bind def
/CG {350 /Courier-ISOL1 FS} bind def

/CBS {160 /CourierB-ISOL1 FS} bind def
/CBL {200 /CourierB-ISOL1 FS} bind def
/CBK {250 /CourierB-ISOL1 FS} bind def
/CBM {300 /CourierB-ISOL1 FS} bind def
/CBG {350 /CourierB-ISOL1 FS} bind def

/nGs {350 /Times-ISOL1 FS  show} bind def
/kGs {350 /TimesI-ISOL1 FS  show} bind def
/bGs {350 /TimesB-ISOL1 FS  show} bind def
/jGs {350 /TimesBI-ISOL1 FS  show} bind def
/sGs {350 /Symbol FS  show} bind def
/iGs {300 /Times-ISOL1 FS 0 -80 rmoveto show 0   80 rmoveto} bind def
/eGs {300 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ibGb {300 /TimesB-ISOL1 FS 0 -80 rmoveto show 0   80 rmoveto} bind def
/ebGb {300 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ipG {300 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def

%20% kleiner
/nMs {300 /Times-ISOL1 FS  show TM} bind def
/kMs {300 /TimesI-ISOL1 FS  show TM} bind def
/bMs {300 /TimesB-ISOL1 FS  show TM} bind def
/jMs {300 /TimesBI-ISOL1 FS  show TM} bind def
/sMs {300 /Symbol FS  show TM} bind def
/iMs {250 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TM} bind def
/eMs {250 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ibMs {250 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TM} bind def
/ebMs {250 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ipM {250 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def

%40% kleiner
/nKs {250 /Times-ISOL1 FS  show TK} bind def
/kKs {250 /TimesI-ISOL1 FS  show TK} bind def
/bKs {250 /TimesB-ISOL1 FS  show TK} bind def
/jKs {250 /TimesBI-ISOL1 FS  show TK} bind def
/sKs {250 /Symbol FS  show TK} bind def
/iKs {200 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TK} bind def
/eKs {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ibKs {200 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TK} bind def
/ebKs {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ipK {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def

%60% kleiner
/nLs {200 /Times-ISOL1 FS  show TL} bind def
/kLs {200 /TimesI-ISOL1 FS  show TL} bind def
/bLs {200 /TimesB-ISOL1 FS  show TL} bind def
/jLs {200 /TimesBI-ISOL1 FS  show TL} bind def
/sLs {200 /Symbol FS  show TL} bind def
/iLs {160 /Times-ISOL1 FS 0 -40 rmoveto show 0 40 rmoveto TL} bind def
/eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def
/ibLs {160 /TimesB-ISOL1 FS 0 -40 rmoveto show 0 40 rmoveto TL} bind def
/ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def
/ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TL} bind def
/jbLs {160 /TimesBI-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def

%80% smaller
/nSs {160 /Times-ISOL1 FS  show TS} bind def
/kSs {160 /TimesI-ISOL1 FS  show TS} bind def
/bSs {160 /TimesB-ISOL1 FS  show TS} bind def
/jSs {160 /TimesBI-ISOL1 FS  show TS} bind def
/sSs {160 /Symbol FS  show TS} bind def
/iSs {130 /Times-ISOL1 FS 0 -30 rmoveto show 0 30 rmoveto TS} bind def
/eSs {130 /Times-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def
/ibSs {130 /TimesB-ISOL1 FS 0 -30 rmoveto show 0 30 rmoveto TS} bind def
/ebSs {130 /TimesB-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def
/ipS {130 /Times-ISOL1 FS 20 20 rmoveto (\267) show 20 -20 rmoveto TS} bind def
/jbSs {130 /TimesBI-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def

/20rm {20 0 rmoveto} def

/cvishow {cvi 10 string cvs show} def
/cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def
/cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def
/cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def
/cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def

/cvsshow1x {/nxx exch def                              %example nxx=99.1/99.0
             nxx 0 lt {(-) show}
                      {() show} ifelse
             nxx 10 mul cvi abs /nxi exch def          %nxi=991/990
             nxi 10 idiv /nxa exch def                 %nxa=99
             nxi nxa 10 mul sub /nxb exch def          %nxb=1/0
             nxa cvishow (,) show                      %nxa=99
             nxb cvishow                               %nxb=1/0
           } def
/cvsshow2x {/nxx exch def                              %example nxx=99.12/99,02/99,00
             nxx 0 lt {(-) show}
                      {() show} ifelse
             nxx 100 mul cvi abs /nxi exch def         %nxi=9912/9902/00
             nxi 100 idiv /nxa exch def                %nxa=99
             nxi nxa 100 mul sub /nxb exch def         %nxb=12/02/00
             nxa cvishow (,) show                      %nxb=99,
             nxb 10 ge {nxb cvishow} if                %nxb=12
             nxb  1 ge
             nxb  9 le and {(0) show nxb cvishow} if   %nxb=02
             nxb  0 eq {(00) show} if                  %nxb=00
           } def
/cvsshow3x {/nxx exch def                              %example nxx=99.123/99.012/99.001/99.000
             nxx 0 lt {(-) show}
             {() show} ifelse
             nxx 1000 mul cvi abs /nxi exch def        %nxi=99123/99012/99001/99000
             nxi 1000 idiv /nxa exch def               %nxa=99
             nxi nxa 1000 mul sub /nxb exch def        %nxb=123/012/001/000
             nxa cvishow (,) show                      %nxb=99,
             nxb 100 ge {nxb cvishow} if               %nxb=123/012/001/000
             nxb  10 ge
             nxb  99 le and {(0) show nxb cvishow} if  %nxb=012
             nxb   1 ge
             nxb   9 le and {(00) show nxb cvishow} if %nxb=001
             nxb   0 eq {(000) show} if                %nxb=000
           } def

/cvsshow4x {/nxx exch def                              %example nxx=99.123/99.0
             nxx 0 lt {(-) show}
                      {() show} ifelse
             nxx 10000 mul cvi abs /nxi exch def        %nxi=99123/99012/99001/9
             nxi 10000 idiv /nxa exch def               %nxa=99
             nxi nxa 10000 mul sub /nxb exch def        %nxb=123/012/001/000
             nxa cvishow (,) show                       %nxb=99,
             nxb 1000 ge {nxb cvishow} if               %nxb=123/012/001/000
             nxb  100 ge
             nxb  999 le and {(0) show nxb cvishow} if  %nxb=012
             nxb  10 ge
             nxb  99 le and {(00) show nxb cvishow} if  %nxb=012
             nxb   1 ge
             nxb   9 le and {(000) show nxb cvishow} if %nxb=001
             nxb   0 eq {(0000) show} if                %nxb=000
           } def

/cvsshow4s {/nxx exch def                              %example nxx=-0,1234
             nxx 0 lt {(-0,) show}
                      {(0,) show} ifelse
             /nxi nxx 10000 mul cvi abs def            %nxi=1234
             nxi 1000 ge {nxi cvishow} if              %nxb=123/012/001/000
             nxi 100 ge
             nxi 999 le and {(0) show nxi cvishow} if      %nxb=123/012/001/000
             nxi  10 ge
             nxi  99 le and {(00) show nxi cvishow} if  %nxb=012
             nxi   1 ge
             nxi   9 le and {(000) show nxi cvishow} if %nxb=001
             nxi   0 eq {(0000) show} if                %nxb=000
           } def

%XCHA01.PS BEG
/rec %x, y width heigth
  {/heigth exch def /width exch def
   moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def

/colrecfi %x y width heigth r g b
  {setrgbcolor rec fill} bind def

/colrecst %x y width heigth r g b
  {setrgbcolor rec stroke} bind def

/rem %x, y width heigth
  {/heigth exch 0.5 mul def /width exch 0.5 mul def
   /yleftb exch heigth 0.5 mul add def
   /xleftb exch width  0.5 mul add def
   xleftb yleftb
   moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def

/colremfi %x y width heigth r g b
  {setrgbcolor rem fill} bind def

/colremst %x y width heigth r g b
  {setrgbcolor rem stroke} bind def

/tfr {1.0 0.0 0.0 setrgbcolor} bind def %Reproduktionsfarben
/tfg {0.0 1.0 0.0 setrgbcolor} bind def
/tfb {0.0 0.0 1.0 setrgbcolor} bind def
/tfc {0.0 1.0 1.0 setrgbcolor} bind def
/tfm {1.0 0.0 1.0 setrgbcolor} bind def
/tfy {1.0 1.0 0.0 setrgbcolor} bind def

/tfw {1.00 1.00 1.00 setrgbcolor} bind def %Graureihe
/tfh {0.75 0.75 0.75 setrgbcolor} bind def
/tfz {0.50 0.50 0.50 setrgbcolor} bind def
/tfd {0.25 0.25 0.25 setrgbcolor} bind def
/tfn {0.00 0.00 0.00 setrgbcolor} bind def

%***************************************************
/proc_equaHAU {%BEG proc_equaHAU
/x00t 0050 def %La
/x0pt 0150 def %equations
/x01t 0600 def %phi
/x02t 1100 def %CT
/x03t 1850 def %S0
/x04t 2600 def %S1
/x05t 3400 def %B0
/x06t 4000 def %B*LY
/x07t 4800 def %LLt/sx
/x08t 5450 def %(La/Lt)/dx

/xt0e 5740 def

/yt0t 3750 def %title

/yt0e 3200 def %main equations

/y00t 2000 def
/ydel 0250 def

/y00tp 2300 def

%top lines
/Haub_Laj 7 array def %300 default, index j=jchart=0,6
%j                    0    1    2    3    4    5    6
jLaj 0 eq {/Haub_Laj [0300 1000 0200 0040 0008 01.6 0.32 ] def} if
jLaj 1 eq {/Haub_Laj [1000 0200 0040 0008 01.6 0.32 0.064] def} if
jLaj 2 eq {/Haub_Laj [1500 0300 0030 0003 00.3 0.03 0.003] def} if

ifunc 1 ge {0 yt0t 250 add moveto 6000 0 rlineto stroke} if
x00t yt0t moveto
TBL (Relationship brightness ) showen
    (Beziehung Hellheit ) showde
(B*) jLs -60 -30 rmoveto ifunc 1 le {(LT) ibLs}
                                    {(YT) ibLs} ifelse 0 30 rmoveto
ipu 1 le {%ipu=0
            TBL ( and luminance ) showen
                ( und Leuchtdichte ) showde 
            (L) jLs (T) ibLs
           }%ipu=0
           {%ipu=1
            TBL ( and viewing angle ) showen
                ( & Beobachtungswinkel ) showde
            SL (j) show
           } ifelse %ipu=1

TBL ( as function) showen
    ( als Funktion) showde

x00t yt0t 250 sub moveto
TBL (of tristimulus value ) showen
    (von Normfarbwert ) showde
(Y) jLs (T) ibLs
TBL ( for the adaptation luminance ) showen
    ( f\374r Adaptationsleuchtdichte ) showde
(L) jLs (a) ibLs 20rm (=) bLs 20rm
Haub_Laj jchartl get cvishow 
( cd/m) bLs (2) ebLs

0 yt0t 250 sub 80 sub moveto 6000 0 rlineto stroke

%/iout 1 def
%iout 1 eq {%iout=1

x0pt yt0e moveto
(B*) jLs -60 -30 rmoveto ifunc 1 le {(LT) ibLs}
                                    {(YT) ibLs} ifelse 0 30 rmoveto
(\050) bLs (L) jLs (T) ibLs (, ) bLs (L) jLs 
         ifunc 1 le {(a) ibLs}
                    {(r) ibLs} ifelse
ifunc 2 eq {(, ) bLs (L) jLs (r) ibLs} if
(, ) bLs SL (j) show (\051) bLs ( = ) bLs

ifunc 2 eq {([) bLs} if %ifunc>=2

ifunc 0 eq
ifunc 2 eq or {%ifunc=0,2
(C) jLs (T) ibLs (\050) bLs SL (j) show (\051) bLs
20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs
(B) jLs
ifunc 0 eq {(a) ibLs}{(r) ibLs} ifelse
(\050) bLs (L) jLs 
ifunc 0 eq {(a) ibLs}{(r) ibLs} ifelse
(, ) bLs SL (j) show (\051) bLs 
} if %ifunc=0,2

ifunc 1 eq {%ifunc=1
(s) bLs (x) ibLs (\050) bLs
SL (j) show (\051) bLs
20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs
(d) jLs (xa) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs
} if %ifunc=1

ifunc 2 eq {(]) bLs 20rm (B*) jLs -60 0 rmoveto (ra) ibLs} if

ifunc 3 eq {%ifunc=3
(s) bLs (yra) ibLs (\050) bLs SL (j) show (\051) bLs
20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs
(d) jLs (yra) ibLs (\050) bLs SL (j) show (\051) bLs
} if %ifunc=3

ifunc 1 le {xt0e 1400 sub yt0e moveto
            TBL (brightness ) showen (Hellheit ) showde
            (B*) jLs -60 -30 rmoveto (LT) ibLs}
           {xt0e 1400 sub yt0e moveto
            TBL (brightness ) showen (Hellheit ) showde
            (B*) jLs -60 -30 rmoveto (YT) ibLs
           } ifelse 

xt0e yt0e moveto
([1]) bLs

x0pt yt0e 300 sub moveto
(B) jLs 
ifunc 1 le {(a) ibLs (\050) bLs (L) jLs (a) ibLs}
           {(r) ibLs (\050) bLs (L) jLs (r) ibLs} ifelse
(, ) bLs SL (j) show (\051) bLs ( = ) bLs
(C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs
20rm ([) bLs
(S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs
(S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs 
20rm (L) jLs 
ifunc 1 le {(a) ibLs}{(r) ibLs} ifelse -60 0 rmoveto (n) ebLs 
(]) bLs

ifunc 1 le {%ifunc<=1,>=2
            xt0e 1950 sub yt0e 300 sub moveto
            (\050n=0,31\051) bLs
           }
           {%ifunc>=2
            xt0e 2400 sub yt0e 300 sub moveto
            (\050n=0,31) bLs
            (, ) bLs (B*) jLs -60 -10 rmoveto (ra) ibLs 0 10 rmoveto
            (=) bLs (B*) jLs
            -60 -30 rmoveto (LT,r) ibLs 0 30 rmoveto 20rm (/) bLs
                    (B*) jLs 
            -60 -30 rmoveto (LT,a) ibLs 0 30 rmoveto (\051) bLs
           } ifelse %ifunc>=2

xt0e yt0e 300 sub moveto
([2]) bLs

ifunc 0 eq {%ifunc=0
x0pt yt0e 600 sub moveto
(L) jLs (Lt) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs ( = ) bLs
([) bLs
(S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs
(S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs
20rm (L) jLs (a) ibLs -60 0 rmoveto (n) ebLs
(]) bLs 20rm (1/n) ebLs
} if %ifunc=0

ifunc 2 eq {%ifunc=2
x0pt yt0e 600 sub moveto
(L) jLs (Yt) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs ( = ) bLs
([) bLs
(S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs
(S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs
20rm (L) jLs (r) ibLs -60 0 rmoveto (n) ebLs
(]) bLs 20rm (1/n) ebLs
%20rm (L) bLs (ra) iLs -80 0 rmoveto (n) ebLs 
20rm (B*) jLs -60 -10 rmoveto (ra) iLs
} if %ifunc=2

ifunc 1 eq {%ifunc=1
x0pt yt0e 600 sub moveto
(s) jLs (x) ibLs (\050) bLs SL(j) show (\051) bLs
( = ) bLs
(C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs
(  [3]) bLs

x0pt 1900 add yt0e 600 sub moveto
(d) jLs (xa) ibLs (\050) bLs SL(j) show (\051) bLs ( = ) bLs
(B) jLs (a) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs
(  [4]) bLs

} if 

ifunc 3 eq {%ifunc=3
x0pt yt0e 600 sub moveto
(s) jLs (yra) ibLs (\050) bLs SL(j) show (\051) bLs
(=) bLs
(C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs
20rm (B*) jLs -60 -10 rmoveto (ra) ibLs
(  [3]) bLs

x0pt 2000 add yt0e 600 sub moveto
(d) jLs (yra) ibLs (\050) show SL(j) show (\051) bLs
(=) bLs
(B) jLs (r) ibLs (\050) bLs (L) jLs (r) ibLs
(, ) bLs SL (j) show (\051) bLs
20rm (B*) jLs -60 -10 rmoveto (ra) ibLs
(  [4]) bLs

} if

ifunc 0 eq 
ifunc 2 eq or {%ifunc=0,2
xt0e 1950 sub yt0e 600 sub moveto
(\050) bLs
TBL (t=black threshold) showen (t=Schwarzschwelle) showde
(\051) bLs
           } if %ifunc=0,2

ifunc 1 eq 
ifunc 3 eq or {%ifunc=1,3
xt0e 1350 sub yt0e 600 sub moveto
(\050) bLs
TBL (s=scaling factor) showen (s=Skalierfaktor) showde
(\051) bLs
           } if %ifunc=1,3

ifunc 0 eq 
ifunc 2 eq or {%ifunc=0,2
xt0e yt0e 600 sub moveto
([3]) bLs
} if %ifunc=0,2

x00t y00tp moveto
ifunc 1 le {(L) jLs (T) ibLs}
           {(Y) jLs (T) ibLs} ifelse

x01t y00tp moveto
SL (j) show

x02t y00tp moveto
(C) jLs (T) ibLs (\050) bLs SL (j) show (\051) bLs

x03t y00tp moveto
TBL (S) show (0) ibLs (\050) bLs SL (j) show (\051) bLs

x04t y00tp moveto
TBL (S) show (1) ibLs (\050) bLs SL (j) show (\051) bLs

x05t 200 sub y00tp moveto
ifunc 1 le {(B) jLs (a) ibLs 
            (\050) bLs (L) jLs (a) ibLs (,) bLs SL (j) show (\051) bLs}
           {(B) jLs (r) ibLs
            (\050) bLs (L) jLs (r) ibLs (,) bLs SL (j) show (\051) bLs} ifelse

x06t y00tp moveto
(B*) jLs -60 -30 rmoveto
ifunc 1 le {(LT) iLs}
           {(YT) iLs} ifelse 0 30 rmoveto

x07t y00tp moveto
ifunc 0 eq {(L) jLs (Lt) ibLs} if
ifunc 1 eq {(s) bLs (x) ibLs (\050) bLs SL (j) show (\051) bLs} if
ifunc 2 eq {(L) jLs (Yt) ibLs} if
ifunc 3 eq {-100 0 rmoveto (s) bLs (yra) ibLs
                           (\050) bLs SL (j) show (\051) bLs} if

x08t y00tp moveto
ifunc 0 eq {(L) jLs (a) ibLs (/) bLs (L) jLs (t) ibLs} if
ifunc 1 eq {-050 0 rmoveto 
            (d) bLs (xa) ibLs 
            (\050) bLs SL (j) show (\051) bLs} if
ifunc 2 eq {(L) jLs (a) ibLs (/) bLs (L) jLs (t) ibLs} if
ifunc 3 eq {-100 0 rmoveto
            (d) bLs (yra) ibLs 
            (\050) bLs SL (j) show (\051) bLs} if
%} if %iout=1

} bind def %END proc_equaHAU

%***************************************************
%old: proc_functab
/proc_funcHAU1 {%BEG proc_funcHAU1 function Haubner 4 versions, ifunc-0 to 3
%from 'hnq5'Y10-3R_R.EPS, line 259:371
/Haubdatj 28 array def %phi, Cr(phi), S0(phi), S1(phi)

%BEG Haubdati Table 1, 7x4 data
%A Unified Relationship between Brightness an Luminance
%P. Haubner, H.-W. Bodmann and A.W. Marsden
%Siemens Forsch. u. Entwickl.Ber. Bd. 9 (1980), Nr. 6, p.315-318

/phk 7 array def %form above publication, i=ichart=6,0 10,20,..,120
/CTk 7 array def
/S0k 7 array def
/S1k 7 array def
/Ltk 7 array def %t=black threshold, equ. (71), Haubner, PhD-thesis

/phi 7 array def %form above publication, i=ichart=0,6 120,90,..,10
/CTi 7 array def
/S0i 7 array def
/S1i 7 array def
/Lti 7 array def %t=black threshold, equ. (71), Haubner, PhD-thesis

%Lti=[S0i + S1i*(La)^n]^(1/n)

%Table 1 order of Haubner
%/phk [010     020     030     060     090     100     120    ] def
%/CTk [30.747  27.971  26.235  23.973  23.415  23.128  22.969 ] def
%/S0k [0.27308 0.20132 0.17975 0.13133 0.10838 0.07473 0.07186] def
%/S1k [0.39842 0.35557 0.31888 0.26578 0.25265 0.24943 0.24481] def

%inverse Table 1 order of Haubner, used as default, index i=ichart=0,6
/phi [120     100     090     060     030     020     010    ] def
/CTi [22.969  23.128  23.415  23.973  26.235  27.971  30.747 ] def
/S0i [0.07186 0.07473 0.10868 0.13133 0.17975 0.20132 0.27308] def
/S1i [0.24481 0.24943 0.25265 0.26578 0.31888 0.35557 0.39842] def

/Haub_Laj 7 array def %300 default, index j=jchart=0,6
%j                    0    1    2    3    4    5    6    
jLaj 0 eq {/Haub_Laj [0300 1000 0200 0040 0008 01.6 0.32 ] def} if
jLaj 1 eq {/Haub_Laj [1000 0200 0040 0008 01.6 0.32 0.064] def} if
jLaj 2 eq {/Haub_Laj [3000 0300 0030 0003 00.3 0.03 0.003] def} if

/Haub_n     0.31     def %fix
/Haub_1Mn 1 0.31 div def %=3.2268 (1Mn=1-Minus-n)

/Haub_B0ij 49 array def %=7x7 options for ichart=0,6 and jchart=0,6
/Haub_Ltij 49 array def %t=black threshold
/Haub_B*ij 49 array def %brightness - Hellheit

/Laj     Haub_Laj jchart get def %a=7 Adaptations white La=300, 1000, ..0.32
/Lajen   Laj Haub_n exp def

/Lr      300 def                  %r=reference=La0
/Lren    Lr Haub_n exp def        %e=exponent

/Lrdaj   Lr Laj div def
/Lrdajen Lrdaj Haub_n exp def

/Lajdr   Laj Lr div def
/Lajdren Lajdr Haub_n exp def

/LTj     Laj def              %0.01Laj < Haub_Laj < 10Laj
                              %or 0,16 <= Haub_Laj <= 5000 cd/m^2
/LTjen   LTj Haub_n exp def

/LTjdaj   LTj Laj div def
/LTjdajen LTjdaj Haub_n exp def

/Lu     Lr 0.18 mul def
/Luen   Lu Haub_n exp def

%B0(Lr ,p)= CTi(p) [S0i(p) + S1i(p) * Lr^n ]
%B0(Laj,p)= CTi(p) [S0i(p) + S1i(p) * Laj^n]
%B0(Lr,p)/B0(Laj,p)=[S0i(p) + S1i(p) * Lr^n] /[S0i(p) + S1i(p) * Laj^n]
%B0(Laj,p)/B0(Lr,p)=[S0i(p) + S1i(p) * Laj^n]/[S0i(p) + S1i(p) * Lr^n ]
%

%only for phi=120 mit fix constants CTi, S0i & S1i and i=0
/CTLr   CTi 0 get def         %Lr =reference white 300 cd/m^2
/CTLaj  CTi 0 get def         %Laj=diffuse white 300,1000,200,40,8 cd/m^2
/B0Lr     S0i 0 get S1i 0 get Lren  mul add CTi 0 get mul def
/B0Laj    S0i 0 get S1i 0 get Lajen mul add CTi 0 get mul def
%B0LrdLaj=(S0i 0 get S1i 0 get Lren   mul add)
%        /(S0i 0 get S1i 0 get Lajen  mul add)
/B0LrdLaj B0Lr B0Laj div def
/B0LajdLr B0Laj B0Lr div def

/B*B0Lr  CTi 0 get Lren  mul B0Lr  sub def %=100 for Lr =300
/B*B0Laj CTi 0 get Lajen mul B0Laj sub def %=145 for Laj=1000 (example)
/B*B0LrdLaj B*B0Lr B*B0Laj div def

/B*facx B*B0Lr B*B0Laj div def             %=100/145 for Lr=300 and Laj=1000
/B*B0Lx  CTi 0 get Lajen mul B0Laj sub def %=145
/B*B0Lx  CTi 0 get Lajen mul B0Laj sub B*facx mul def %=100 for any Lx

/B0ij  49 array def
/Brij  49 array def
/B*ij  49 array def %original
/B*Lij 49 array def %includes La,phi (only)
/B*Yij 49 array def %includes La,phi and Lr=300 (r=reference)
/Ltij  49 array def
/Ytij  49 array def
/CTij  49 array def

/sxij 49 array def
/dxij 49 array def
/syij 49 array def
/dyij 49 array def

/B*LTui 7 array def
/B*YTui 7 array def
/LTui  7 array def
/YTui  7 array def

0 1 6 {/j exch def %j=0,6
0 1 6 {/i exch def %i=0,6
       /k i 6 mul j add def

%This is for original Haubner for La=300 normalized to B*Lij=B0ij=100
       %B0(La,p) = Cri(p) [S0i(p) + S1i(p) * La^n]
       B0ij k S0i  i get S1i i get Lajen mul add CTi i get mul put
       Brij k S0i  i get S1i i get Lren  mul add CTi i get mul put
       sxij k CTi  i get put
       dxij k B0ij k get put
       syij k CTi  i get B*B0LrdLaj mul put
       dyij k B0ij k get B*B0LrdLaj mul put

       Ltij k S0i  i get S1i i get Lajen mul add Haub_1Mn exp put
       Ytij k Ltij k get B*B0LrdLaj mul put

       ifunc 0 eq {B*Lij k CTi   i get LTjen mul B0ij k get sub put
                   %B*Yij k CTi   i get LTjen mul Brij k get sub put
                  } if
       ifunc 1 eq {B*Lij k sxij  k get LTjen mul dxij k get sub put
                   %B*Yij k CTi   i get LTjen mul Brij k get sub put
                  } if
       ifunc 2 eq {%B*Lij k CTi   i get LTjen mul B0ij k get sub put
                   B*Yij k CTi   i get LTjen mul Brij k get sub 
                   B*B0LrdLaj mul put
                  } if
       ifunc 3 eq {%B*Lij k syij  k get LTjen mul dyij k get sub put
                   B*Yij k CTi   i get LTjen mul Brij k get sub 
                   B*B0LrdLaj mul put
                  } if

       CTij  k Laj        Ltij k get div put

} for %i=0,6
} for %j=0,6

%STOPA

/Haub_n     0.31     def
/Haub_1Mn 1 0.31 div def

%for phi 0 get=120'(i=0), B0ij 0 get=34,60 (i=0,j=0), 
%CTi 0 get (i=0), S0i 0 get (i=0), S1i 0 get (i=0), n=0,31

/phu phi  0 get def %i=0
/CTu CTi  0 get def %i=0
/S0u S0i  0 get def %i=0
/S1u S1i  0 get def %i=0

%/k i 6 mul j add def %phi i=0,1,..,6, Haub_Laj j=0,1,2,3

%STOPB

%larger loop
ifunc 1 le {%ifunc<=1,>1

ifunc 0 eq {/B0u B0ij 0 get def} if %i=0,j=0,k=6*i+j=0 phi=120', La=0300
ifunc 1 eq {/B0u B0ij 1 get def} if %i=0,j=1,k=6*i+j=1 phi=120', La=1000
ifunc 2 eq {/B0u B0ij 2 get def} if %i=0,j=2,k=6*i+j=2 phi=120', La=0200
ifunc 3 eq {/B0u B0ij 3 get def} if %i=0,j=3,k=6*i+j=3 phi=120', La=0040


%ifunc 0 eq {B*Lij k CTi   i get LTjen mul B0ij k get sub put} if
%ifunc 1 eq {B*Lij k sxij  k get LTjen mul dxij k get sub put} if
%ifunc 2 eq {B*Yij k CTi   i get LTjen mul B0ij k get sub
%            Lrdajen mul put} if
%ifunc 3 eq {B*Yij k syij  k get LTjen mul dyij k get sub put} if

%B*Lu=CTu*(LTu)**n-B0u=B*Laj/3.  (150->50=150/3)
%LTu**n=(B*Lu+B0u)/CTu
%LTu   =[(B*Lu+B0u)/CTu]**(1/n)
%LTu   =[(B*Laj/3+B0u)/CTu]**(1/n) %B*Laj=300, 1000, 200, 40
%YTu   =LTu/Laj

%example B*Lu=50
%/B*Lu 50 def
%/LTu B*Lu B0u add CTu div Haub_1Mn exp def
%/YTu LTu Laj div 100 mul def

%example for B*La=145 (for Laj=1000)
/CTp CTi 0 get def
/B0p  B0Laj def
/B*Lp B*B0Laj def                             %= 145 (p=peak white)
/LTp B*Lp B0p add CTp div Haub_1Mn exp def
/YTp LTp Laj div 100 mul def

/B*del B*Lp  4 div def
0 1 5 {/i exch def %i=0,5
       B*LTui i B*Lp B*del 2 mul add i B*del mul sub put
       B*YTui i B*LTui i get B*B0LrdLaj mul put
       LTui   i B*LTui i get B0u add CTu div Haub_1Mn exp put
       YTui   i LTui i get B*B0LrdLaj mul put
      } for %i=0,5
B*LTui 6 B*LTui 4 get put
B*YTui 6 B*LTui 4 get put
LTui  6 LTui 4 get put
YTui  6 YTui 4 get put

%STOP1X

         }%ifunc<=1

         {%ifunc=2,3

%B*Yu=[CTu*(LTu)**n-B0u]*Lrda**n
%B*Yu/Lrda**n=CTu*(LTu)**n-B0u
%LTu**n=[B*Yu/Lrda**n + B0u]/CTu
%LTu   ={[B*Yu/Lrda**n + B0u]/CTu}**(1/n)
%LTu   ={[50  /Lrda**n + B0u]/CTu}**(1/n)
%YTu   =LTu/Laj

%for B*Yu=50:
ifunc 0 eq {/Lrdaen Lr Haub_Laj 0 get div Haub_n exp def} if
ifunc 1 eq {/Lrdaen Lr Haub_Laj 1 get div Haub_n exp def} if
ifunc 2 eq {/Lrdaen Lr Haub_Laj 2 get div Haub_n exp def} if
ifunc 3 eq {/Lrdaen Lr Haub_Laj 3 get div Haub_n exp def} if

%exmple for 50:
%/B*Yu 50 def
%/YTu 50 Lrdaen div B0u add CTu div Haub_1Mn exp def

%example for B*La=145 (for Laj=1000)
/CTp CTi 0 get def
/B0p  B0Laj def
/B*Lp B*B0Laj def                             %= 145 (p=peak white)
/LTp B*Lp B0p add CTp div Haub_1Mn exp def
/YTp LTp Laj div 100 mul def

/B*del B*Lp  4 div def
0 1 5 {/i exch def %i=0,5
       B*LTui i B*Lp B*del 2 mul add i B*del mul sub put
       B*YTui i B*LTui i get B*B0LrdLaj mul put
       LTui   i B*LTui i get B0u add CTu div Haub_1Mn exp put
       YTui   i LTui i get B*B0LrdLaj mul put
      } for %i=0,5
B*LTui 6 B*LTui 4 get put
B*YTui 6 B*LTui 4 get put
LTui  6 LTui 4 get put
YTui  6 YTui 4 get put

} ifelse %ifunc=2,3

ipu 0 eq {%ipu=0
/j jchart def
0 1 7 {/i exch def %i=0,7
       /k i 6 mul j add def
       /y00ti y00t i i 7 eq {0.3 add} if ydel mul sub def
       x00t y00ti moveto
       Haub_Laj j get cvishow

       i 6 le {%i<=6,7
       x01t y00ti moveto
       phi i get cvishow (') show
       x02t y00ti moveto
       CTi i get cvsshow3x
       x03t y00ti moveto
       S0i i get cvsshow4x
       x04t y00ti moveto
       S1i i get cvsshow4x

       x05t  y00ti moveto
       ifunc 1 le {B0ij  i get cvsshow2x}
                  {Brij  i get cvsshow2x} ifelse
               }%i<=6
               {%i=7
       x01t y00ti moveto
       phi 0 get cvishow (') show
       x02t y00ti moveto
       CTi 0 get cvsshow3x
       x03t y00ti moveto
       S0i 0 get cvsshow4x
       x04t y00ti moveto
       S1i 0 get cvsshow4x

       x05t  y00ti moveto
       ifunc 1 le {B0ij  0 get cvsshow2x}
                  {Brij  0 get cvsshow2x} ifelse
               } ifelse %i<=6,7

       i 7 eq {/k jchart def} if
       x06t  y00ti moveto
       ifunc 1 le {B*Lij k get cvsshow2x}
                  {B*Yij k get cvsshow2x} ifelse

       x07t y00ti moveto
       ifunc 0 eq {Ltij k get cvsshow2x} if
       ifunc 1 eq {sxij k get cvsshow2x} if
       ifunc 2 eq {Ytij k get cvsshow2x} if
       ifunc 3 eq {syij k get cvsshow2x} if

       x08t y00ti moveto
       ifunc 0 eq {CTij k get cvsshow2x} if
       ifunc 1 eq {dxij k get cvsshow2x} if
       ifunc 2 eq {CTij k get cvsshow2x} if
       ifunc 3 eq {dyij k get cvsshow2x} if
} for %i=0,7

} if %ipu=0

ipu 1 eq {%ipu=1
/j jchart def
0 1 7 {/i exch def %i=0,7
       /k i 6 mul j add def
       /y00ti y00t i i 7 eq {0.3 add} if ydel mul sub def

       i 5 le {%i<=5
               x00t y00ti moveto
               ifunc 1 le {LTui i get cvishow}
                          {YTui i get cvishow} ifelse
              } if %i<=5

       i 6 eq {%i=6
               x00t y00ti moveto
               ifunc 2 le {Ltij 0 get cvsshow2x}
                          {Ytij 0 get cvsshow2x} ifelse
              } if %i=6

       i 7 eq {%i=7
               x00t y00ti moveto
               ifunc 1 le {LTui 4 get cvishow}
                          {YTui 4 get cvishow} ifelse
              } if %i<=7

       x01t y00ti moveto
       phi 0 get cvishow (') show
       x02t y00ti moveto
       CTi 0 get cvsshow3x
       x03t y00ti moveto
       S0i 0 get cvsshow4x
       x04t y00ti moveto
       S1i 0 get cvsshow4x

       x05t  y00ti moveto
       ifunc 1 le {B0ij  i get cvsshow2x}
                  {Brij  i get cvsshow2x} ifelse

       x06t  y00ti moveto
       i 5 le {%i<=5
               ifunc 1 le {B*LTui i get cvsshow2x}
                          {B*YTui i get cvsshow2x} ifelse
              } if %i<=5
       i 6 eq {0 cvsshow2x} if
       i 7 eq {%i=7
               ifunc 1 le {B*LTui 4 get cvsshow2x}
                          {B*YTui 4 get cvsshow2x} ifelse
              } if %i=7

       x07t y00ti moveto
       ifunc 0 eq {Ltij 0 get cvsshow2x} if
       ifunc 1 eq {sxij 0 get cvsshow2x} if
       ifunc 2 eq {Ytij 0 get cvsshow2x} if
       ifunc 3 eq {syij 0 get cvsshow2x} if

       x08t y00ti moveto
       ifunc 0 eq {CTij 0 get cvsshow2x} if
       ifunc 1 eq {dxij 0 get cvsshow2x} if
       ifunc 2 eq {CTij 0 get cvsshow2x} if
       ifunc 3 eq {dyij 0 get cvsshow2x} if
} for %i=0,7

} if %ipu=1


%calculation and output for B*Lu=0.5 B*La and B*Yu = 50
/ioute 0 def
%ioute 1 eq {%ioute=1
%output for B*Yu = 50
%for u: i=0, j=0,1,2,3
%/j 0 def
%       /y00ti y00t 6.3 ydel mul sub def
%       x00t y00ti moveto
%       ifunc 0 eq {LTu 0 get cvsshow1x} if
%       ifunc 1 eq {LTu 0 get cvsshow1x} if
%       ifunc 2 eq {YTu 0 get cvsshow1x} if
%       ifunc 3 eq {YTu 0 get cvsshow1x} if
%       x01t y00ti moveto
%       phu cvishow (') show
%       x02t y00ti moveto
%       CTu cvsshow3x
%       x03t y00ti moveto
%       S0u cvsshow4x
%       x04t y00ti moveto
%       S1u cvsshow4x

%       x05t  y00ti moveto
%       B0u cvsshow2x

%       x06t  y00ti moveto
%       ifunc 0 eq {B*LTui 0 get cvsshow2x} if
%       ifunc 1 eq {B*LTui 0 get cvsshow2x} if
%       ifunc 2 eq {B*YTui 0 get cvsshow2x} if
%       ifunc 3 eq {B*YTui 0 get cvsshow2x} if

%       x07t y00ti moveto
%       ifunc 0 eq {LTui 0 get cvsshow2x} if
%%       ifunc 1 eq {sxu cvsshow2x} if
%       ifunc 2 eq {YTui 0 get cvsshow2x} if
%%       ifunc 3 eq {syu cvsshow2x} if

%       x08t y00ti moveto
%       ifunc 0 eq {CTu cvsshow2x} if
%%       ifunc 1 eq {dxu cvsshow2x} if
%       ifunc 2 eq {CTu cvsshow2x} if
%%       ifunc 3 eq {dyu cvsshow2x} if
%} if %ioute=1

} bind def %END proc_funcHAU function Haubner 7x7 versions, ifunc-0 to 3

%***************************************************
%%EndProlog
gsave

/lanind 1 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 1 def /lanind2 1 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 3 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 /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 %always independent of intended output

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

gsave
%XCHA01.PS END

/cvishow0 {cvi 6 string cvs show} def

72 90 translate

0.010 MM dup scale

/xbtex0 1 def  %xbtex=0 for files Y1(0/1)-(3/7)n.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
150 -140 moveto
(hes00-3R_R) show
} if %xbtex0=1

/ipu 1 def %0:phi change 120'>=10', 1:La change 1000, 200, 40, 8 example
/xpos [00100 06150 00100 06150] def
/ypos [04480 04480 00220 00220] def

/x00t 0400 def %xpos for BEG equations
/x01t 1900 def %xpos for shift equations
/x00e 5250 def %xpos for Num equations

/jLaj 0 def %0:300,1000,200,40 %1:1000,200,40,8 %2:3000,300,30,3
/jchartl 0 def
%0 1 3 {/jchartl exch def %jchartl=0,3
        jchartl 0 eq {/jchart 0 def} if %0300 cd/m^2
        jchartl 1 eq {/jchart 1 def} if %1000 cd/m^2
        jchartl 2 eq {/jchart 2 def} if %0200 cd/m^2
        jchartl 3 eq {/jchart 3 def} if %0040 cd/m^2

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

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

gsave

/ifunc ifuncl def

ifunc 0 eq {/kchartl 0 def /pchartl 0 def} if %0,0:left  top  page
ifunc 1 eq {/kchartl 1 def /pchartl 0 def} if %1,0:right top  page
ifunc 2 eq {/kchartl 0 def /pchartl 4 def} if %0,4:left  down page
ifunc 3 eq {/kchartl 1 def /pchartl 4 def} if %1,4:right down page

20 setlinewidth

xpos ifuncl  get ypos ifuncl  get translate

0 setgray
150  /Times-ISOL1 FS
150 -140 moveto
(hes0) show 0 xchartl 2 ge {1 add} if cvishow0 (-) show
ifuncl 1 add xchartl 1 eq
             xchartl 3 eq or {4 add} if cvishow0
(a) show %a

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

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

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

%BEG ifunc=0,1,2,3 ********************************************

proc_equaHAU

proc_funcHAU1


TK
0 setgray
150  /Times-ISOL1 FS
1000 -140 moveto
(j=) nSs jchart cvishow (, ) nSs
(L) jSs (r)  iSs (=) nSs Lr  cvishow (, ) nSs
(L) jSs (aj) iSs (=) nSs Laj cvishow (, ) nSs
%(n) jSs (=0,31, ) nSs
SS (j) show (=) nSs phi 0 get cvishow (', ) show

ifunc 0 eq {(B)  jSs (a)   iSs (=) nSs B0ij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (LT) iSs 0 30 rmoveto (=) nSs
                                       B*Lij jchart get cvsshow2x 
           } if

ifunc 1 eq {(B)  jSs (a)   iSs (=) nSs B0ij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs
                                       B*Lij jchart get cvsshow2x (, ) nSs
            (s)  jSs (x)   iSs (=) nSs sxij  jchart get cvsshow2x (, ) nSs
            (d)  jSs (xa)  iSs (=) nSs dxij  jchart get cvsshow2x
           } if

ifunc 2 eq {(B)  jSs (r)   iSs (=) nSs Brij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs
                                       B*Yij jchart get cvsshow2x
           } if

ifunc 3 eq {(B)  jSs (r)   iSs (=) nSs Brij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs
                                       B*Yij jchart get cvsshow2x (, ) nSs
            (s)  jSs (yra) iSs (=) nSs syij  jchart get cvsshow2x (, ) nSs
            (d)  jSs (yra) iSs (=) nSs dyij  jchart get cvsshow2x
           } if

xpos ifuncl  get neg ypos ifuncl  get neg translate


grestore

} for %ifuncl=0,3

%} for %xchartl=0,3

%} for %jchartl=0,3

showpage
grestore

%%Trailer


%%EndDocument
EndEPSF grestore gsave

BeginEPSF
 86 SHAl add MM 108 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 14

%line 369
%!PS-Adobe-3.0 EPSF-3.0 hes00-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
     (hes00-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 hes00-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
     (hes00-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 hes00-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
     (hes00-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 http://farbe.li.tu-berlin.de/hes0/hes00-7N.EPS
%%BoundingBox: 70 85 421 335

%START PDFDE011.EPS
/pdfmark07 where {pop} {userdict /pdfmark07 /cleartomark load put} ifelse
/languagelevel where {pop languagelevel} {1} ifelse
2 lt { userdict (<<) cvn ([) cvn load put
       userdict (>>) cvn (]) cvn load put} if
[/Title (PostSCTipt pictures: farbe.li.tu-berlin.de/hes0/hes0.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:2024110112000)
 /ModDate (D:20241101112000)
/DOCINFO pdfmark07
[ /View [ /Fit ]
/DOCVIEW pdfmark07
%END  PDFDE011

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

/Times-ISOL1 exch definefont pop

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

/TimesI-ISOL1 exch definefont pop

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

/TimesB-ISOL1 exch definefont pop

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

/TimesBI-ISOL1 exch definefont pop

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

/TS {160 /Times-ISOL1 FS} bind def
/TL {200 /Times-ISOL1 FS} bind def
/TK {250 /Times-ISOL1 FS} bind def
/TM {300 /Times-ISOL1 FS} bind def
/TG {350 /Times-ISOL1 FS} bind def

/TIS {160 /TimesI-ISOL1 FS} bind def
/TIL {200 /TimesI-ISOL1 FS} bind def
/TIK {250 /TimesI-ISOL1 FS} bind def
/TIM {300 /TimesI-ISOL1 FS} bind def
/TIG {350 /TimesI-ISOL1 FS} bind def

/TBS {160 /TimesB-ISOL1 FS} bind def
/TBL {200 /TimesB-ISOL1 FS} bind def
/TBK {250 /TimesB-ISOL1 FS} bind def
/TBM {300 /TimesB-ISOL1 FS} bind def
/TBG {350 /TimesB-ISOL1 FS} bind def

/TBIS {160 /TimesBI-ISOL1 FS} bind def
/TBIL {200 /TimesBI-ISOL1 FS} bind def
/TBIK {250 /TimesBI-ISOL1 FS} bind def
/TBIM {300 /TimesBI-ISOL1 FS} bind def
/TBIG {350 /TimesBI-ISOL1 FS} bind def

/SS {160 /Symbol FS} bind def
/SL {200 /Symbol FS} bind def
/SK {250 /Symbol FS} bind def
/SM {300 /Symbol FS} bind def
/SG {350 /Symbol FS} bind def

/CS {160 /Courier-ISOL1 FS} bind def
/CL {200 /Courier-ISOL1 FS} bind def
/CK {250 /Courier-ISOL1 FS} bind def
/CM {300 /Courier-ISOL1 FS} bind def
/CG {350 /Courier-ISOL1 FS} bind def

/CBS {160 /CourierB-ISOL1 FS} bind def
/CBL {200 /CourierB-ISOL1 FS} bind def
/CBK {250 /CourierB-ISOL1 FS} bind def
/CBM {300 /CourierB-ISOL1 FS} bind def
/CBG {350 /CourierB-ISOL1 FS} bind def

/nGs {350 /Times-ISOL1 FS  show} bind def
/kGs {350 /TimesI-ISOL1 FS  show} bind def
/bGs {350 /TimesB-ISOL1 FS  show} bind def
/jGs {350 /TimesBI-ISOL1 FS  show} bind def
/sGs {350 /Symbol FS  show} bind def
/iGs {300 /Times-ISOL1 FS 0 -80 rmoveto show 0   80 rmoveto} bind def
/eGs {300 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ibGb {300 /TimesB-ISOL1 FS 0 -80 rmoveto show 0   80 rmoveto} bind def
/ebGb {300 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ipG {300 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def

%20% kleiner
/nMs {300 /Times-ISOL1 FS  show TM} bind def
/kMs {300 /TimesI-ISOL1 FS  show TM} bind def
/bMs {300 /TimesB-ISOL1 FS  show TM} bind def
/jMs {300 /TimesBI-ISOL1 FS  show TM} bind def
/sMs {300 /Symbol FS  show TM} bind def
/iMs {250 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TM} bind def
/eMs {250 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ibMs {250 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TM} bind def
/ebMs {250 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ipM {250 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def

%40% kleiner
/nKs {250 /Times-ISOL1 FS  show TK} bind def
/kKs {250 /TimesI-ISOL1 FS  show TK} bind def
/bKs {250 /TimesB-ISOL1 FS  show TK} bind def
/jKs {250 /TimesBI-ISOL1 FS  show TK} bind def
/sKs {250 /Symbol FS  show TK} bind def
/iKs {200 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TK} bind def
/eKs {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ibKs {200 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TK} bind def
/ebKs {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ipK {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def

%60% kleiner
/nLs {200 /Times-ISOL1 FS  show TL} bind def
/kLs {200 /TimesI-ISOL1 FS  show TL} bind def
/bLs {200 /TimesB-ISOL1 FS  show TL} bind def
/jLs {200 /TimesBI-ISOL1 FS  show TL} bind def
/sLs {200 /Symbol FS  show TL} bind def
/iLs {160 /Times-ISOL1 FS 0 -40 rmoveto show 0 40 rmoveto TL} bind def
/eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def
/ibLs {160 /TimesB-ISOL1 FS 0 -40 rmoveto show 0 40 rmoveto TL} bind def
/ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def
/ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TL} bind def
/jbLs {160 /TimesBI-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def

%80% smaller
/nSs {160 /Times-ISOL1 FS  show TS} bind def
/kSs {160 /TimesI-ISOL1 FS  show TS} bind def
/bSs {160 /TimesB-ISOL1 FS  show TS} bind def
/jSs {160 /TimesBI-ISOL1 FS  show TS} bind def
/sSs {160 /Symbol FS  show TS} bind def
/iSs {130 /Times-ISOL1 FS 0 -30 rmoveto show 0 30 rmoveto TS} bind def
/eSs {130 /Times-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def
/ibSs {130 /TimesB-ISOL1 FS 0 -30 rmoveto show 0 30 rmoveto TS} bind def
/ebSs {130 /TimesB-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def
/ipS {130 /Times-ISOL1 FS 20 20 rmoveto (\267) show 20 -20 rmoveto TS} bind def
/jbSs {130 /TimesBI-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def

/20rm {20 0 rmoveto} def

/cvishow {cvi 10 string cvs show} def
/cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def
/cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def
/cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def
/cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def

/cvsshow1x {/nxx exch def                              %example nxx=99.1/99.0
             nxx 0 lt {(-) show}
                      {() show} ifelse
             nxx 10 mul cvi abs /nxi exch def          %nxi=991/990
             nxi 10 idiv /nxa exch def                 %nxa=99
             nxi nxa 10 mul sub /nxb exch def          %nxb=1/0
             nxa cvishow (,) show                      %nxa=99
             nxb cvishow                               %nxb=1/0
           } def
/cvsshow2x {/nxx exch def                              %example nxx=99.12/99,02/99,00
             nxx 0 lt {(-) show}
                      {() show} ifelse
             nxx 100 mul cvi abs /nxi exch def         %nxi=9912/9902/00
             nxi 100 idiv /nxa exch def                %nxa=99
             nxi nxa 100 mul sub /nxb exch def         %nxb=12/02/00
             nxa cvishow (,) show                      %nxb=99,
             nxb 10 ge {nxb cvishow} if                %nxb=12
             nxb  1 ge
             nxb  9 le and {(0) show nxb cvishow} if   %nxb=02
             nxb  0 eq {(00) show} if                  %nxb=00
           } def
/cvsshow3x {/nxx exch def                              %example nxx=99.123/99.012/99.001/99.000
             nxx 0 lt {(-) show}
             {() show} ifelse
             nxx 1000 mul cvi abs /nxi exch def        %nxi=99123/99012/99001/99000
             nxi 1000 idiv /nxa exch def               %nxa=99
             nxi nxa 1000 mul sub /nxb exch def        %nxb=123/012/001/000
             nxa cvishow (,) show                      %nxb=99,
             nxb 100 ge {nxb cvishow} if               %nxb=123/012/001/000
             nxb  10 ge
             nxb  99 le and {(0) show nxb cvishow} if  %nxb=012
             nxb   1 ge
             nxb   9 le and {(00) show nxb cvishow} if %nxb=001
             nxb   0 eq {(000) show} if                %nxb=000
           } def

/cvsshow4x {/nxx exch def                              %example nxx=99.123/99.0
             nxx 0 lt {(-) show}
                      {() show} ifelse
             nxx 10000 mul cvi abs /nxi exch def        %nxi=99123/99012/99001/9
             nxi 10000 idiv /nxa exch def               %nxa=99
             nxi nxa 10000 mul sub /nxb exch def        %nxb=123/012/001/000
             nxa cvishow (,) show                       %nxb=99,
             nxb 1000 ge {nxb cvishow} if               %nxb=123/012/001/000
             nxb  100 ge
             nxb  999 le and {(0) show nxb cvishow} if  %nxb=012
             nxb  10 ge
             nxb  99 le and {(00) show nxb cvishow} if  %nxb=012
             nxb   1 ge
             nxb   9 le and {(000) show nxb cvishow} if %nxb=001
             nxb   0 eq {(0000) show} if                %nxb=000
           } def

/cvsshow4s {/nxx exch def                              %example nxx=-0,1234
             nxx 0 lt {(-0,) show}
                      {(0,) show} ifelse
             /nxi nxx 10000 mul cvi abs def            %nxi=1234
             nxi 1000 ge {nxi cvishow} if              %nxb=123/012/001/000
             nxi 100 ge
             nxi 999 le and {(0) show nxi cvishow} if      %nxb=123/012/001/000
             nxi  10 ge
             nxi  99 le and {(00) show nxi cvishow} if  %nxb=012
             nxi   1 ge
             nxi   9 le and {(000) show nxi cvishow} if %nxb=001
             nxi   0 eq {(0000) show} if                %nxb=000
           } def

%XCHA01.PS BEG
/rec %x, y width heigth
  {/heigth exch def /width exch def
   moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def

/colrecfi %x y width heigth r g b
  {setrgbcolor rec fill} bind def

/colrecst %x y width heigth r g b
  {setrgbcolor rec stroke} bind def

/rem %x, y width heigth
  {/heigth exch 0.5 mul def /width exch 0.5 mul def
   /yleftb exch heigth 0.5 mul add def
   /xleftb exch width  0.5 mul add def
   xleftb yleftb
   moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def

/colremfi %x y width heigth r g b
  {setrgbcolor rem fill} bind def

/colremst %x y width heigth r g b
  {setrgbcolor rem stroke} bind def

/tfr {1.0 0.0 0.0 setrgbcolor} bind def %Reproduktionsfarben
/tfg {0.0 1.0 0.0 setrgbcolor} bind def
/tfb {0.0 0.0 1.0 setrgbcolor} bind def
/tfc {0.0 1.0 1.0 setrgbcolor} bind def
/tfm {1.0 0.0 1.0 setrgbcolor} bind def
/tfy {1.0 1.0 0.0 setrgbcolor} bind def

/tfw {1.00 1.00 1.00 setrgbcolor} bind def %Graureihe
/tfh {0.75 0.75 0.75 setrgbcolor} bind def
/tfz {0.50 0.50 0.50 setrgbcolor} bind def
/tfd {0.25 0.25 0.25 setrgbcolor} bind def
/tfn {0.00 0.00 0.00 setrgbcolor} bind def

%***************************************************
/proc_equaHAU {%BEG proc_equaHAU
/x00t 0050 def %La
/x0pt 0150 def %equations
/x01t 0600 def %phi
/x02t 1100 def %CT
/x03t 1850 def %S0
/x04t 2600 def %S1
/x05t 3400 def %B0
/x06t 4000 def %B*LY
/x07t 4800 def %LLt/sx
/x08t 5450 def %(La/Lt)/dx

/xt0e 5740 def

/yt0t 3750 def %title

/yt0e 3200 def %main equations

/y00t 2000 def
/ydel 0250 def

/y00tp 2300 def

%top lines
/Haub_Laj 7 array def %300 default, index j=jchart=0,6
%j                    0    1    2    3    4    5    6
jLaj 0 eq {/Haub_Laj [0300 1000 0200 0040 0008 01.6 0.32 ] def} if
jLaj 1 eq {/Haub_Laj [1000 0200 0040 0008 01.6 0.32 0.064] def} if
jLaj 2 eq {/Haub_Laj [1500 0300 0030 0003 00.3 0.03 0.003] def} if

ifunc 1 ge {0 yt0t 250 add moveto 6000 0 rlineto stroke} if
x00t yt0t moveto
TBL (Relationship brightness ) showen
    (Beziehung Hellheit ) showde
(B*) jLs -60 -30 rmoveto ifunc 1 le {(LT) ibLs}
                                    {(YT) ibLs} ifelse 0 30 rmoveto
ipu 1 le {%ipu=0
            TBL ( and luminance ) showen
                ( und Leuchtdichte ) showde 
            (L) jLs (T) ibLs
           }%ipu=0
           {%ipu=1
            TBL ( and viewing angle ) showen
                ( & Beobachtungswinkel ) showde
            SL (j) show
           } ifelse %ipu=1

TBL ( as function) showen
    ( als Funktion) showde

x00t yt0t 250 sub moveto
TBL (of tristimulus value ) showen
    (von Normfarbwert ) showde
(Y) jLs (T) ibLs
TBL ( for the adaptation luminance ) showen
    ( f\374r Adaptationsleuchtdichte ) showde
(L) jLs (a) ibLs 20rm (=) bLs 20rm
Haub_Laj jchartl get cvishow 
( cd/m) bLs (2) ebLs

0 yt0t 250 sub 80 sub moveto 6000 0 rlineto stroke

%/iout 1 def
%iout 1 eq {%iout=1

x0pt yt0e moveto
(B*) jLs -60 -30 rmoveto ifunc 1 le {(LT) ibLs}
                                    {(YT) ibLs} ifelse 0 30 rmoveto
(\050) bLs (L) jLs (T) ibLs (, ) bLs (L) jLs 
         ifunc 1 le {(a) ibLs}
                    {(r) ibLs} ifelse
ifunc 2 eq {(, ) bLs (L) jLs (r) ibLs} if
(, ) bLs SL (j) show (\051) bLs ( = ) bLs

ifunc 2 eq {([) bLs} if %ifunc>=2

ifunc 0 eq
ifunc 2 eq or {%ifunc=0,2
(C) jLs (T) ibLs (\050) bLs SL (j) show (\051) bLs
20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs
(B) jLs
ifunc 0 eq {(a) ibLs}{(r) ibLs} ifelse
(\050) bLs (L) jLs 
ifunc 0 eq {(a) ibLs}{(r) ibLs} ifelse
(, ) bLs SL (j) show (\051) bLs 
} if %ifunc=0,2

ifunc 1 eq {%ifunc=1
(s) bLs (x) ibLs (\050) bLs
SL (j) show (\051) bLs
20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs
(d) jLs (xa) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs
} if %ifunc=1

ifunc 2 eq {(]) bLs 20rm (B*) jLs -60 0 rmoveto (ra) ibLs} if

ifunc 3 eq {%ifunc=3
(s) bLs (yra) ibLs (\050) bLs SL (j) show (\051) bLs
20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs
(d) jLs (yra) ibLs (\050) bLs SL (j) show (\051) bLs
} if %ifunc=3

ifunc 1 le {xt0e 1400 sub yt0e moveto
            TBL (brightness ) showen (Hellheit ) showde
            (B*) jLs -60 -30 rmoveto (LT) ibLs}
           {xt0e 1400 sub yt0e moveto
            TBL (brightness ) showen (Hellheit ) showde
            (B*) jLs -60 -30 rmoveto (YT) ibLs
           } ifelse 

xt0e yt0e moveto
([1]) bLs

x0pt yt0e 300 sub moveto
(B) jLs 
ifunc 1 le {(a) ibLs (\050) bLs (L) jLs (a) ibLs}
           {(r) ibLs (\050) bLs (L) jLs (r) ibLs} ifelse
(, ) bLs SL (j) show (\051) bLs ( = ) bLs
(C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs
20rm ([) bLs
(S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs
(S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs 
20rm (L) jLs 
ifunc 1 le {(a) ibLs}{(r) ibLs} ifelse -60 0 rmoveto (n) ebLs 
(]) bLs

ifunc 1 le {%ifunc<=1,>=2
            xt0e 1950 sub yt0e 300 sub moveto
            (\050n=0,31\051) bLs
           }
           {%ifunc>=2
            xt0e 2400 sub yt0e 300 sub moveto
            (\050n=0,31) bLs
            (, ) bLs (B*) jLs -60 -10 rmoveto (ra) ibLs 0 10 rmoveto
            (=) bLs (B*) jLs
            -60 -30 rmoveto (LT,r) ibLs 0 30 rmoveto 20rm (/) bLs
                    (B*) jLs 
            -60 -30 rmoveto (LT,a) ibLs 0 30 rmoveto (\051) bLs
           } ifelse %ifunc>=2

xt0e yt0e 300 sub moveto
([2]) bLs

ifunc 0 eq {%ifunc=0
x0pt yt0e 600 sub moveto
(L) jLs (Lt) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs ( = ) bLs
([) bLs
(S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs
(S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs
20rm (L) jLs (a) ibLs -60 0 rmoveto (n) ebLs
(]) bLs 20rm (1/n) ebLs
} if %ifunc=0

ifunc 2 eq {%ifunc=2
x0pt yt0e 600 sub moveto
(L) jLs (Yt) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs ( = ) bLs
([) bLs
(S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs
(S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs
20rm (L) jLs (r) ibLs -60 0 rmoveto (n) ebLs
(]) bLs 20rm (1/n) ebLs
%20rm (L) bLs (ra) iLs -80 0 rmoveto (n) ebLs 
20rm (B*) jLs -60 -10 rmoveto (ra) iLs
} if %ifunc=2

ifunc 1 eq {%ifunc=1
x0pt yt0e 600 sub moveto
(s) jLs (x) ibLs (\050) bLs SL(j) show (\051) bLs
( = ) bLs
(C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs
(  [3]) bLs

x0pt 1900 add yt0e 600 sub moveto
(d) jLs (xa) ibLs (\050) bLs SL(j) show (\051) bLs ( = ) bLs
(B) jLs (a) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs
(  [4]) bLs

} if 

ifunc 3 eq {%ifunc=3
x0pt yt0e 600 sub moveto
(s) jLs (yra) ibLs (\050) bLs SL(j) show (\051) bLs
(=) bLs
(C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs
20rm (B*) jLs -60 -10 rmoveto (ra) ibLs
(  [3]) bLs

x0pt 2000 add yt0e 600 sub moveto
(d) jLs (yra) ibLs (\050) show SL(j) show (\051) bLs
(=) bLs
(B) jLs (r) ibLs (\050) bLs (L) jLs (r) ibLs
(, ) bLs SL (j) show (\051) bLs
20rm (B*) jLs -60 -10 rmoveto (ra) ibLs
(  [4]) bLs

} if

ifunc 0 eq 
ifunc 2 eq or {%ifunc=0,2
xt0e 1950 sub yt0e 600 sub moveto
(\050) bLs
TBL (t=black threshold) showen (t=Schwarzschwelle) showde
(\051) bLs
           } if %ifunc=0,2

ifunc 1 eq 
ifunc 3 eq or {%ifunc=1,3
xt0e 1350 sub yt0e 600 sub moveto
(\050) bLs
TBL (s=scaling factor) showen (s=Skalierfaktor) showde
(\051) bLs
           } if %ifunc=1,3

ifunc 0 eq 
ifunc 2 eq or {%ifunc=0,2
xt0e yt0e 600 sub moveto
([3]) bLs
} if %ifunc=0,2

x00t y00tp moveto
ifunc 1 le {(L) jLs (T) ibLs}
           {(Y) jLs (T) ibLs} ifelse

x01t y00tp moveto
SL (j) show

x02t y00tp moveto
(C) jLs (T) ibLs (\050) bLs SL (j) show (\051) bLs

x03t y00tp moveto
TBL (S) show (0) ibLs (\050) bLs SL (j) show (\051) bLs

x04t y00tp moveto
TBL (S) show (1) ibLs (\050) bLs SL (j) show (\051) bLs

x05t 200 sub y00tp moveto
ifunc 1 le {(B) jLs (a) ibLs 
            (\050) bLs (L) jLs (a) ibLs (,) bLs SL (j) show (\051) bLs}
           {(B) jLs (r) ibLs
            (\050) bLs (L) jLs (r) ibLs (,) bLs SL (j) show (\051) bLs} ifelse

x06t y00tp moveto
(B*) jLs -60 -30 rmoveto
ifunc 1 le {(LT) iLs}
           {(YT) iLs} ifelse 0 30 rmoveto

x07t y00tp moveto
ifunc 0 eq {(L) jLs (Lt) ibLs} if
ifunc 1 eq {(s) bLs (x) ibLs (\050) bLs SL (j) show (\051) bLs} if
ifunc 2 eq {(L) jLs (Yt) ibLs} if
ifunc 3 eq {-100 0 rmoveto (s) bLs (yra) ibLs
                           (\050) bLs SL (j) show (\051) bLs} if

x08t y00tp moveto
ifunc 0 eq {(L) jLs (a) ibLs (/) bLs (L) jLs (t) ibLs} if
ifunc 1 eq {-050 0 rmoveto 
            (d) bLs (xa) ibLs 
            (\050) bLs SL (j) show (\051) bLs} if
ifunc 2 eq {(L) jLs (a) ibLs (/) bLs (L) jLs (t) ibLs} if
ifunc 3 eq {-100 0 rmoveto
            (d) bLs (yra) ibLs 
            (\050) bLs SL (j) show (\051) bLs} if
%} if %iout=1

} bind def %END proc_equaHAU

%***************************************************
%old: proc_functab
/proc_funcHAU1 {%BEG proc_funcHAU1 function Haubner 4 versions, ifunc-0 to 3
%from 'hnq5'Y10-3R_R.EPS, line 259:371
/Haubdatj 28 array def %phi, Cr(phi), S0(phi), S1(phi)

%BEG Haubdati Table 1, 7x4 data
%A Unified Relationship between Brightness an Luminance
%P. Haubner, H.-W. Bodmann and A.W. Marsden
%Siemens Forsch. u. Entwickl.Ber. Bd. 9 (1980), Nr. 6, p.315-318

/phk 7 array def %form above publication, i=ichart=6,0 10,20,..,120
/CTk 7 array def
/S0k 7 array def
/S1k 7 array def
/Ltk 7 array def %t=black threshold, equ. (71), Haubner, PhD-thesis

/phi 7 array def %form above publication, i=ichart=0,6 120,90,..,10
/CTi 7 array def
/S0i 7 array def
/S1i 7 array def
/Lti 7 array def %t=black threshold, equ. (71), Haubner, PhD-thesis

%Lti=[S0i + S1i*(La)^n]^(1/n)

%Table 1 order of Haubner
%/phk [010     020     030     060     090     100     120    ] def
%/CTk [30.747  27.971  26.235  23.973  23.415  23.128  22.969 ] def
%/S0k [0.27308 0.20132 0.17975 0.13133 0.10838 0.07473 0.07186] def
%/S1k [0.39842 0.35557 0.31888 0.26578 0.25265 0.24943 0.24481] def

%inverse Table 1 order of Haubner, used as default, index i=ichart=0,6
/phi [120     100     090     060     030     020     010    ] def
/CTi [22.969  23.128  23.415  23.973  26.235  27.971  30.747 ] def
/S0i [0.07186 0.07473 0.10868 0.13133 0.17975 0.20132 0.27308] def
/S1i [0.24481 0.24943 0.25265 0.26578 0.31888 0.35557 0.39842] def

/Haub_Laj 7 array def %300 default, index j=jchart=0,6
%j                    0    1    2    3    4    5    6    
jLaj 0 eq {/Haub_Laj [0300 1000 0200 0040 0008 01.6 0.32 ] def} if
jLaj 1 eq {/Haub_Laj [1000 0200 0040 0008 01.6 0.32 0.064] def} if
jLaj 2 eq {/Haub_Laj [3000 0300 0030 0003 00.3 0.03 0.003] def} if

/Haub_n     0.31     def %fix
/Haub_1Mn 1 0.31 div def %=3.2268 (1Mn=1-Minus-n)

/Haub_B0ij 49 array def %=7x7 options for ichart=0,6 and jchart=0,6
/Haub_Ltij 49 array def %t=black threshold
/Haub_B*ij 49 array def %brightness - Hellheit

/Laj     Haub_Laj jchart get def %a=7 Adaptations white La=300, 1000, ..0.32
/Lajen   Laj Haub_n exp def

/Lr      300 def                  %r=reference=La0
/Lren    Lr Haub_n exp def        %e=exponent

/Lrdaj   Lr Laj div def
/Lrdajen Lrdaj Haub_n exp def

/Lajdr   Laj Lr div def
/Lajdren Lajdr Haub_n exp def

/LTj     Laj def              %0.01Laj < Haub_Laj < 10Laj
                              %or 0,16 <= Haub_Laj <= 5000 cd/m^2
/LTjen   LTj Haub_n exp def

/LTjdaj   LTj Laj div def
/LTjdajen LTjdaj Haub_n exp def

/Lu     Lr 0.18 mul def
/Luen   Lu Haub_n exp def

%B0(Lr ,p)= CTi(p) [S0i(p) + S1i(p) * Lr^n ]
%B0(Laj,p)= CTi(p) [S0i(p) + S1i(p) * Laj^n]
%B0(Lr,p)/B0(Laj,p)=[S0i(p) + S1i(p) * Lr^n] /[S0i(p) + S1i(p) * Laj^n]
%B0(Laj,p)/B0(Lr,p)=[S0i(p) + S1i(p) * Laj^n]/[S0i(p) + S1i(p) * Lr^n ]
%

%only for phi=120 mit fix constants CTi, S0i & S1i and i=0
/CTLr   CTi 0 get def         %Lr =reference white 300 cd/m^2
/CTLaj  CTi 0 get def         %Laj=diffuse white 300,1000,200,40,8 cd/m^2
/B0Lr     S0i 0 get S1i 0 get Lren  mul add CTi 0 get mul def
/B0Laj    S0i 0 get S1i 0 get Lajen mul add CTi 0 get mul def
%B0LrdLaj=(S0i 0 get S1i 0 get Lren   mul add)
%        /(S0i 0 get S1i 0 get Lajen  mul add)
/B0LrdLaj B0Lr B0Laj div def
/B0LajdLr B0Laj B0Lr div def

/B*B0Lr  CTi 0 get Lren  mul B0Lr  sub def %=100 for Lr =300
/B*B0Laj CTi 0 get Lajen mul B0Laj sub def %=145 for Laj=1000 (example)
/B*B0LrdLaj B*B0Lr B*B0Laj div def

/B*facx B*B0Lr B*B0Laj div def             %=100/145 for Lr=300 and Laj=1000
/B*B0Lx  CTi 0 get Lajen mul B0Laj sub def %=145
/B*B0Lx  CTi 0 get Lajen mul B0Laj sub B*facx mul def %=100 for any Lx

/B0ij  49 array def
/Brij  49 array def
/B*ij  49 array def %original
/B*Lij 49 array def %includes La,phi (only)
/B*Yij 49 array def %includes La,phi and Lr=300 (r=reference)
/Ltij  49 array def
/Ytij  49 array def
/CTij  49 array def

/sxij 49 array def
/dxij 49 array def
/syij 49 array def
/dyij 49 array def

/B*LTui 7 array def
/B*YTui 7 array def
/LTui  7 array def
/YTui  7 array def

0 1 6 {/j exch def %j=0,6
0 1 6 {/i exch def %i=0,6
       /k i 6 mul j add def

%This is for original Haubner for La=300 normalized to B*Lij=B0ij=100
       %B0(La,p) = Cri(p) [S0i(p) + S1i(p) * La^n]
       B0ij k S0i  i get S1i i get Lajen mul add CTi i get mul put
       Brij k S0i  i get S1i i get Lren  mul add CTi i get mul put
       sxij k CTi  i get put
       dxij k B0ij k get put
       syij k CTi  i get B*B0LrdLaj mul put
       dyij k B0ij k get B*B0LrdLaj mul put

       Ltij k S0i  i get S1i i get Lajen mul add Haub_1Mn exp put
       Ytij k Ltij k get B*B0LrdLaj mul put

       ifunc 0 eq {B*Lij k CTi   i get LTjen mul B0ij k get sub put
                   %B*Yij k CTi   i get LTjen mul Brij k get sub put
                  } if
       ifunc 1 eq {B*Lij k sxij  k get LTjen mul dxij k get sub put
                   %B*Yij k CTi   i get LTjen mul Brij k get sub put
                  } if
       ifunc 2 eq {%B*Lij k CTi   i get LTjen mul B0ij k get sub put
                   B*Yij k CTi   i get LTjen mul Brij k get sub 
                   B*B0LrdLaj mul put
                  } if
       ifunc 3 eq {%B*Lij k syij  k get LTjen mul dyij k get sub put
                   B*Yij k CTi   i get LTjen mul Brij k get sub 
                   B*B0LrdLaj mul put
                  } if

       CTij  k Laj        Ltij k get div put

} for %i=0,6
} for %j=0,6

%STOPA

/Haub_n     0.31     def
/Haub_1Mn 1 0.31 div def

%for phi 0 get=120'(i=0), B0ij 0 get=34,60 (i=0,j=0), 
%CTi 0 get (i=0), S0i 0 get (i=0), S1i 0 get (i=0), n=0,31

/phu phi  0 get def %i=0
/CTu CTi  0 get def %i=0
/S0u S0i  0 get def %i=0
/S1u S1i  0 get def %i=0

%/k i 6 mul j add def %phi i=0,1,..,6, Haub_Laj j=0,1,2,3

%STOPB

%larger loop
ifunc 1 le {%ifunc<=1,>1

ifunc 0 eq {/B0u B0ij 0 get def} if %i=0,j=0,k=6*i+j=0 phi=120', La=0300
ifunc 1 eq {/B0u B0ij 1 get def} if %i=0,j=1,k=6*i+j=1 phi=120', La=1000
ifunc 2 eq {/B0u B0ij 2 get def} if %i=0,j=2,k=6*i+j=2 phi=120', La=0200
ifunc 3 eq {/B0u B0ij 3 get def} if %i=0,j=3,k=6*i+j=3 phi=120', La=0040


%ifunc 0 eq {B*Lij k CTi   i get LTjen mul B0ij k get sub put} if
%ifunc 1 eq {B*Lij k sxij  k get LTjen mul dxij k get sub put} if
%ifunc 2 eq {B*Yij k CTi   i get LTjen mul B0ij k get sub
%            Lrdajen mul put} if
%ifunc 3 eq {B*Yij k syij  k get LTjen mul dyij k get sub put} if

%B*Lu=CTu*(LTu)**n-B0u=B*Laj/3.  (150->50=150/3)
%LTu**n=(B*Lu+B0u)/CTu
%LTu   =[(B*Lu+B0u)/CTu]**(1/n)
%LTu   =[(B*Laj/3+B0u)/CTu]**(1/n) %B*Laj=300, 1000, 200, 40
%YTu   =LTu/Laj

%example B*Lu=50
%/B*Lu 50 def
%/LTu B*Lu B0u add CTu div Haub_1Mn exp def
%/YTu LTu Laj div 100 mul def

%example for B*La=145 (for Laj=1000)
/CTp CTi 0 get def
/B0p  B0Laj def
/B*Lp B*B0Laj def                             %= 145 (p=peak white)
/LTp B*Lp B0p add CTp div Haub_1Mn exp def
/YTp LTp Laj div 100 mul def

/B*del B*Lp  4 div def
0 1 5 {/i exch def %i=0,5
       B*LTui i B*Lp B*del 2 mul add i B*del mul sub put
       B*YTui i B*LTui i get B*B0LrdLaj mul put
       LTui   i B*LTui i get B0u add CTu div Haub_1Mn exp put
       YTui   i LTui i get B*B0LrdLaj mul put
      } for %i=0,5
B*LTui 6 B*LTui 4 get put
B*YTui 6 B*LTui 4 get put
LTui  6 LTui 4 get put
YTui  6 YTui 4 get put

%STOP1X

         }%ifunc<=1

         {%ifunc=2,3

%B*Yu=[CTu*(LTu)**n-B0u]*Lrda**n
%B*Yu/Lrda**n=CTu*(LTu)**n-B0u
%LTu**n=[B*Yu/Lrda**n + B0u]/CTu
%LTu   ={[B*Yu/Lrda**n + B0u]/CTu}**(1/n)
%LTu   ={[50  /Lrda**n + B0u]/CTu}**(1/n)
%YTu   =LTu/Laj

%for B*Yu=50:
ifunc 0 eq {/Lrdaen Lr Haub_Laj 0 get div Haub_n exp def} if
ifunc 1 eq {/Lrdaen Lr Haub_Laj 1 get div Haub_n exp def} if
ifunc 2 eq {/Lrdaen Lr Haub_Laj 2 get div Haub_n exp def} if
ifunc 3 eq {/Lrdaen Lr Haub_Laj 3 get div Haub_n exp def} if

%exmple for 50:
%/B*Yu 50 def
%/YTu 50 Lrdaen div B0u add CTu div Haub_1Mn exp def

%example for B*La=145 (for Laj=1000)
/CTp CTi 0 get def
/B0p  B0Laj def
/B*Lp B*B0Laj def                             %= 145 (p=peak white)
/LTp B*Lp B0p add CTp div Haub_1Mn exp def
/YTp LTp Laj div 100 mul def

/B*del B*Lp  4 div def
0 1 5 {/i exch def %i=0,5
       B*LTui i B*Lp B*del 2 mul add i B*del mul sub put
       B*YTui i B*LTui i get B*B0LrdLaj mul put
       LTui   i B*LTui i get B0u add CTu div Haub_1Mn exp put
       YTui   i LTui i get B*B0LrdLaj mul put
      } for %i=0,5
B*LTui 6 B*LTui 4 get put
B*YTui 6 B*LTui 4 get put
LTui  6 LTui 4 get put
YTui  6 YTui 4 get put

} ifelse %ifunc=2,3

ipu 0 eq {%ipu=0
/j jchart def
0 1 7 {/i exch def %i=0,7
       /k i 6 mul j add def
       /y00ti y00t i i 7 eq {0.3 add} if ydel mul sub def
       x00t y00ti moveto
       Haub_Laj j get cvishow

       i 6 le {%i<=6,7
       x01t y00ti moveto
       phi i get cvishow (') show
       x02t y00ti moveto
       CTi i get cvsshow3x
       x03t y00ti moveto
       S0i i get cvsshow4x
       x04t y00ti moveto
       S1i i get cvsshow4x

       x05t  y00ti moveto
       ifunc 1 le {B0ij  i get cvsshow2x}
                  {Brij  i get cvsshow2x} ifelse
               }%i<=6
               {%i=7
       x01t y00ti moveto
       phi 0 get cvishow (') show
       x02t y00ti moveto
       CTi 0 get cvsshow3x
       x03t y00ti moveto
       S0i 0 get cvsshow4x
       x04t y00ti moveto
       S1i 0 get cvsshow4x

       x05t  y00ti moveto
       ifunc 1 le {B0ij  0 get cvsshow2x}
                  {Brij  0 get cvsshow2x} ifelse
               } ifelse %i<=6,7

       i 7 eq {/k jchart def} if
       x06t  y00ti moveto
       ifunc 1 le {B*Lij k get cvsshow2x}
                  {B*Yij k get cvsshow2x} ifelse

       x07t y00ti moveto
       ifunc 0 eq {Ltij k get cvsshow2x} if
       ifunc 1 eq {sxij k get cvsshow2x} if
       ifunc 2 eq {Ytij k get cvsshow2x} if
       ifunc 3 eq {syij k get cvsshow2x} if

       x08t y00ti moveto
       ifunc 0 eq {CTij k get cvsshow2x} if
       ifunc 1 eq {dxij k get cvsshow2x} if
       ifunc 2 eq {CTij k get cvsshow2x} if
       ifunc 3 eq {dyij k get cvsshow2x} if
} for %i=0,7

} if %ipu=0

ipu 1 eq {%ipu=1
/j jchart def
0 1 7 {/i exch def %i=0,7
       /k i 6 mul j add def
       /y00ti y00t i i 7 eq {0.3 add} if ydel mul sub def

       i 5 le {%i<=5
               x00t y00ti moveto
               ifunc 1 le {LTui i get cvishow}
                          {YTui i get cvishow} ifelse
              } if %i<=5

       i 6 eq {%i=6
               x00t y00ti moveto
               ifunc 2 le {Ltij 0 get cvsshow2x}
                          {Ytij 0 get cvsshow2x} ifelse
              } if %i=6

       i 7 eq {%i=7
               x00t y00ti moveto
               ifunc 1 le {LTui 4 get cvishow}
                          {YTui 4 get cvishow} ifelse
              } if %i<=7

       x01t y00ti moveto
       phi 0 get cvishow (') show
       x02t y00ti moveto
       CTi 0 get cvsshow3x
       x03t y00ti moveto
       S0i 0 get cvsshow4x
       x04t y00ti moveto
       S1i 0 get cvsshow4x

       x05t  y00ti moveto
       ifunc 1 le {B0ij  i get cvsshow2x}
                  {Brij  i get cvsshow2x} ifelse

       x06t  y00ti moveto
       i 5 le {%i<=5
               ifunc 1 le {B*LTui i get cvsshow2x}
                          {B*YTui i get cvsshow2x} ifelse
              } if %i<=5
       i 6 eq {0 cvsshow2x} if
       i 7 eq {%i=7
               ifunc 1 le {B*LTui 4 get cvsshow2x}
                          {B*YTui 4 get cvsshow2x} ifelse
              } if %i=7

       x07t y00ti moveto
       ifunc 0 eq {Ltij 0 get cvsshow2x} if
       ifunc 1 eq {sxij 0 get cvsshow2x} if
       ifunc 2 eq {Ytij 0 get cvsshow2x} if
       ifunc 3 eq {syij 0 get cvsshow2x} if

       x08t y00ti moveto
       ifunc 0 eq {CTij 0 get cvsshow2x} if
       ifunc 1 eq {dxij 0 get cvsshow2x} if
       ifunc 2 eq {CTij 0 get cvsshow2x} if
       ifunc 3 eq {dyij 0 get cvsshow2x} if
} for %i=0,7

} if %ipu=1


%calculation and output for B*Lu=0.5 B*La and B*Yu = 50
/ioute 0 def
%ioute 1 eq {%ioute=1
%output for B*Yu = 50
%for u: i=0, j=0,1,2,3
%/j 0 def
%       /y00ti y00t 6.3 ydel mul sub def
%       x00t y00ti moveto
%       ifunc 0 eq {LTu 0 get cvsshow1x} if
%       ifunc 1 eq {LTu 0 get cvsshow1x} if
%       ifunc 2 eq {YTu 0 get cvsshow1x} if
%       ifunc 3 eq {YTu 0 get cvsshow1x} if
%       x01t y00ti moveto
%       phu cvishow (') show
%       x02t y00ti moveto
%       CTu cvsshow3x
%       x03t y00ti moveto
%       S0u cvsshow4x
%       x04t y00ti moveto
%       S1u cvsshow4x

%       x05t  y00ti moveto
%       B0u cvsshow2x

%       x06t  y00ti moveto
%       ifunc 0 eq {B*LTui 0 get cvsshow2x} if
%       ifunc 1 eq {B*LTui 0 get cvsshow2x} if
%       ifunc 2 eq {B*YTui 0 get cvsshow2x} if
%       ifunc 3 eq {B*YTui 0 get cvsshow2x} if

%       x07t y00ti moveto
%       ifunc 0 eq {LTui 0 get cvsshow2x} if
%%       ifunc 1 eq {sxu cvsshow2x} if
%       ifunc 2 eq {YTui 0 get cvsshow2x} if
%%       ifunc 3 eq {syu cvsshow2x} if

%       x08t y00ti moveto
%       ifunc 0 eq {CTu cvsshow2x} if
%%       ifunc 1 eq {dxu cvsshow2x} if
%       ifunc 2 eq {CTu cvsshow2x} if
%%       ifunc 3 eq {dyu cvsshow2x} if
%} if %ioute=1

} bind def %END proc_funcHAU function Haubner 7x7 versions, ifunc-0 to 3

%***************************************************
%%EndProlog
gsave

/lanind 1 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 1 def /lanind2 1 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 3 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 /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 %always independent of intended output

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

gsave
%XCHA01.PS END

/cvishow0 {cvi 6 string cvs show} def

72 90 translate

0.010 MM dup scale

/xbtex0 1 def  %xbtex=0 for files Y1(0/1)-(3/7)n.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
150 -140 moveto
(hes00-3R_R) show
} if %xbtex0=1

/ipu 1 def %0:phi change 120'>=10', 1:La change 1000, 200, 40, 8 example
/xpos [00100 06150 00100 06150] def
/ypos [04480 04480 00220 00220] def

/x00t 0400 def %xpos for BEG equations
/x01t 1900 def %xpos for shift equations
/x00e 5250 def %xpos for Num equations

/jLaj 0 def %0:300,1000,200,40 %1:1000,200,40,8 %2:3000,300,30,3
/jchartl 1 def
%0 1 3 {/jchartl exch def %jchartl=0,3
        jchartl 0 eq {/jchart 0 def} if %0300 cd/m^2
        jchartl 1 eq {/jchart 1 def} if %1000 cd/m^2
        jchartl 2 eq {/jchart 2 def} if %0200 cd/m^2
        jchartl 3 eq {/jchart 3 def} if %0040 cd/m^2

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

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

gsave

/ifunc ifuncl def

ifunc 0 eq {/kchartl 0 def /pchartl 0 def} if %0,0:left  top  page
ifunc 1 eq {/kchartl 1 def /pchartl 0 def} if %1,0:right top  page
ifunc 2 eq {/kchartl 0 def /pchartl 4 def} if %0,4:left  down page
ifunc 3 eq {/kchartl 1 def /pchartl 4 def} if %1,4:right down page

20 setlinewidth

xpos ifuncl  get ypos ifuncl  get translate

0 setgray
150  /Times-ISOL1 FS
150 -140 moveto
(hes0) show 0 xchartl 2 ge {1 add} if cvishow0 (-) show
ifuncl 1 add xchartl 1 eq
             xchartl 3 eq or {4 add} if cvishow0
(a) show %a

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

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

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

%BEG ifunc=0,1,2,3 ********************************************

proc_equaHAU

proc_funcHAU1


TK
0 setgray
150  /Times-ISOL1 FS
1000 -140 moveto
(j=) nSs jchart cvishow (, ) nSs
(L) jSs (r)  iSs (=) nSs Lr  cvishow (, ) nSs
(L) jSs (aj) iSs (=) nSs Laj cvishow (, ) nSs
%(n) jSs (=0,31, ) nSs
SS (j) show (=) nSs phi 0 get cvishow (', ) show

ifunc 0 eq {(B)  jSs (a)   iSs (=) nSs B0ij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (LT) iSs 0 30 rmoveto (=) nSs
                                       B*Lij jchart get cvsshow2x 
           } if

ifunc 1 eq {(B)  jSs (a)   iSs (=) nSs B0ij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs
                                       B*Lij jchart get cvsshow2x (, ) nSs
            (s)  jSs (x)   iSs (=) nSs sxij  jchart get cvsshow2x (, ) nSs
            (d)  jSs (xa)  iSs (=) nSs dxij  jchart get cvsshow2x
           } if

ifunc 2 eq {(B)  jSs (r)   iSs (=) nSs Brij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs
                                       B*Yij jchart get cvsshow2x
           } if

ifunc 3 eq {(B)  jSs (r)   iSs (=) nSs Brij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs
                                       B*Yij jchart get cvsshow2x (, ) nSs
            (s)  jSs (yra) iSs (=) nSs syij  jchart get cvsshow2x (, ) nSs
            (d)  jSs (yra) iSs (=) nSs dyij  jchart get cvsshow2x
           } if

xpos ifuncl  get neg ypos ifuncl  get neg translate


grestore

} for %ifuncl=0,3

%} for %xchartl=0,3

%} for %jchartl=0,3

showpage
grestore

%%Trailer


%%EndDocument
EndEPSF grestore gsave

BeginEPSF  86 SHAl add MM 020 MM translate 12 /Times-ISOL1 FS -9 MM -7 MM  moveto
( ) show
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 18

%line 409
%!PS-Adobe-3.0 EPSF-3.0 hes00-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
     (hes00-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 hes01-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
     (hes01-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 hes01-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
     (hes01-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 http://farbe.li.tu-berlin.de/hes0/hes01-3N.EPS
%%BoundingBox: 70 85 421 335

%START PDFDE011.EPS
/pdfmark13 where {pop} {userdict /pdfmark13 /cleartomark load put} ifelse
/languagelevel where {pop languagelevel} {1} ifelse
2 lt { userdict (<<) cvn ([) cvn load put
       userdict (>>) cvn (]) cvn load put} if
[/Title (PostSCTipt pictures: farbe.li.tu-berlin.de/hes0/hes0.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:2024110112000)
 /ModDate (D:20241101112000)
/DOCINFO pdfmark13
[ /View [ /Fit ]
/DOCVIEW pdfmark13
%END  PDFDE011

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

/Times-ISOL1 exch definefont pop

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

/TimesI-ISOL1 exch definefont pop

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

/TimesB-ISOL1 exch definefont pop

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

/TimesBI-ISOL1 exch definefont pop

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

/TS {160 /Times-ISOL1 FS} bind def
/TL {200 /Times-ISOL1 FS} bind def
/TK {250 /Times-ISOL1 FS} bind def
/TM {300 /Times-ISOL1 FS} bind def
/TG {350 /Times-ISOL1 FS} bind def

/TIS {160 /TimesI-ISOL1 FS} bind def
/TIL {200 /TimesI-ISOL1 FS} bind def
/TIK {250 /TimesI-ISOL1 FS} bind def
/TIM {300 /TimesI-ISOL1 FS} bind def
/TIG {350 /TimesI-ISOL1 FS} bind def

/TBS {160 /TimesB-ISOL1 FS} bind def
/TBL {200 /TimesB-ISOL1 FS} bind def
/TBK {250 /TimesB-ISOL1 FS} bind def
/TBM {300 /TimesB-ISOL1 FS} bind def
/TBG {350 /TimesB-ISOL1 FS} bind def

/TBIS {160 /TimesBI-ISOL1 FS} bind def
/TBIL {200 /TimesBI-ISOL1 FS} bind def
/TBIK {250 /TimesBI-ISOL1 FS} bind def
/TBIM {300 /TimesBI-ISOL1 FS} bind def
/TBIG {350 /TimesBI-ISOL1 FS} bind def

/SS {160 /Symbol FS} bind def
/SL {200 /Symbol FS} bind def
/SK {250 /Symbol FS} bind def
/SM {300 /Symbol FS} bind def
/SG {350 /Symbol FS} bind def

/CS {160 /Courier-ISOL1 FS} bind def
/CL {200 /Courier-ISOL1 FS} bind def
/CK {250 /Courier-ISOL1 FS} bind def
/CM {300 /Courier-ISOL1 FS} bind def
/CG {350 /Courier-ISOL1 FS} bind def

/CBS {160 /CourierB-ISOL1 FS} bind def
/CBL {200 /CourierB-ISOL1 FS} bind def
/CBK {250 /CourierB-ISOL1 FS} bind def
/CBM {300 /CourierB-ISOL1 FS} bind def
/CBG {350 /CourierB-ISOL1 FS} bind def

/nGs {350 /Times-ISOL1 FS  show} bind def
/kGs {350 /TimesI-ISOL1 FS  show} bind def
/bGs {350 /TimesB-ISOL1 FS  show} bind def
/jGs {350 /TimesBI-ISOL1 FS  show} bind def
/sGs {350 /Symbol FS  show} bind def
/iGs {300 /Times-ISOL1 FS 0 -80 rmoveto show 0   80 rmoveto} bind def
/eGs {300 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ibGb {300 /TimesB-ISOL1 FS 0 -80 rmoveto show 0   80 rmoveto} bind def
/ebGb {300 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ipG {300 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def

%20% kleiner
/nMs {300 /Times-ISOL1 FS  show TM} bind def
/kMs {300 /TimesI-ISOL1 FS  show TM} bind def
/bMs {300 /TimesB-ISOL1 FS  show TM} bind def
/jMs {300 /TimesBI-ISOL1 FS  show TM} bind def
/sMs {300 /Symbol FS  show TM} bind def
/iMs {250 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TM} bind def
/eMs {250 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ibMs {250 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TM} bind def
/ebMs {250 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ipM {250 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def

%40% kleiner
/nKs {250 /Times-ISOL1 FS  show TK} bind def
/kKs {250 /TimesI-ISOL1 FS  show TK} bind def
/bKs {250 /TimesB-ISOL1 FS  show TK} bind def
/jKs {250 /TimesBI-ISOL1 FS  show TK} bind def
/sKs {250 /Symbol FS  show TK} bind def
/iKs {200 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TK} bind def
/eKs {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ibKs {200 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TK} bind def
/ebKs {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ipK {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def

%60% kleiner
/nLs {200 /Times-ISOL1 FS  show TL} bind def
/kLs {200 /TimesI-ISOL1 FS  show TL} bind def
/bLs {200 /TimesB-ISOL1 FS  show TL} bind def
/jLs {200 /TimesBI-ISOL1 FS  show TL} bind def
/sLs {200 /Symbol FS  show TL} bind def
/iLs {160 /Times-ISOL1 FS 0 -40 rmoveto show 0 40 rmoveto TL} bind def
/eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def
/ibLs {160 /TimesB-ISOL1 FS 0 -40 rmoveto show 0 40 rmoveto TL} bind def
/ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def
/ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TL} bind def
/jbLs {160 /TimesBI-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def

%80% smaller
/nSs {160 /Times-ISOL1 FS  show TS} bind def
/kSs {160 /TimesI-ISOL1 FS  show TS} bind def
/bSs {160 /TimesB-ISOL1 FS  show TS} bind def
/jSs {160 /TimesBI-ISOL1 FS  show TS} bind def
/sSs {160 /Symbol FS  show TS} bind def
/iSs {130 /Times-ISOL1 FS 0 -30 rmoveto show 0 30 rmoveto TS} bind def
/eSs {130 /Times-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def
/ibSs {130 /TimesB-ISOL1 FS 0 -30 rmoveto show 0 30 rmoveto TS} bind def
/ebSs {130 /TimesB-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def
/ipS {130 /Times-ISOL1 FS 20 20 rmoveto (\267) show 20 -20 rmoveto TS} bind def
/jbSs {130 /TimesBI-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def

/20rm {20 0 rmoveto} def

/cvishow {cvi 10 string cvs show} def
/cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def
/cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def
/cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def
/cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def

/cvsshow1x {/nxx exch def                              %example nxx=99.1/99.0
             nxx 0 lt {(-) show}
                      {() show} ifelse
             nxx 10 mul cvi abs /nxi exch def          %nxi=991/990
             nxi 10 idiv /nxa exch def                 %nxa=99
             nxi nxa 10 mul sub /nxb exch def          %nxb=1/0
             nxa cvishow (,) show                      %nxa=99
             nxb cvishow                               %nxb=1/0
           } def
/cvsshow2x {/nxx exch def                              %example nxx=99.12/99,02/99,00
             nxx 0 lt {(-) show}
                      {() show} ifelse
             nxx 100 mul cvi abs /nxi exch def         %nxi=9912/9902/00
             nxi 100 idiv /nxa exch def                %nxa=99
             nxi nxa 100 mul sub /nxb exch def         %nxb=12/02/00
             nxa cvishow (,) show                      %nxb=99,
             nxb 10 ge {nxb cvishow} if                %nxb=12
             nxb  1 ge
             nxb  9 le and {(0) show nxb cvishow} if   %nxb=02
             nxb  0 eq {(00) show} if                  %nxb=00
           } def
/cvsshow3x {/nxx exch def                              %example nxx=99.123/99.012/99.001/99.000
             nxx 0 lt {(-) show}
             {() show} ifelse
             nxx 1000 mul cvi abs /nxi exch def        %nxi=99123/99012/99001/99000
             nxi 1000 idiv /nxa exch def               %nxa=99
             nxi nxa 1000 mul sub /nxb exch def        %nxb=123/012/001/000
             nxa cvishow (,) show                      %nxb=99,
             nxb 100 ge {nxb cvishow} if               %nxb=123/012/001/000
             nxb  10 ge
             nxb  99 le and {(0) show nxb cvishow} if  %nxb=012
             nxb   1 ge
             nxb   9 le and {(00) show nxb cvishow} if %nxb=001
             nxb   0 eq {(000) show} if                %nxb=000
           } def

/cvsshow4x {/nxx exch def                              %example nxx=99.123/99.0
             nxx 0 lt {(-) show}
                      {() show} ifelse
             nxx 10000 mul cvi abs /nxi exch def        %nxi=99123/99012/99001/9
             nxi 10000 idiv /nxa exch def               %nxa=99
             nxi nxa 10000 mul sub /nxb exch def        %nxb=123/012/001/000
             nxa cvishow (,) show                       %nxb=99,
             nxb 1000 ge {nxb cvishow} if               %nxb=123/012/001/000
             nxb  100 ge
             nxb  999 le and {(0) show nxb cvishow} if  %nxb=012
             nxb  10 ge
             nxb  99 le and {(00) show nxb cvishow} if  %nxb=012
             nxb   1 ge
             nxb   9 le and {(000) show nxb cvishow} if %nxb=001
             nxb   0 eq {(0000) show} if                %nxb=000
           } def

/cvsshow4s {/nxx exch def                              %example nxx=-0,1234
             nxx 0 lt {(-0,) show}
                      {(0,) show} ifelse
             /nxi nxx 10000 mul cvi abs def            %nxi=1234
             nxi 1000 ge {nxi cvishow} if              %nxb=123/012/001/000
             nxi 100 ge
             nxi 999 le and {(0) show nxi cvishow} if      %nxb=123/012/001/000
             nxi  10 ge
             nxi  99 le and {(00) show nxi cvishow} if  %nxb=012
             nxi   1 ge
             nxi   9 le and {(000) show nxi cvishow} if %nxb=001
             nxi   0 eq {(0000) show} if                %nxb=000
           } def

%XCHA01.PS BEG
/rec %x, y width heigth
  {/heigth exch def /width exch def
   moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def

/colrecfi %x y width heigth r g b
  {setrgbcolor rec fill} bind def

/colrecst %x y width heigth r g b
  {setrgbcolor rec stroke} bind def

/rem %x, y width heigth
  {/heigth exch 0.5 mul def /width exch 0.5 mul def
   /yleftb exch heigth 0.5 mul add def
   /xleftb exch width  0.5 mul add def
   xleftb yleftb
   moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def

/colremfi %x y width heigth r g b
  {setrgbcolor rem fill} bind def

/colremst %x y width heigth r g b
  {setrgbcolor rem stroke} bind def

/tfr {1.0 0.0 0.0 setrgbcolor} bind def %Reproduktionsfarben
/tfg {0.0 1.0 0.0 setrgbcolor} bind def
/tfb {0.0 0.0 1.0 setrgbcolor} bind def
/tfc {0.0 1.0 1.0 setrgbcolor} bind def
/tfm {1.0 0.0 1.0 setrgbcolor} bind def
/tfy {1.0 1.0 0.0 setrgbcolor} bind def

/tfw {1.00 1.00 1.00 setrgbcolor} bind def %Graureihe
/tfh {0.75 0.75 0.75 setrgbcolor} bind def
/tfz {0.50 0.50 0.50 setrgbcolor} bind def
/tfd {0.25 0.25 0.25 setrgbcolor} bind def
/tfn {0.00 0.00 0.00 setrgbcolor} bind def

%***************************************************
/proc_equaHAU {%BEG proc_equaHAU
/x00t 0050 def %La
/x0pt 0150 def %equations
/x01t 0600 def %phi
/x02t 1100 def %CT
/x03t 1850 def %S0
/x04t 2600 def %S1
/x05t 3400 def %B0
/x06t 4000 def %B*LY
/x07t 4800 def %LLt/sx
/x08t 5450 def %(La/Lt)/dx

/xt0e 5740 def

/yt0t 3750 def %title

/yt0e 3200 def %main equations

/y00t 2000 def
/ydel 0250 def

/y00tp 2300 def

%top lines
/Haub_Laj 7 array def %300 default, index j=jchart=0,6
%j                    0    1    2    3    4    5    6
jLaj 0 eq {/Haub_Laj [0300 1000 0200 0040 0008 01.6 0.32 ] def} if
jLaj 1 eq {/Haub_Laj [1000 0200 0040 0008 01.6 0.32 0.064] def} if
jLaj 2 eq {/Haub_Laj [1500 0300 0030 0003 00.3 0.03 0.003] def} if

ifunc 1 ge {0 yt0t 250 add moveto 6000 0 rlineto stroke} if
x00t yt0t moveto
TBL (Relationship brightness ) showen
    (Beziehung Hellheit ) showde
(B*) jLs -60 -30 rmoveto ifunc 1 le {(LT) ibLs}
                                    {(YT) ibLs} ifelse 0 30 rmoveto
ipu 1 le {%ipu=0
            TBL ( and luminance ) showen
                ( und Leuchtdichte ) showde 
            (L) jLs (T) ibLs
           }%ipu=0
           {%ipu=1
            TBL ( and viewing angle ) showen
                ( & Beobachtungswinkel ) showde
            SL (j) show
           } ifelse %ipu=1

TBL ( as function) showen
    ( als Funktion) showde

x00t yt0t 250 sub moveto
TBL (of tristimulus value ) showen
    (von Normfarbwert ) showde
(Y) jLs (T) ibLs
TBL ( for the adaptation luminance ) showen
    ( f\374r Adaptationsleuchtdichte ) showde
(L) jLs (a) ibLs 20rm (=) bLs 20rm
Haub_Laj jchartl get cvishow 
( cd/m) bLs (2) ebLs

0 yt0t 250 sub 80 sub moveto 6000 0 rlineto stroke

%/iout 1 def
%iout 1 eq {%iout=1

x0pt yt0e moveto
(B*) jLs -60 -30 rmoveto ifunc 1 le {(LT) ibLs}
                                    {(YT) ibLs} ifelse 0 30 rmoveto
(\050) bLs (L) jLs (T) ibLs (, ) bLs (L) jLs 
         ifunc 1 le {(a) ibLs}
                    {(r) ibLs} ifelse
ifunc 2 eq {(, ) bLs (L) jLs (r) ibLs} if
(, ) bLs SL (j) show (\051) bLs ( = ) bLs

ifunc 2 eq {([) bLs} if %ifunc>=2

ifunc 0 eq
ifunc 2 eq or {%ifunc=0,2
(C) jLs (T) ibLs (\050) bLs SL (j) show (\051) bLs
20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs
(B) jLs
ifunc 0 eq {(a) ibLs}{(r) ibLs} ifelse
(\050) bLs (L) jLs 
ifunc 0 eq {(a) ibLs}{(r) ibLs} ifelse
(, ) bLs SL (j) show (\051) bLs 
} if %ifunc=0,2

ifunc 1 eq {%ifunc=1
(s) bLs (x) ibLs (\050) bLs
SL (j) show (\051) bLs
20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs
(d) jLs (xa) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs
} if %ifunc=1

ifunc 2 eq {(]) bLs 20rm (B*) jLs -60 0 rmoveto (ra) ibLs} if

ifunc 3 eq {%ifunc=3
(s) bLs (yra) ibLs (\050) bLs SL (j) show (\051) bLs
20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs
(d) jLs (yra) ibLs (\050) bLs SL (j) show (\051) bLs
} if %ifunc=3

ifunc 1 le {xt0e 1400 sub yt0e moveto
            TBL (brightness ) showen (Hellheit ) showde
            (B*) jLs -60 -30 rmoveto (LT) ibLs}
           {xt0e 1400 sub yt0e moveto
            TBL (brightness ) showen (Hellheit ) showde
            (B*) jLs -60 -30 rmoveto (YT) ibLs
           } ifelse 

xt0e yt0e moveto
([1]) bLs

x0pt yt0e 300 sub moveto
(B) jLs 
ifunc 1 le {(a) ibLs (\050) bLs (L) jLs (a) ibLs}
           {(r) ibLs (\050) bLs (L) jLs (r) ibLs} ifelse
(, ) bLs SL (j) show (\051) bLs ( = ) bLs
(C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs
20rm ([) bLs
(S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs
(S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs 
20rm (L) jLs 
ifunc 1 le {(a) ibLs}{(r) ibLs} ifelse -60 0 rmoveto (n) ebLs 
(]) bLs

ifunc 1 le {%ifunc<=1,>=2
            xt0e 1950 sub yt0e 300 sub moveto
            (\050n=0,31\051) bLs
           }
           {%ifunc>=2
            xt0e 2400 sub yt0e 300 sub moveto
            (\050n=0,31) bLs
            (, ) bLs (B*) jLs -60 -10 rmoveto (ra) ibLs 0 10 rmoveto
            (=) bLs (B*) jLs
            -60 -30 rmoveto (LT,r) ibLs 0 30 rmoveto 20rm (/) bLs
                    (B*) jLs 
            -60 -30 rmoveto (LT,a) ibLs 0 30 rmoveto (\051) bLs
           } ifelse %ifunc>=2

xt0e yt0e 300 sub moveto
([2]) bLs

ifunc 0 eq {%ifunc=0
x0pt yt0e 600 sub moveto
(L) jLs (Lt) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs ( = ) bLs
([) bLs
(S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs
(S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs
20rm (L) jLs (a) ibLs -60 0 rmoveto (n) ebLs
(]) bLs 20rm (1/n) ebLs
} if %ifunc=0

ifunc 2 eq {%ifunc=2
x0pt yt0e 600 sub moveto
(L) jLs (Yt) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs ( = ) bLs
([) bLs
(S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs
(S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs
20rm (L) jLs (r) ibLs -60 0 rmoveto (n) ebLs
(]) bLs 20rm (1/n) ebLs
%20rm (L) bLs (ra) iLs -80 0 rmoveto (n) ebLs 
20rm (B*) jLs -60 -10 rmoveto (ra) iLs
} if %ifunc=2

ifunc 1 eq {%ifunc=1
x0pt yt0e 600 sub moveto
(s) jLs (x) ibLs (\050) bLs SL(j) show (\051) bLs
( = ) bLs
(C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs
(  [3]) bLs

x0pt 1900 add yt0e 600 sub moveto
(d) jLs (xa) ibLs (\050) bLs SL(j) show (\051) bLs ( = ) bLs
(B) jLs (a) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs
(  [4]) bLs

} if 

ifunc 3 eq {%ifunc=3
x0pt yt0e 600 sub moveto
(s) jLs (yra) ibLs (\050) bLs SL(j) show (\051) bLs
(=) bLs
(C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs
20rm (B*) jLs -60 -10 rmoveto (ra) ibLs
(  [3]) bLs

x0pt 2000 add yt0e 600 sub moveto
(d) jLs (yra) ibLs (\050) show SL(j) show (\051) bLs
(=) bLs
(B) jLs (r) ibLs (\050) bLs (L) jLs (r) ibLs
(, ) bLs SL (j) show (\051) bLs
20rm (B*) jLs -60 -10 rmoveto (ra) ibLs
(  [4]) bLs

} if

ifunc 0 eq 
ifunc 2 eq or {%ifunc=0,2
xt0e 1950 sub yt0e 600 sub moveto
(\050) bLs
TBL (t=black threshold) showen (t=Schwarzschwelle) showde
(\051) bLs
           } if %ifunc=0,2

ifunc 1 eq 
ifunc 3 eq or {%ifunc=1,3
xt0e 1350 sub yt0e 600 sub moveto
(\050) bLs
TBL (s=scaling factor) showen (s=Skalierfaktor) showde
(\051) bLs
           } if %ifunc=1,3

ifunc 0 eq 
ifunc 2 eq or {%ifunc=0,2
xt0e yt0e 600 sub moveto
([3]) bLs
} if %ifunc=0,2

x00t y00tp moveto
ifunc 1 le {(L) jLs (T) ibLs}
           {(Y) jLs (T) ibLs} ifelse

x01t y00tp moveto
SL (j) show

x02t y00tp moveto
(C) jLs (T) ibLs (\050) bLs SL (j) show (\051) bLs

x03t y00tp moveto
TBL (S) show (0) ibLs (\050) bLs SL (j) show (\051) bLs

x04t y00tp moveto
TBL (S) show (1) ibLs (\050) bLs SL (j) show (\051) bLs

x05t 200 sub y00tp moveto
ifunc 1 le {(B) jLs (a) ibLs 
            (\050) bLs (L) jLs (a) ibLs (,) bLs SL (j) show (\051) bLs}
           {(B) jLs (r) ibLs
            (\050) bLs (L) jLs (r) ibLs (,) bLs SL (j) show (\051) bLs} ifelse

x06t y00tp moveto
(B*) jLs -60 -30 rmoveto
ifunc 1 le {(LT) iLs}
           {(YT) iLs} ifelse 0 30 rmoveto

x07t y00tp moveto
ifunc 0 eq {(L) jLs (Lt) ibLs} if
ifunc 1 eq {(s) bLs (x) ibLs (\050) bLs SL (j) show (\051) bLs} if
ifunc 2 eq {(L) jLs (Yt) ibLs} if
ifunc 3 eq {-100 0 rmoveto (s) bLs (yra) ibLs
                           (\050) bLs SL (j) show (\051) bLs} if

x08t y00tp moveto
ifunc 0 eq {(L) jLs (a) ibLs (/) bLs (L) jLs (t) ibLs} if
ifunc 1 eq {-050 0 rmoveto 
            (d) bLs (xa) ibLs 
            (\050) bLs SL (j) show (\051) bLs} if
ifunc 2 eq {(L) jLs (a) ibLs (/) bLs (L) jLs (t) ibLs} if
ifunc 3 eq {-100 0 rmoveto
            (d) bLs (yra) ibLs 
            (\050) bLs SL (j) show (\051) bLs} if
%} if %iout=1

} bind def %END proc_equaHAU

%***************************************************
%old: proc_functab
/proc_funcHAU1 {%BEG proc_funcHAU1 function Haubner 4 versions, ifunc-0 to 3
%from 'hnq5'Y10-3R_R.EPS, line 259:371
/Haubdatj 28 array def %phi, Cr(phi), S0(phi), S1(phi)

%BEG Haubdati Table 1, 7x4 data
%A Unified Relationship between Brightness an Luminance
%P. Haubner, H.-W. Bodmann and A.W. Marsden
%Siemens Forsch. u. Entwickl.Ber. Bd. 9 (1980), Nr. 6, p.315-318

/phk 7 array def %form above publication, i=ichart=6,0 10,20,..,120
/CTk 7 array def
/S0k 7 array def
/S1k 7 array def
/Ltk 7 array def %t=black threshold, equ. (71), Haubner, PhD-thesis

/phi 7 array def %form above publication, i=ichart=0,6 120,90,..,10
/CTi 7 array def
/S0i 7 array def
/S1i 7 array def
/Lti 7 array def %t=black threshold, equ. (71), Haubner, PhD-thesis

%Lti=[S0i + S1i*(La)^n]^(1/n)

%Table 1 order of Haubner
%/phk [010     020     030     060     090     100     120    ] def
%/CTk [30.747  27.971  26.235  23.973  23.415  23.128  22.969 ] def
%/S0k [0.27308 0.20132 0.17975 0.13133 0.10838 0.07473 0.07186] def
%/S1k [0.39842 0.35557 0.31888 0.26578 0.25265 0.24943 0.24481] def

%inverse Table 1 order of Haubner, used as default, index i=ichart=0,6
/phi [120     100     090     060     030     020     010    ] def
/CTi [22.969  23.128  23.415  23.973  26.235  27.971  30.747 ] def
/S0i [0.07186 0.07473 0.10868 0.13133 0.17975 0.20132 0.27308] def
/S1i [0.24481 0.24943 0.25265 0.26578 0.31888 0.35557 0.39842] def

/Haub_Laj 7 array def %300 default, index j=jchart=0,6
%j                    0    1    2    3    4    5    6    
jLaj 0 eq {/Haub_Laj [0300 1000 0200 0040 0008 01.6 0.32 ] def} if
jLaj 1 eq {/Haub_Laj [1000 0200 0040 0008 01.6 0.32 0.064] def} if
jLaj 2 eq {/Haub_Laj [3000 0300 0030 0003 00.3 0.03 0.003] def} if

/Haub_n     0.31     def %fix
/Haub_1Mn 1 0.31 div def %=3.2268 (1Mn=1-Minus-n)

/Haub_B0ij 49 array def %=7x7 options for ichart=0,6 and jchart=0,6
/Haub_Ltij 49 array def %t=black threshold
/Haub_B*ij 49 array def %brightness - Hellheit

/Laj     Haub_Laj jchart get def %a=7 Adaptations white La=300, 1000, ..0.32
/Lajen   Laj Haub_n exp def

/Lr      300 def                  %r=reference=La0
/Lren    Lr Haub_n exp def        %e=exponent

/Lrdaj   Lr Laj div def
/Lrdajen Lrdaj Haub_n exp def

/Lajdr   Laj Lr div def
/Lajdren Lajdr Haub_n exp def

/LTj     Laj def              %0.01Laj < Haub_Laj < 10Laj
                              %or 0,16 <= Haub_Laj <= 5000 cd/m^2
/LTjen   LTj Haub_n exp def

/LTjdaj   LTj Laj div def
/LTjdajen LTjdaj Haub_n exp def

/Lu     Lr 0.18 mul def
/Luen   Lu Haub_n exp def

%B0(Lr ,p)= CTi(p) [S0i(p) + S1i(p) * Lr^n ]
%B0(Laj,p)= CTi(p) [S0i(p) + S1i(p) * Laj^n]
%B0(Lr,p)/B0(Laj,p)=[S0i(p) + S1i(p) * Lr^n] /[S0i(p) + S1i(p) * Laj^n]
%B0(Laj,p)/B0(Lr,p)=[S0i(p) + S1i(p) * Laj^n]/[S0i(p) + S1i(p) * Lr^n ]
%

%only for phi=120 mit fix constants CTi, S0i & S1i and i=0
/CTLr   CTi 0 get def         %Lr =reference white 300 cd/m^2
/CTLaj  CTi 0 get def         %Laj=diffuse white 300,1000,200,40,8 cd/m^2
/B0Lr     S0i 0 get S1i 0 get Lren  mul add CTi 0 get mul def
/B0Laj    S0i 0 get S1i 0 get Lajen mul add CTi 0 get mul def
%B0LrdLaj=(S0i 0 get S1i 0 get Lren   mul add)
%        /(S0i 0 get S1i 0 get Lajen  mul add)
/B0LrdLaj B0Lr B0Laj div def
/B0LajdLr B0Laj B0Lr div def

/B*B0Lr  CTi 0 get Lren  mul B0Lr  sub def %=100 for Lr =300
/B*B0Laj CTi 0 get Lajen mul B0Laj sub def %=145 for Laj=1000 (example)
/B*B0LrdLaj B*B0Lr B*B0Laj div def

/B*facx B*B0Lr B*B0Laj div def             %=100/145 for Lr=300 and Laj=1000
/B*B0Lx  CTi 0 get Lajen mul B0Laj sub def %=145
/B*B0Lx  CTi 0 get Lajen mul B0Laj sub B*facx mul def %=100 for any Lx

/B0ij  49 array def
/Brij  49 array def
/B*ij  49 array def %original
/B*Lij 49 array def %includes La,phi (only)
/B*Yij 49 array def %includes La,phi and Lr=300 (r=reference)
/Ltij  49 array def
/Ytij  49 array def
/CTij  49 array def

/sxij 49 array def
/dxij 49 array def
/syij 49 array def
/dyij 49 array def

/B*LTui 7 array def
/B*YTui 7 array def
/LTui  7 array def
/YTui  7 array def

0 1 6 {/j exch def %j=0,6
0 1 6 {/i exch def %i=0,6
       /k i 6 mul j add def

%This is for original Haubner for La=300 normalized to B*Lij=B0ij=100
       %B0(La,p) = Cri(p) [S0i(p) + S1i(p) * La^n]
       B0ij k S0i  i get S1i i get Lajen mul add CTi i get mul put
       Brij k S0i  i get S1i i get Lren  mul add CTi i get mul put
       sxij k CTi  i get put
       dxij k B0ij k get put
       syij k CTi  i get B*B0LrdLaj mul put
       dyij k B0ij k get B*B0LrdLaj mul put

       Ltij k S0i  i get S1i i get Lajen mul add Haub_1Mn exp put
       Ytij k Ltij k get B*B0LrdLaj mul put

       ifunc 0 eq {B*Lij k CTi   i get LTjen mul B0ij k get sub put
                   %B*Yij k CTi   i get LTjen mul Brij k get sub put
                  } if
       ifunc 1 eq {B*Lij k sxij  k get LTjen mul dxij k get sub put
                   %B*Yij k CTi   i get LTjen mul Brij k get sub put
                  } if
       ifunc 2 eq {%B*Lij k CTi   i get LTjen mul B0ij k get sub put
                   B*Yij k CTi   i get LTjen mul Brij k get sub 
                   B*B0LrdLaj mul put
                  } if
       ifunc 3 eq {%B*Lij k syij  k get LTjen mul dyij k get sub put
                   B*Yij k CTi   i get LTjen mul Brij k get sub 
                   B*B0LrdLaj mul put
                  } if

       CTij  k Laj        Ltij k get div put

} for %i=0,6
} for %j=0,6

%STOPA

/Haub_n     0.31     def
/Haub_1Mn 1 0.31 div def

%for phi 0 get=120'(i=0), B0ij 0 get=34,60 (i=0,j=0), 
%CTi 0 get (i=0), S0i 0 get (i=0), S1i 0 get (i=0), n=0,31

/phu phi  0 get def %i=0
/CTu CTi  0 get def %i=0
/S0u S0i  0 get def %i=0
/S1u S1i  0 get def %i=0

%/k i 6 mul j add def %phi i=0,1,..,6, Haub_Laj j=0,1,2,3

%STOPB

%larger loop
ifunc 1 le {%ifunc<=1,>1

ifunc 0 eq {/B0u B0ij 0 get def} if %i=0,j=0,k=6*i+j=0 phi=120', La=0300
ifunc 1 eq {/B0u B0ij 1 get def} if %i=0,j=1,k=6*i+j=1 phi=120', La=1000
ifunc 2 eq {/B0u B0ij 2 get def} if %i=0,j=2,k=6*i+j=2 phi=120', La=0200
ifunc 3 eq {/B0u B0ij 3 get def} if %i=0,j=3,k=6*i+j=3 phi=120', La=0040


%ifunc 0 eq {B*Lij k CTi   i get LTjen mul B0ij k get sub put} if
%ifunc 1 eq {B*Lij k sxij  k get LTjen mul dxij k get sub put} if
%ifunc 2 eq {B*Yij k CTi   i get LTjen mul B0ij k get sub
%            Lrdajen mul put} if
%ifunc 3 eq {B*Yij k syij  k get LTjen mul dyij k get sub put} if

%B*Lu=CTu*(LTu)**n-B0u=B*Laj/3.  (150->50=150/3)
%LTu**n=(B*Lu+B0u)/CTu
%LTu   =[(B*Lu+B0u)/CTu]**(1/n)
%LTu   =[(B*Laj/3+B0u)/CTu]**(1/n) %B*Laj=300, 1000, 200, 40
%YTu   =LTu/Laj

%example B*Lu=50
%/B*Lu 50 def
%/LTu B*Lu B0u add CTu div Haub_1Mn exp def
%/YTu LTu Laj div 100 mul def

%example for B*La=145 (for Laj=1000)
/CTp CTi 0 get def
/B0p  B0Laj def
/B*Lp B*B0Laj def                             %= 145 (p=peak white)
/LTp B*Lp B0p add CTp div Haub_1Mn exp def
/YTp LTp Laj div 100 mul def

/B*del B*Lp  4 div def
0 1 5 {/i exch def %i=0,5
       B*LTui i B*Lp B*del 2 mul add i B*del mul sub put
       B*YTui i B*LTui i get B*B0LrdLaj mul put
       LTui   i B*LTui i get B0u add CTu div Haub_1Mn exp put
       YTui   i LTui i get B*B0LrdLaj mul put
      } for %i=0,5
B*LTui 6 B*LTui 4 get put
B*YTui 6 B*LTui 4 get put
LTui  6 LTui 4 get put
YTui  6 YTui 4 get put

%STOP1X

         }%ifunc<=1

         {%ifunc=2,3

%B*Yu=[CTu*(LTu)**n-B0u]*Lrda**n
%B*Yu/Lrda**n=CTu*(LTu)**n-B0u
%LTu**n=[B*Yu/Lrda**n + B0u]/CTu
%LTu   ={[B*Yu/Lrda**n + B0u]/CTu}**(1/n)
%LTu   ={[50  /Lrda**n + B0u]/CTu}**(1/n)
%YTu   =LTu/Laj

%for B*Yu=50:
ifunc 0 eq {/Lrdaen Lr Haub_Laj 0 get div Haub_n exp def} if
ifunc 1 eq {/Lrdaen Lr Haub_Laj 1 get div Haub_n exp def} if
ifunc 2 eq {/Lrdaen Lr Haub_Laj 2 get div Haub_n exp def} if
ifunc 3 eq {/Lrdaen Lr Haub_Laj 3 get div Haub_n exp def} if

%exmple for 50:
%/B*Yu 50 def
%/YTu 50 Lrdaen div B0u add CTu div Haub_1Mn exp def

%example for B*La=145 (for Laj=1000)
/CTp CTi 0 get def
/B0p  B0Laj def
/B*Lp B*B0Laj def                             %= 145 (p=peak white)
/LTp B*Lp B0p add CTp div Haub_1Mn exp def
/YTp LTp Laj div 100 mul def

/B*del B*Lp  4 div def
0 1 5 {/i exch def %i=0,5
       B*LTui i B*Lp B*del 2 mul add i B*del mul sub put
       B*YTui i B*LTui i get B*B0LrdLaj mul put
       LTui   i B*LTui i get B0u add CTu div Haub_1Mn exp put
       YTui   i LTui i get B*B0LrdLaj mul put
      } for %i=0,5
B*LTui 6 B*LTui 4 get put
B*YTui 6 B*LTui 4 get put
LTui  6 LTui 4 get put
YTui  6 YTui 4 get put

} ifelse %ifunc=2,3

ipu 0 eq {%ipu=0
/j jchart def
0 1 7 {/i exch def %i=0,7
       /k i 6 mul j add def
       /y00ti y00t i i 7 eq {0.3 add} if ydel mul sub def
       x00t y00ti moveto
       Haub_Laj j get cvishow

       i 6 le {%i<=6,7
       x01t y00ti moveto
       phi i get cvishow (') show
       x02t y00ti moveto
       CTi i get cvsshow3x
       x03t y00ti moveto
       S0i i get cvsshow4x
       x04t y00ti moveto
       S1i i get cvsshow4x

       x05t  y00ti moveto
       ifunc 1 le {B0ij  i get cvsshow2x}
                  {Brij  i get cvsshow2x} ifelse
               }%i<=6
               {%i=7
       x01t y00ti moveto
       phi 0 get cvishow (') show
       x02t y00ti moveto
       CTi 0 get cvsshow3x
       x03t y00ti moveto
       S0i 0 get cvsshow4x
       x04t y00ti moveto
       S1i 0 get cvsshow4x

       x05t  y00ti moveto
       ifunc 1 le {B0ij  0 get cvsshow2x}
                  {Brij  0 get cvsshow2x} ifelse
               } ifelse %i<=6,7

       i 7 eq {/k jchart def} if
       x06t  y00ti moveto
       ifunc 1 le {B*Lij k get cvsshow2x}
                  {B*Yij k get cvsshow2x} ifelse

       x07t y00ti moveto
       ifunc 0 eq {Ltij k get cvsshow2x} if
       ifunc 1 eq {sxij k get cvsshow2x} if
       ifunc 2 eq {Ytij k get cvsshow2x} if
       ifunc 3 eq {syij k get cvsshow2x} if

       x08t y00ti moveto
       ifunc 0 eq {CTij k get cvsshow2x} if
       ifunc 1 eq {dxij k get cvsshow2x} if
       ifunc 2 eq {CTij k get cvsshow2x} if
       ifunc 3 eq {dyij k get cvsshow2x} if
} for %i=0,7

} if %ipu=0

ipu 1 eq {%ipu=1
/j jchart def
0 1 7 {/i exch def %i=0,7
       /k i 6 mul j add def
       /y00ti y00t i i 7 eq {0.3 add} if ydel mul sub def

       i 5 le {%i<=5
               x00t y00ti moveto
               ifunc 1 le {LTui i get cvishow}
                          {YTui i get cvishow} ifelse
              } if %i<=5

       i 6 eq {%i=6
               x00t y00ti moveto
               ifunc 2 le {Ltij 0 get cvsshow2x}
                          {Ytij 0 get cvsshow2x} ifelse
              } if %i=6

       i 7 eq {%i=7
               x00t y00ti moveto
               ifunc 1 le {LTui 4 get cvishow}
                          {YTui 4 get cvishow} ifelse
              } if %i<=7

       x01t y00ti moveto
       phi 0 get cvishow (') show
       x02t y00ti moveto
       CTi 0 get cvsshow3x
       x03t y00ti moveto
       S0i 0 get cvsshow4x
       x04t y00ti moveto
       S1i 0 get cvsshow4x

       x05t  y00ti moveto
       ifunc 1 le {B0ij  i get cvsshow2x}
                  {Brij  i get cvsshow2x} ifelse

       x06t  y00ti moveto
       i 5 le {%i<=5
               ifunc 1 le {B*LTui i get cvsshow2x}
                          {B*YTui i get cvsshow2x} ifelse
              } if %i<=5
       i 6 eq {0 cvsshow2x} if
       i 7 eq {%i=7
               ifunc 1 le {B*LTui 4 get cvsshow2x}
                          {B*YTui 4 get cvsshow2x} ifelse
              } if %i=7

       x07t y00ti moveto
       ifunc 0 eq {Ltij 0 get cvsshow2x} if
       ifunc 1 eq {sxij 0 get cvsshow2x} if
       ifunc 2 eq {Ytij 0 get cvsshow2x} if
       ifunc 3 eq {syij 0 get cvsshow2x} if

       x08t y00ti moveto
       ifunc 0 eq {CTij 0 get cvsshow2x} if
       ifunc 1 eq {dxij 0 get cvsshow2x} if
       ifunc 2 eq {CTij 0 get cvsshow2x} if
       ifunc 3 eq {dyij 0 get cvsshow2x} if
} for %i=0,7

} if %ipu=1


%calculation and output for B*Lu=0.5 B*La and B*Yu = 50
/ioute 0 def
%ioute 1 eq {%ioute=1
%output for B*Yu = 50
%for u: i=0, j=0,1,2,3
%/j 0 def
%       /y00ti y00t 6.3 ydel mul sub def
%       x00t y00ti moveto
%       ifunc 0 eq {LTu 0 get cvsshow1x} if
%       ifunc 1 eq {LTu 0 get cvsshow1x} if
%       ifunc 2 eq {YTu 0 get cvsshow1x} if
%       ifunc 3 eq {YTu 0 get cvsshow1x} if
%       x01t y00ti moveto
%       phu cvishow (') show
%       x02t y00ti moveto
%       CTu cvsshow3x
%       x03t y00ti moveto
%       S0u cvsshow4x
%       x04t y00ti moveto
%       S1u cvsshow4x

%       x05t  y00ti moveto
%       B0u cvsshow2x

%       x06t  y00ti moveto
%       ifunc 0 eq {B*LTui 0 get cvsshow2x} if
%       ifunc 1 eq {B*LTui 0 get cvsshow2x} if
%       ifunc 2 eq {B*YTui 0 get cvsshow2x} if
%       ifunc 3 eq {B*YTui 0 get cvsshow2x} if

%       x07t y00ti moveto
%       ifunc 0 eq {LTui 0 get cvsshow2x} if
%%       ifunc 1 eq {sxu cvsshow2x} if
%       ifunc 2 eq {YTui 0 get cvsshow2x} if
%%       ifunc 3 eq {syu cvsshow2x} if

%       x08t y00ti moveto
%       ifunc 0 eq {CTu cvsshow2x} if
%%       ifunc 1 eq {dxu cvsshow2x} if
%       ifunc 2 eq {CTu cvsshow2x} if
%%       ifunc 3 eq {dyu cvsshow2x} if
%} if %ioute=1

} bind def %END proc_funcHAU function Haubner 7x7 versions, ifunc-0 to 3

%***************************************************
%%EndProlog
gsave

/lanind 1 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 1 def /lanind2 1 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 3 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 /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 %always independent of intended output

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

gsave
%XCHA01.PS END

/cvishow0 {cvi 6 string cvs show} def

72 90 translate

0.010 MM dup scale

/xbtex0 1 def  %xbtex=0 for files Y1(0/1)-(3/7)n.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
150 -140 moveto
(hes00-3R_R) show
} if %xbtex0=1

/ipu 1 def %0:phi change 120'>=10', 1:La change 1000, 200, 40, 8 example
/xpos [00100 06150 00100 06150] def
/ypos [04480 04480 00220 00220] def

/x00t 0400 def %xpos for BEG equations
/x01t 1900 def %xpos for shift equations
/x00e 5250 def %xpos for Num equations

/jLaj 0 def %0:300,1000,200,40 %1:1000,200,40,8 %2:3000,300,30,3
/jchartl 2 def
%0 1 3 {/jchartl exch def %jchartl=0,3
        jchartl 0 eq {/jchart 0 def} if %0300 cd/m^2
        jchartl 1 eq {/jchart 1 def} if %1000 cd/m^2
        jchartl 2 eq {/jchart 2 def} if %0200 cd/m^2
        jchartl 3 eq {/jchart 3 def} if %0040 cd/m^2

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

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

gsave

/ifunc ifuncl def

ifunc 0 eq {/kchartl 0 def /pchartl 0 def} if %0,0:left  top  page
ifunc 1 eq {/kchartl 1 def /pchartl 0 def} if %1,0:right top  page
ifunc 2 eq {/kchartl 0 def /pchartl 4 def} if %0,4:left  down page
ifunc 3 eq {/kchartl 1 def /pchartl 4 def} if %1,4:right down page

20 setlinewidth

xpos ifuncl  get ypos ifuncl  get translate

0 setgray
150  /Times-ISOL1 FS
150 -140 moveto
(hes0) show 0 xchartl 2 ge {1 add} if cvishow0 (-) show
ifuncl 1 add xchartl 1 eq
             xchartl 3 eq or {4 add} if cvishow0
(a) show %a

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

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

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

%BEG ifunc=0,1,2,3 ********************************************

proc_equaHAU

proc_funcHAU1


TK
0 setgray
150  /Times-ISOL1 FS
1000 -140 moveto
(j=) nSs jchart cvishow (, ) nSs
(L) jSs (r)  iSs (=) nSs Lr  cvishow (, ) nSs
(L) jSs (aj) iSs (=) nSs Laj cvishow (, ) nSs
%(n) jSs (=0,31, ) nSs
SS (j) show (=) nSs phi 0 get cvishow (', ) show

ifunc 0 eq {(B)  jSs (a)   iSs (=) nSs B0ij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (LT) iSs 0 30 rmoveto (=) nSs
                                       B*Lij jchart get cvsshow2x 
           } if

ifunc 1 eq {(B)  jSs (a)   iSs (=) nSs B0ij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs
                                       B*Lij jchart get cvsshow2x (, ) nSs
            (s)  jSs (x)   iSs (=) nSs sxij  jchart get cvsshow2x (, ) nSs
            (d)  jSs (xa)  iSs (=) nSs dxij  jchart get cvsshow2x
           } if

ifunc 2 eq {(B)  jSs (r)   iSs (=) nSs Brij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs
                                       B*Yij jchart get cvsshow2x
           } if

ifunc 3 eq {(B)  jSs (r)   iSs (=) nSs Brij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs
                                       B*Yij jchart get cvsshow2x (, ) nSs
            (s)  jSs (yra) iSs (=) nSs syij  jchart get cvsshow2x (, ) nSs
            (d)  jSs (yra) iSs (=) nSs dyij  jchart get cvsshow2x
           } if

xpos ifuncl  get neg ypos ifuncl  get neg translate


grestore

} for %ifuncl=0,3

%} for %xchartl=0,3

%} for %jchartl=0,3

showpage
grestore

%%Trailer


%%EndDocument
EndEPSF grestore gsave

BeginEPSF
219 MM 06 MM sub SHAr add 108 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 24

%line 459
%!PS-Adobe-3.0 EPSF-3.0 hes01-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
     (hes01-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 hes01-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
     (hes01-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 hes01-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
     (hes01-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 http://farbe.li.tu-berlin.de/hes0/hes01-7N.EPS
%%BoundingBox: 70 85 421 335

%START PDFDE011.EPS
/pdfmark17 where {pop} {userdict /pdfmark17 /cleartomark load put} ifelse
/languagelevel where {pop languagelevel} {1} ifelse
2 lt { userdict (<<) cvn ([) cvn load put
       userdict (>>) cvn (]) cvn load put} if
[/Title (PostSCTipt pictures: farbe.li.tu-berlin.de/hes0/hes0.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:2024110112000)
 /ModDate (D:20241101112000)
/DOCINFO pdfmark17
[ /View [ /Fit ]
/DOCVIEW pdfmark17
%END  PDFDE011

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

/Times-ISOL1 exch definefont pop

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

/TimesI-ISOL1 exch definefont pop

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

/TimesB-ISOL1 exch definefont pop

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

/TimesBI-ISOL1 exch definefont pop

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

/TS {160 /Times-ISOL1 FS} bind def
/TL {200 /Times-ISOL1 FS} bind def
/TK {250 /Times-ISOL1 FS} bind def
/TM {300 /Times-ISOL1 FS} bind def
/TG {350 /Times-ISOL1 FS} bind def

/TIS {160 /TimesI-ISOL1 FS} bind def
/TIL {200 /TimesI-ISOL1 FS} bind def
/TIK {250 /TimesI-ISOL1 FS} bind def
/TIM {300 /TimesI-ISOL1 FS} bind def
/TIG {350 /TimesI-ISOL1 FS} bind def

/TBS {160 /TimesB-ISOL1 FS} bind def
/TBL {200 /TimesB-ISOL1 FS} bind def
/TBK {250 /TimesB-ISOL1 FS} bind def
/TBM {300 /TimesB-ISOL1 FS} bind def
/TBG {350 /TimesB-ISOL1 FS} bind def

/TBIS {160 /TimesBI-ISOL1 FS} bind def
/TBIL {200 /TimesBI-ISOL1 FS} bind def
/TBIK {250 /TimesBI-ISOL1 FS} bind def
/TBIM {300 /TimesBI-ISOL1 FS} bind def
/TBIG {350 /TimesBI-ISOL1 FS} bind def

/SS {160 /Symbol FS} bind def
/SL {200 /Symbol FS} bind def
/SK {250 /Symbol FS} bind def
/SM {300 /Symbol FS} bind def
/SG {350 /Symbol FS} bind def

/CS {160 /Courier-ISOL1 FS} bind def
/CL {200 /Courier-ISOL1 FS} bind def
/CK {250 /Courier-ISOL1 FS} bind def
/CM {300 /Courier-ISOL1 FS} bind def
/CG {350 /Courier-ISOL1 FS} bind def

/CBS {160 /CourierB-ISOL1 FS} bind def
/CBL {200 /CourierB-ISOL1 FS} bind def
/CBK {250 /CourierB-ISOL1 FS} bind def
/CBM {300 /CourierB-ISOL1 FS} bind def
/CBG {350 /CourierB-ISOL1 FS} bind def

/nGs {350 /Times-ISOL1 FS  show} bind def
/kGs {350 /TimesI-ISOL1 FS  show} bind def
/bGs {350 /TimesB-ISOL1 FS  show} bind def
/jGs {350 /TimesBI-ISOL1 FS  show} bind def
/sGs {350 /Symbol FS  show} bind def
/iGs {300 /Times-ISOL1 FS 0 -80 rmoveto show 0   80 rmoveto} bind def
/eGs {300 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ibGb {300 /TimesB-ISOL1 FS 0 -80 rmoveto show 0   80 rmoveto} bind def
/ebGb {300 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ipG {300 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def

%20% kleiner
/nMs {300 /Times-ISOL1 FS  show TM} bind def
/kMs {300 /TimesI-ISOL1 FS  show TM} bind def
/bMs {300 /TimesB-ISOL1 FS  show TM} bind def
/jMs {300 /TimesBI-ISOL1 FS  show TM} bind def
/sMs {300 /Symbol FS  show TM} bind def
/iMs {250 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TM} bind def
/eMs {250 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ibMs {250 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TM} bind def
/ebMs {250 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ipM {250 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def

%40% kleiner
/nKs {250 /Times-ISOL1 FS  show TK} bind def
/kKs {250 /TimesI-ISOL1 FS  show TK} bind def
/bKs {250 /TimesB-ISOL1 FS  show TK} bind def
/jKs {250 /TimesBI-ISOL1 FS  show TK} bind def
/sKs {250 /Symbol FS  show TK} bind def
/iKs {200 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TK} bind def
/eKs {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ibKs {200 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TK} bind def
/ebKs {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ipK {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def

%60% kleiner
/nLs {200 /Times-ISOL1 FS  show TL} bind def
/kLs {200 /TimesI-ISOL1 FS  show TL} bind def
/bLs {200 /TimesB-ISOL1 FS  show TL} bind def
/jLs {200 /TimesBI-ISOL1 FS  show TL} bind def
/sLs {200 /Symbol FS  show TL} bind def
/iLs {160 /Times-ISOL1 FS 0 -40 rmoveto show 0 40 rmoveto TL} bind def
/eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def
/ibLs {160 /TimesB-ISOL1 FS 0 -40 rmoveto show 0 40 rmoveto TL} bind def
/ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def
/ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TL} bind def
/jbLs {160 /TimesBI-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def

%80% smaller
/nSs {160 /Times-ISOL1 FS  show TS} bind def
/kSs {160 /TimesI-ISOL1 FS  show TS} bind def
/bSs {160 /TimesB-ISOL1 FS  show TS} bind def
/jSs {160 /TimesBI-ISOL1 FS  show TS} bind def
/sSs {160 /Symbol FS  show TS} bind def
/iSs {130 /Times-ISOL1 FS 0 -30 rmoveto show 0 30 rmoveto TS} bind def
/eSs {130 /Times-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def
/ibSs {130 /TimesB-ISOL1 FS 0 -30 rmoveto show 0 30 rmoveto TS} bind def
/ebSs {130 /TimesB-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def
/ipS {130 /Times-ISOL1 FS 20 20 rmoveto (\267) show 20 -20 rmoveto TS} bind def
/jbSs {130 /TimesBI-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def

/20rm {20 0 rmoveto} def

/cvishow {cvi 10 string cvs show} def
/cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def
/cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def
/cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def
/cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def

/cvsshow1x {/nxx exch def                              %example nxx=99.1/99.0
             nxx 0 lt {(-) show}
                      {() show} ifelse
             nxx 10 mul cvi abs /nxi exch def          %nxi=991/990
             nxi 10 idiv /nxa exch def                 %nxa=99
             nxi nxa 10 mul sub /nxb exch def          %nxb=1/0
             nxa cvishow (,) show                      %nxa=99
             nxb cvishow                               %nxb=1/0
           } def
/cvsshow2x {/nxx exch def                              %example nxx=99.12/99,02/99,00
             nxx 0 lt {(-) show}
                      {() show} ifelse
             nxx 100 mul cvi abs /nxi exch def         %nxi=9912/9902/00
             nxi 100 idiv /nxa exch def                %nxa=99
             nxi nxa 100 mul sub /nxb exch def         %nxb=12/02/00
             nxa cvishow (,) show                      %nxb=99,
             nxb 10 ge {nxb cvishow} if                %nxb=12
             nxb  1 ge
             nxb  9 le and {(0) show nxb cvishow} if   %nxb=02
             nxb  0 eq {(00) show} if                  %nxb=00
           } def
/cvsshow3x {/nxx exch def                              %example nxx=99.123/99.012/99.001/99.000
             nxx 0 lt {(-) show}
             {() show} ifelse
             nxx 1000 mul cvi abs /nxi exch def        %nxi=99123/99012/99001/99000
             nxi 1000 idiv /nxa exch def               %nxa=99
             nxi nxa 1000 mul sub /nxb exch def        %nxb=123/012/001/000
             nxa cvishow (,) show                      %nxb=99,
             nxb 100 ge {nxb cvishow} if               %nxb=123/012/001/000
             nxb  10 ge
             nxb  99 le and {(0) show nxb cvishow} if  %nxb=012
             nxb   1 ge
             nxb   9 le and {(00) show nxb cvishow} if %nxb=001
             nxb   0 eq {(000) show} if                %nxb=000
           } def

/cvsshow4x {/nxx exch def                              %example nxx=99.123/99.0
             nxx 0 lt {(-) show}
                      {() show} ifelse
             nxx 10000 mul cvi abs /nxi exch def        %nxi=99123/99012/99001/9
             nxi 10000 idiv /nxa exch def               %nxa=99
             nxi nxa 10000 mul sub /nxb exch def        %nxb=123/012/001/000
             nxa cvishow (,) show                       %nxb=99,
             nxb 1000 ge {nxb cvishow} if               %nxb=123/012/001/000
             nxb  100 ge
             nxb  999 le and {(0) show nxb cvishow} if  %nxb=012
             nxb  10 ge
             nxb  99 le and {(00) show nxb cvishow} if  %nxb=012
             nxb   1 ge
             nxb   9 le and {(000) show nxb cvishow} if %nxb=001
             nxb   0 eq {(0000) show} if                %nxb=000
           } def

/cvsshow4s {/nxx exch def                              %example nxx=-0,1234
             nxx 0 lt {(-0,) show}
                      {(0,) show} ifelse
             /nxi nxx 10000 mul cvi abs def            %nxi=1234
             nxi 1000 ge {nxi cvishow} if              %nxb=123/012/001/000
             nxi 100 ge
             nxi 999 le and {(0) show nxi cvishow} if      %nxb=123/012/001/000
             nxi  10 ge
             nxi  99 le and {(00) show nxi cvishow} if  %nxb=012
             nxi   1 ge
             nxi   9 le and {(000) show nxi cvishow} if %nxb=001
             nxi   0 eq {(0000) show} if                %nxb=000
           } def

%XCHA01.PS BEG
/rec %x, y width heigth
  {/heigth exch def /width exch def
   moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def

/colrecfi %x y width heigth r g b
  {setrgbcolor rec fill} bind def

/colrecst %x y width heigth r g b
  {setrgbcolor rec stroke} bind def

/rem %x, y width heigth
  {/heigth exch 0.5 mul def /width exch 0.5 mul def
   /yleftb exch heigth 0.5 mul add def
   /xleftb exch width  0.5 mul add def
   xleftb yleftb
   moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def

/colremfi %x y width heigth r g b
  {setrgbcolor rem fill} bind def

/colremst %x y width heigth r g b
  {setrgbcolor rem stroke} bind def

/tfr {1.0 0.0 0.0 setrgbcolor} bind def %Reproduktionsfarben
/tfg {0.0 1.0 0.0 setrgbcolor} bind def
/tfb {0.0 0.0 1.0 setrgbcolor} bind def
/tfc {0.0 1.0 1.0 setrgbcolor} bind def
/tfm {1.0 0.0 1.0 setrgbcolor} bind def
/tfy {1.0 1.0 0.0 setrgbcolor} bind def

/tfw {1.00 1.00 1.00 setrgbcolor} bind def %Graureihe
/tfh {0.75 0.75 0.75 setrgbcolor} bind def
/tfz {0.50 0.50 0.50 setrgbcolor} bind def
/tfd {0.25 0.25 0.25 setrgbcolor} bind def
/tfn {0.00 0.00 0.00 setrgbcolor} bind def

%***************************************************
/proc_equaHAU {%BEG proc_equaHAU
/x00t 0050 def %La
/x0pt 0150 def %equations
/x01t 0600 def %phi
/x02t 1100 def %CT
/x03t 1850 def %S0
/x04t 2600 def %S1
/x05t 3400 def %B0
/x06t 4000 def %B*LY
/x07t 4800 def %LLt/sx
/x08t 5450 def %(La/Lt)/dx

/xt0e 5740 def

/yt0t 3750 def %title

/yt0e 3200 def %main equations

/y00t 2000 def
/ydel 0250 def

/y00tp 2300 def

%top lines
/Haub_Laj 7 array def %300 default, index j=jchart=0,6
%j                    0    1    2    3    4    5    6
jLaj 0 eq {/Haub_Laj [0300 1000 0200 0040 0008 01.6 0.32 ] def} if
jLaj 1 eq {/Haub_Laj [1000 0200 0040 0008 01.6 0.32 0.064] def} if
jLaj 2 eq {/Haub_Laj [1500 0300 0030 0003 00.3 0.03 0.003] def} if

ifunc 1 ge {0 yt0t 250 add moveto 6000 0 rlineto stroke} if
x00t yt0t moveto
TBL (Relationship brightness ) showen
    (Beziehung Hellheit ) showde
(B*) jLs -60 -30 rmoveto ifunc 1 le {(LT) ibLs}
                                    {(YT) ibLs} ifelse 0 30 rmoveto
ipu 1 le {%ipu=0
            TBL ( and luminance ) showen
                ( und Leuchtdichte ) showde 
            (L) jLs (T) ibLs
           }%ipu=0
           {%ipu=1
            TBL ( and viewing angle ) showen
                ( & Beobachtungswinkel ) showde
            SL (j) show
           } ifelse %ipu=1

TBL ( as function) showen
    ( als Funktion) showde

x00t yt0t 250 sub moveto
TBL (of tristimulus value ) showen
    (von Normfarbwert ) showde
(Y) jLs (T) ibLs
TBL ( for the adaptation luminance ) showen
    ( f\374r Adaptationsleuchtdichte ) showde
(L) jLs (a) ibLs 20rm (=) bLs 20rm
Haub_Laj jchartl get cvishow 
( cd/m) bLs (2) ebLs

0 yt0t 250 sub 80 sub moveto 6000 0 rlineto stroke

%/iout 1 def
%iout 1 eq {%iout=1

x0pt yt0e moveto
(B*) jLs -60 -30 rmoveto ifunc 1 le {(LT) ibLs}
                                    {(YT) ibLs} ifelse 0 30 rmoveto
(\050) bLs (L) jLs (T) ibLs (, ) bLs (L) jLs 
         ifunc 1 le {(a) ibLs}
                    {(r) ibLs} ifelse
ifunc 2 eq {(, ) bLs (L) jLs (r) ibLs} if
(, ) bLs SL (j) show (\051) bLs ( = ) bLs

ifunc 2 eq {([) bLs} if %ifunc>=2

ifunc 0 eq
ifunc 2 eq or {%ifunc=0,2
(C) jLs (T) ibLs (\050) bLs SL (j) show (\051) bLs
20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs
(B) jLs
ifunc 0 eq {(a) ibLs}{(r) ibLs} ifelse
(\050) bLs (L) jLs 
ifunc 0 eq {(a) ibLs}{(r) ibLs} ifelse
(, ) bLs SL (j) show (\051) bLs 
} if %ifunc=0,2

ifunc 1 eq {%ifunc=1
(s) bLs (x) ibLs (\050) bLs
SL (j) show (\051) bLs
20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs
(d) jLs (xa) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs
} if %ifunc=1

ifunc 2 eq {(]) bLs 20rm (B*) jLs -60 0 rmoveto (ra) ibLs} if

ifunc 3 eq {%ifunc=3
(s) bLs (yra) ibLs (\050) bLs SL (j) show (\051) bLs
20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs
(d) jLs (yra) ibLs (\050) bLs SL (j) show (\051) bLs
} if %ifunc=3

ifunc 1 le {xt0e 1400 sub yt0e moveto
            TBL (brightness ) showen (Hellheit ) showde
            (B*) jLs -60 -30 rmoveto (LT) ibLs}
           {xt0e 1400 sub yt0e moveto
            TBL (brightness ) showen (Hellheit ) showde
            (B*) jLs -60 -30 rmoveto (YT) ibLs
           } ifelse 

xt0e yt0e moveto
([1]) bLs

x0pt yt0e 300 sub moveto
(B) jLs 
ifunc 1 le {(a) ibLs (\050) bLs (L) jLs (a) ibLs}
           {(r) ibLs (\050) bLs (L) jLs (r) ibLs} ifelse
(, ) bLs SL (j) show (\051) bLs ( = ) bLs
(C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs
20rm ([) bLs
(S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs
(S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs 
20rm (L) jLs 
ifunc 1 le {(a) ibLs}{(r) ibLs} ifelse -60 0 rmoveto (n) ebLs 
(]) bLs

ifunc 1 le {%ifunc<=1,>=2
            xt0e 1950 sub yt0e 300 sub moveto
            (\050n=0,31\051) bLs
           }
           {%ifunc>=2
            xt0e 2400 sub yt0e 300 sub moveto
            (\050n=0,31) bLs
            (, ) bLs (B*) jLs -60 -10 rmoveto (ra) ibLs 0 10 rmoveto
            (=) bLs (B*) jLs
            -60 -30 rmoveto (LT,r) ibLs 0 30 rmoveto 20rm (/) bLs
                    (B*) jLs 
            -60 -30 rmoveto (LT,a) ibLs 0 30 rmoveto (\051) bLs
           } ifelse %ifunc>=2

xt0e yt0e 300 sub moveto
([2]) bLs

ifunc 0 eq {%ifunc=0
x0pt yt0e 600 sub moveto
(L) jLs (Lt) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs ( = ) bLs
([) bLs
(S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs
(S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs
20rm (L) jLs (a) ibLs -60 0 rmoveto (n) ebLs
(]) bLs 20rm (1/n) ebLs
} if %ifunc=0

ifunc 2 eq {%ifunc=2
x0pt yt0e 600 sub moveto
(L) jLs (Yt) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs ( = ) bLs
([) bLs
(S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs
(S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs
20rm (L) jLs (r) ibLs -60 0 rmoveto (n) ebLs
(]) bLs 20rm (1/n) ebLs
%20rm (L) bLs (ra) iLs -80 0 rmoveto (n) ebLs 
20rm (B*) jLs -60 -10 rmoveto (ra) iLs
} if %ifunc=2

ifunc 1 eq {%ifunc=1
x0pt yt0e 600 sub moveto
(s) jLs (x) ibLs (\050) bLs SL(j) show (\051) bLs
( = ) bLs
(C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs
(  [3]) bLs

x0pt 1900 add yt0e 600 sub moveto
(d) jLs (xa) ibLs (\050) bLs SL(j) show (\051) bLs ( = ) bLs
(B) jLs (a) ibLs (\050) bLs (L) jLs (a) ibLs
(, ) bLs SL (j) show (\051) bLs
(  [4]) bLs

} if 

ifunc 3 eq {%ifunc=3
x0pt yt0e 600 sub moveto
(s) jLs (yra) ibLs (\050) bLs SL(j) show (\051) bLs
(=) bLs
(C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs
20rm (B*) jLs -60 -10 rmoveto (ra) ibLs
(  [3]) bLs

x0pt 2000 add yt0e 600 sub moveto
(d) jLs (yra) ibLs (\050) show SL(j) show (\051) bLs
(=) bLs
(B) jLs (r) ibLs (\050) bLs (L) jLs (r) ibLs
(, ) bLs SL (j) show (\051) bLs
20rm (B*) jLs -60 -10 rmoveto (ra) ibLs
(  [4]) bLs

} if

ifunc 0 eq 
ifunc 2 eq or {%ifunc=0,2
xt0e 1950 sub yt0e 600 sub moveto
(\050) bLs
TBL (t=black threshold) showen (t=Schwarzschwelle) showde
(\051) bLs
           } if %ifunc=0,2

ifunc 1 eq 
ifunc 3 eq or {%ifunc=1,3
xt0e 1350 sub yt0e 600 sub moveto
(\050) bLs
TBL (s=scaling factor) showen (s=Skalierfaktor) showde
(\051) bLs
           } if %ifunc=1,3

ifunc 0 eq 
ifunc 2 eq or {%ifunc=0,2
xt0e yt0e 600 sub moveto
([3]) bLs
} if %ifunc=0,2

x00t y00tp moveto
ifunc 1 le {(L) jLs (T) ibLs}
           {(Y) jLs (T) ibLs} ifelse

x01t y00tp moveto
SL (j) show

x02t y00tp moveto
(C) jLs (T) ibLs (\050) bLs SL (j) show (\051) bLs

x03t y00tp moveto
TBL (S) show (0) ibLs (\050) bLs SL (j) show (\051) bLs

x04t y00tp moveto
TBL (S) show (1) ibLs (\050) bLs SL (j) show (\051) bLs

x05t 200 sub y00tp moveto
ifunc 1 le {(B) jLs (a) ibLs 
            (\050) bLs (L) jLs (a) ibLs (,) bLs SL (j) show (\051) bLs}
           {(B) jLs (r) ibLs
            (\050) bLs (L) jLs (r) ibLs (,) bLs SL (j) show (\051) bLs} ifelse

x06t y00tp moveto
(B*) jLs -60 -30 rmoveto
ifunc 1 le {(LT) iLs}
           {(YT) iLs} ifelse 0 30 rmoveto

x07t y00tp moveto
ifunc 0 eq {(L) jLs (Lt) ibLs} if
ifunc 1 eq {(s) bLs (x) ibLs (\050) bLs SL (j) show (\051) bLs} if
ifunc 2 eq {(L) jLs (Yt) ibLs} if
ifunc 3 eq {-100 0 rmoveto (s) bLs (yra) ibLs
                           (\050) bLs SL (j) show (\051) bLs} if

x08t y00tp moveto
ifunc 0 eq {(L) jLs (a) ibLs (/) bLs (L) jLs (t) ibLs} if
ifunc 1 eq {-050 0 rmoveto 
            (d) bLs (xa) ibLs 
            (\050) bLs SL (j) show (\051) bLs} if
ifunc 2 eq {(L) jLs (a) ibLs (/) bLs (L) jLs (t) ibLs} if
ifunc 3 eq {-100 0 rmoveto
            (d) bLs (yra) ibLs 
            (\050) bLs SL (j) show (\051) bLs} if
%} if %iout=1

} bind def %END proc_equaHAU

%***************************************************
%old: proc_functab
/proc_funcHAU1 {%BEG proc_funcHAU1 function Haubner 4 versions, ifunc-0 to 3
%from 'hnq5'Y10-3R_R.EPS, line 259:371
/Haubdatj 28 array def %phi, Cr(phi), S0(phi), S1(phi)

%BEG Haubdati Table 1, 7x4 data
%A Unified Relationship between Brightness an Luminance
%P. Haubner, H.-W. Bodmann and A.W. Marsden
%Siemens Forsch. u. Entwickl.Ber. Bd. 9 (1980), Nr. 6, p.315-318

/phk 7 array def %form above publication, i=ichart=6,0 10,20,..,120
/CTk 7 array def
/S0k 7 array def
/S1k 7 array def
/Ltk 7 array def %t=black threshold, equ. (71), Haubner, PhD-thesis

/phi 7 array def %form above publication, i=ichart=0,6 120,90,..,10
/CTi 7 array def
/S0i 7 array def
/S1i 7 array def
/Lti 7 array def %t=black threshold, equ. (71), Haubner, PhD-thesis

%Lti=[S0i + S1i*(La)^n]^(1/n)

%Table 1 order of Haubner
%/phk [010     020     030     060     090     100     120    ] def
%/CTk [30.747  27.971  26.235  23.973  23.415  23.128  22.969 ] def
%/S0k [0.27308 0.20132 0.17975 0.13133 0.10838 0.07473 0.07186] def
%/S1k [0.39842 0.35557 0.31888 0.26578 0.25265 0.24943 0.24481] def

%inverse Table 1 order of Haubner, used as default, index i=ichart=0,6
/phi [120     100     090     060     030     020     010    ] def
/CTi [22.969  23.128  23.415  23.973  26.235  27.971  30.747 ] def
/S0i [0.07186 0.07473 0.10868 0.13133 0.17975 0.20132 0.27308] def
/S1i [0.24481 0.24943 0.25265 0.26578 0.31888 0.35557 0.39842] def

/Haub_Laj 7 array def %300 default, index j=jchart=0,6
%j                    0    1    2    3    4    5    6    
jLaj 0 eq {/Haub_Laj [0300 1000 0200 0040 0008 01.6 0.32 ] def} if
jLaj 1 eq {/Haub_Laj [1000 0200 0040 0008 01.6 0.32 0.064] def} if
jLaj 2 eq {/Haub_Laj [3000 0300 0030 0003 00.3 0.03 0.003] def} if

/Haub_n     0.31     def %fix
/Haub_1Mn 1 0.31 div def %=3.2268 (1Mn=1-Minus-n)

/Haub_B0ij 49 array def %=7x7 options for ichart=0,6 and jchart=0,6
/Haub_Ltij 49 array def %t=black threshold
/Haub_B*ij 49 array def %brightness - Hellheit

/Laj     Haub_Laj jchart get def %a=7 Adaptations white La=300, 1000, ..0.32
/Lajen   Laj Haub_n exp def

/Lr      300 def                  %r=reference=La0
/Lren    Lr Haub_n exp def        %e=exponent

/Lrdaj   Lr Laj div def
/Lrdajen Lrdaj Haub_n exp def

/Lajdr   Laj Lr div def
/Lajdren Lajdr Haub_n exp def

/LTj     Laj def              %0.01Laj < Haub_Laj < 10Laj
                              %or 0,16 <= Haub_Laj <= 5000 cd/m^2
/LTjen   LTj Haub_n exp def

/LTjdaj   LTj Laj div def
/LTjdajen LTjdaj Haub_n exp def

/Lu     Lr 0.18 mul def
/Luen   Lu Haub_n exp def

%B0(Lr ,p)= CTi(p) [S0i(p) + S1i(p) * Lr^n ]
%B0(Laj,p)= CTi(p) [S0i(p) + S1i(p) * Laj^n]
%B0(Lr,p)/B0(Laj,p)=[S0i(p) + S1i(p) * Lr^n] /[S0i(p) + S1i(p) * Laj^n]
%B0(Laj,p)/B0(Lr,p)=[S0i(p) + S1i(p) * Laj^n]/[S0i(p) + S1i(p) * Lr^n ]
%

%only for phi=120 mit fix constants CTi, S0i & S1i and i=0
/CTLr   CTi 0 get def         %Lr =reference white 300 cd/m^2
/CTLaj  CTi 0 get def         %Laj=diffuse white 300,1000,200,40,8 cd/m^2
/B0Lr     S0i 0 get S1i 0 get Lren  mul add CTi 0 get mul def
/B0Laj    S0i 0 get S1i 0 get Lajen mul add CTi 0 get mul def
%B0LrdLaj=(S0i 0 get S1i 0 get Lren   mul add)
%        /(S0i 0 get S1i 0 get Lajen  mul add)
/B0LrdLaj B0Lr B0Laj div def
/B0LajdLr B0Laj B0Lr div def

/B*B0Lr  CTi 0 get Lren  mul B0Lr  sub def %=100 for Lr =300
/B*B0Laj CTi 0 get Lajen mul B0Laj sub def %=145 for Laj=1000 (example)
/B*B0LrdLaj B*B0Lr B*B0Laj div def

/B*facx B*B0Lr B*B0Laj div def             %=100/145 for Lr=300 and Laj=1000
/B*B0Lx  CTi 0 get Lajen mul B0Laj sub def %=145
/B*B0Lx  CTi 0 get Lajen mul B0Laj sub B*facx mul def %=100 for any Lx

/B0ij  49 array def
/Brij  49 array def
/B*ij  49 array def %original
/B*Lij 49 array def %includes La,phi (only)
/B*Yij 49 array def %includes La,phi and Lr=300 (r=reference)
/Ltij  49 array def
/Ytij  49 array def
/CTij  49 array def

/sxij 49 array def
/dxij 49 array def
/syij 49 array def
/dyij 49 array def

/B*LTui 7 array def
/B*YTui 7 array def
/LTui  7 array def
/YTui  7 array def

0 1 6 {/j exch def %j=0,6
0 1 6 {/i exch def %i=0,6
       /k i 6 mul j add def

%This is for original Haubner for La=300 normalized to B*Lij=B0ij=100
       %B0(La,p) = Cri(p) [S0i(p) + S1i(p) * La^n]
       B0ij k S0i  i get S1i i get Lajen mul add CTi i get mul put
       Brij k S0i  i get S1i i get Lren  mul add CTi i get mul put
       sxij k CTi  i get put
       dxij k B0ij k get put
       syij k CTi  i get B*B0LrdLaj mul put
       dyij k B0ij k get B*B0LrdLaj mul put

       Ltij k S0i  i get S1i i get Lajen mul add Haub_1Mn exp put
       Ytij k Ltij k get B*B0LrdLaj mul put

       ifunc 0 eq {B*Lij k CTi   i get LTjen mul B0ij k get sub put
                   %B*Yij k CTi   i get LTjen mul Brij k get sub put
                  } if
       ifunc 1 eq {B*Lij k sxij  k get LTjen mul dxij k get sub put
                   %B*Yij k CTi   i get LTjen mul Brij k get sub put
                  } if
       ifunc 2 eq {%B*Lij k CTi   i get LTjen mul B0ij k get sub put
                   B*Yij k CTi   i get LTjen mul Brij k get sub 
                   B*B0LrdLaj mul put
                  } if
       ifunc 3 eq {%B*Lij k syij  k get LTjen mul dyij k get sub put
                   B*Yij k CTi   i get LTjen mul Brij k get sub 
                   B*B0LrdLaj mul put
                  } if

       CTij  k Laj        Ltij k get div put

} for %i=0,6
} for %j=0,6

%STOPA

/Haub_n     0.31     def
/Haub_1Mn 1 0.31 div def

%for phi 0 get=120'(i=0), B0ij 0 get=34,60 (i=0,j=0), 
%CTi 0 get (i=0), S0i 0 get (i=0), S1i 0 get (i=0), n=0,31

/phu phi  0 get def %i=0
/CTu CTi  0 get def %i=0
/S0u S0i  0 get def %i=0
/S1u S1i  0 get def %i=0

%/k i 6 mul j add def %phi i=0,1,..,6, Haub_Laj j=0,1,2,3

%STOPB

%larger loop
ifunc 1 le {%ifunc<=1,>1

ifunc 0 eq {/B0u B0ij 0 get def} if %i=0,j=0,k=6*i+j=0 phi=120', La=0300
ifunc 1 eq {/B0u B0ij 1 get def} if %i=0,j=1,k=6*i+j=1 phi=120', La=1000
ifunc 2 eq {/B0u B0ij 2 get def} if %i=0,j=2,k=6*i+j=2 phi=120', La=0200
ifunc 3 eq {/B0u B0ij 3 get def} if %i=0,j=3,k=6*i+j=3 phi=120', La=0040


%ifunc 0 eq {B*Lij k CTi   i get LTjen mul B0ij k get sub put} if
%ifunc 1 eq {B*Lij k sxij  k get LTjen mul dxij k get sub put} if
%ifunc 2 eq {B*Yij k CTi   i get LTjen mul B0ij k get sub
%            Lrdajen mul put} if
%ifunc 3 eq {B*Yij k syij  k get LTjen mul dyij k get sub put} if

%B*Lu=CTu*(LTu)**n-B0u=B*Laj/3.  (150->50=150/3)
%LTu**n=(B*Lu+B0u)/CTu
%LTu   =[(B*Lu+B0u)/CTu]**(1/n)
%LTu   =[(B*Laj/3+B0u)/CTu]**(1/n) %B*Laj=300, 1000, 200, 40
%YTu   =LTu/Laj

%example B*Lu=50
%/B*Lu 50 def
%/LTu B*Lu B0u add CTu div Haub_1Mn exp def
%/YTu LTu Laj div 100 mul def

%example for B*La=145 (for Laj=1000)
/CTp CTi 0 get def
/B0p  B0Laj def
/B*Lp B*B0Laj def                             %= 145 (p=peak white)
/LTp B*Lp B0p add CTp div Haub_1Mn exp def
/YTp LTp Laj div 100 mul def

/B*del B*Lp  4 div def
0 1 5 {/i exch def %i=0,5
       B*LTui i B*Lp B*del 2 mul add i B*del mul sub put
       B*YTui i B*LTui i get B*B0LrdLaj mul put
       LTui   i B*LTui i get B0u add CTu div Haub_1Mn exp put
       YTui   i LTui i get B*B0LrdLaj mul put
      } for %i=0,5
B*LTui 6 B*LTui 4 get put
B*YTui 6 B*LTui 4 get put
LTui  6 LTui 4 get put
YTui  6 YTui 4 get put

%STOP1X

         }%ifunc<=1

         {%ifunc=2,3

%B*Yu=[CTu*(LTu)**n-B0u]*Lrda**n
%B*Yu/Lrda**n=CTu*(LTu)**n-B0u
%LTu**n=[B*Yu/Lrda**n + B0u]/CTu
%LTu   ={[B*Yu/Lrda**n + B0u]/CTu}**(1/n)
%LTu   ={[50  /Lrda**n + B0u]/CTu}**(1/n)
%YTu   =LTu/Laj

%for B*Yu=50:
ifunc 0 eq {/Lrdaen Lr Haub_Laj 0 get div Haub_n exp def} if
ifunc 1 eq {/Lrdaen Lr Haub_Laj 1 get div Haub_n exp def} if
ifunc 2 eq {/Lrdaen Lr Haub_Laj 2 get div Haub_n exp def} if
ifunc 3 eq {/Lrdaen Lr Haub_Laj 3 get div Haub_n exp def} if

%exmple for 50:
%/B*Yu 50 def
%/YTu 50 Lrdaen div B0u add CTu div Haub_1Mn exp def

%example for B*La=145 (for Laj=1000)
/CTp CTi 0 get def
/B0p  B0Laj def
/B*Lp B*B0Laj def                             %= 145 (p=peak white)
/LTp B*Lp B0p add CTp div Haub_1Mn exp def
/YTp LTp Laj div 100 mul def

/B*del B*Lp  4 div def
0 1 5 {/i exch def %i=0,5
       B*LTui i B*Lp B*del 2 mul add i B*del mul sub put
       B*YTui i B*LTui i get B*B0LrdLaj mul put
       LTui   i B*LTui i get B0u add CTu div Haub_1Mn exp put
       YTui   i LTui i get B*B0LrdLaj mul put
      } for %i=0,5
B*LTui 6 B*LTui 4 get put
B*YTui 6 B*LTui 4 get put
LTui  6 LTui 4 get put
YTui  6 YTui 4 get put

} ifelse %ifunc=2,3

ipu 0 eq {%ipu=0
/j jchart def
0 1 7 {/i exch def %i=0,7
       /k i 6 mul j add def
       /y00ti y00t i i 7 eq {0.3 add} if ydel mul sub def
       x00t y00ti moveto
       Haub_Laj j get cvishow

       i 6 le {%i<=6,7
       x01t y00ti moveto
       phi i get cvishow (') show
       x02t y00ti moveto
       CTi i get cvsshow3x
       x03t y00ti moveto
       S0i i get cvsshow4x
       x04t y00ti moveto
       S1i i get cvsshow4x

       x05t  y00ti moveto
       ifunc 1 le {B0ij  i get cvsshow2x}
                  {Brij  i get cvsshow2x} ifelse
               }%i<=6
               {%i=7
       x01t y00ti moveto
       phi 0 get cvishow (') show
       x02t y00ti moveto
       CTi 0 get cvsshow3x
       x03t y00ti moveto
       S0i 0 get cvsshow4x
       x04t y00ti moveto
       S1i 0 get cvsshow4x

       x05t  y00ti moveto
       ifunc 1 le {B0ij  0 get cvsshow2x}
                  {Brij  0 get cvsshow2x} ifelse
               } ifelse %i<=6,7

       i 7 eq {/k jchart def} if
       x06t  y00ti moveto
       ifunc 1 le {B*Lij k get cvsshow2x}
                  {B*Yij k get cvsshow2x} ifelse

       x07t y00ti moveto
       ifunc 0 eq {Ltij k get cvsshow2x} if
       ifunc 1 eq {sxij k get cvsshow2x} if
       ifunc 2 eq {Ytij k get cvsshow2x} if
       ifunc 3 eq {syij k get cvsshow2x} if

       x08t y00ti moveto
       ifunc 0 eq {CTij k get cvsshow2x} if
       ifunc 1 eq {dxij k get cvsshow2x} if
       ifunc 2 eq {CTij k get cvsshow2x} if
       ifunc 3 eq {dyij k get cvsshow2x} if
} for %i=0,7

} if %ipu=0

ipu 1 eq {%ipu=1
/j jchart def
0 1 7 {/i exch def %i=0,7
       /k i 6 mul j add def
       /y00ti y00t i i 7 eq {0.3 add} if ydel mul sub def

       i 5 le {%i<=5
               x00t y00ti moveto
               ifunc 1 le {LTui i get cvishow}
                          {YTui i get cvishow} ifelse
              } if %i<=5

       i 6 eq {%i=6
               x00t y00ti moveto
               ifunc 2 le {Ltij 0 get cvsshow2x}
                          {Ytij 0 get cvsshow2x} ifelse
              } if %i=6

       i 7 eq {%i=7
               x00t y00ti moveto
               ifunc 1 le {LTui 4 get cvishow}
                          {YTui 4 get cvishow} ifelse
              } if %i<=7

       x01t y00ti moveto
       phi 0 get cvishow (') show
       x02t y00ti moveto
       CTi 0 get cvsshow3x
       x03t y00ti moveto
       S0i 0 get cvsshow4x
       x04t y00ti moveto
       S1i 0 get cvsshow4x

       x05t  y00ti moveto
       ifunc 1 le {B0ij  i get cvsshow2x}
                  {Brij  i get cvsshow2x} ifelse

       x06t  y00ti moveto
       i 5 le {%i<=5
               ifunc 1 le {B*LTui i get cvsshow2x}
                          {B*YTui i get cvsshow2x} ifelse
              } if %i<=5
       i 6 eq {0 cvsshow2x} if
       i 7 eq {%i=7
               ifunc 1 le {B*LTui 4 get cvsshow2x}
                          {B*YTui 4 get cvsshow2x} ifelse
              } if %i=7

       x07t y00ti moveto
       ifunc 0 eq {Ltij 0 get cvsshow2x} if
       ifunc 1 eq {sxij 0 get cvsshow2x} if
       ifunc 2 eq {Ytij 0 get cvsshow2x} if
       ifunc 3 eq {syij 0 get cvsshow2x} if

       x08t y00ti moveto
       ifunc 0 eq {CTij 0 get cvsshow2x} if
       ifunc 1 eq {dxij 0 get cvsshow2x} if
       ifunc 2 eq {CTij 0 get cvsshow2x} if
       ifunc 3 eq {dyij 0 get cvsshow2x} if
} for %i=0,7

} if %ipu=1


%calculation and output for B*Lu=0.5 B*La and B*Yu = 50
/ioute 0 def
%ioute 1 eq {%ioute=1
%output for B*Yu = 50
%for u: i=0, j=0,1,2,3
%/j 0 def
%       /y00ti y00t 6.3 ydel mul sub def
%       x00t y00ti moveto
%       ifunc 0 eq {LTu 0 get cvsshow1x} if
%       ifunc 1 eq {LTu 0 get cvsshow1x} if
%       ifunc 2 eq {YTu 0 get cvsshow1x} if
%       ifunc 3 eq {YTu 0 get cvsshow1x} if
%       x01t y00ti moveto
%       phu cvishow (') show
%       x02t y00ti moveto
%       CTu cvsshow3x
%       x03t y00ti moveto
%       S0u cvsshow4x
%       x04t y00ti moveto
%       S1u cvsshow4x

%       x05t  y00ti moveto
%       B0u cvsshow2x

%       x06t  y00ti moveto
%       ifunc 0 eq {B*LTui 0 get cvsshow2x} if
%       ifunc 1 eq {B*LTui 0 get cvsshow2x} if
%       ifunc 2 eq {B*YTui 0 get cvsshow2x} if
%       ifunc 3 eq {B*YTui 0 get cvsshow2x} if

%       x07t y00ti moveto
%       ifunc 0 eq {LTui 0 get cvsshow2x} if
%%       ifunc 1 eq {sxu cvsshow2x} if
%       ifunc 2 eq {YTui 0 get cvsshow2x} if
%%       ifunc 3 eq {syu cvsshow2x} if

%       x08t y00ti moveto
%       ifunc 0 eq {CTu cvsshow2x} if
%%       ifunc 1 eq {dxu cvsshow2x} if
%       ifunc 2 eq {CTu cvsshow2x} if
%%       ifunc 3 eq {dyu cvsshow2x} if
%} if %ioute=1

} bind def %END proc_funcHAU function Haubner 7x7 versions, ifunc-0 to 3

%***************************************************
%%EndProlog
gsave

/lanind 1 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 1 def /lanind2 1 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 3 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 /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 %always independent of intended output

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

gsave
%XCHA01.PS END

/cvishow0 {cvi 6 string cvs show} def

72 90 translate

0.010 MM dup scale

/xbtex0 1 def  %xbtex=0 for files Y1(0/1)-(3/7)n.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
150 -140 moveto
(hes00-3R_R) show
} if %xbtex0=1

/ipu 1 def %0:phi change 120'>=10', 1:La change 1000, 200, 40, 8 example
/xpos [00100 06150 00100 06150] def
/ypos [04480 04480 00220 00220] def

/x00t 0400 def %xpos for BEG equations
/x01t 1900 def %xpos for shift equations
/x00e 5250 def %xpos for Num equations

/jLaj 0 def %0:300,1000,200,40 %1:1000,200,40,8 %2:3000,300,30,3
/jchartl 3 def
%0 1 3 {/jchartl exch def %jchartl=0,3
        jchartl 0 eq {/jchart 0 def} if %0300 cd/m^2
        jchartl 1 eq {/jchart 1 def} if %1000 cd/m^2
        jchartl 2 eq {/jchart 2 def} if %0200 cd/m^2
        jchartl 3 eq {/jchart 3 def} if %0040 cd/m^2

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

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

gsave

/ifunc ifuncl def

ifunc 0 eq {/kchartl 0 def /pchartl 0 def} if %0,0:left  top  page
ifunc 1 eq {/kchartl 1 def /pchartl 0 def} if %1,0:right top  page
ifunc 2 eq {/kchartl 0 def /pchartl 4 def} if %0,4:left  down page
ifunc 3 eq {/kchartl 1 def /pchartl 4 def} if %1,4:right down page

20 setlinewidth

xpos ifuncl  get ypos ifuncl  get translate

0 setgray
150  /Times-ISOL1 FS
150 -140 moveto
(hes0) show 0 xchartl 2 ge {1 add} if cvishow0 (-) show
ifuncl 1 add xchartl 1 eq
             xchartl 3 eq or {4 add} if cvishow0
(a) show %a

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

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

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

%BEG ifunc=0,1,2,3 ********************************************

proc_equaHAU

proc_funcHAU1


TK
0 setgray
150  /Times-ISOL1 FS
1000 -140 moveto
(j=) nSs jchart cvishow (, ) nSs
(L) jSs (r)  iSs (=) nSs Lr  cvishow (, ) nSs
(L) jSs (aj) iSs (=) nSs Laj cvishow (, ) nSs
%(n) jSs (=0,31, ) nSs
SS (j) show (=) nSs phi 0 get cvishow (', ) show

ifunc 0 eq {(B)  jSs (a)   iSs (=) nSs B0ij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (LT) iSs 0 30 rmoveto (=) nSs
                                       B*Lij jchart get cvsshow2x 
           } if

ifunc 1 eq {(B)  jSs (a)   iSs (=) nSs B0ij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs
                                       B*Lij jchart get cvsshow2x (, ) nSs
            (s)  jSs (x)   iSs (=) nSs sxij  jchart get cvsshow2x (, ) nSs
            (d)  jSs (xa)  iSs (=) nSs dxij  jchart get cvsshow2x
           } if

ifunc 2 eq {(B)  jSs (r)   iSs (=) nSs Brij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs
                                       B*Yij jchart get cvsshow2x
           } if

ifunc 3 eq {(B)  jSs (r)   iSs (=) nSs Brij  jchart get cvsshow2x (, ) nSs
            (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs
                                       B*Yij jchart get cvsshow2x (, ) nSs
            (s)  jSs (yra) iSs (=) nSs syij  jchart get cvsshow2x (, ) nSs
            (d)  jSs (yra) iSs (=) nSs dyij  jchart get cvsshow2x
           } if

xpos ifuncl  get neg ypos ifuncl  get neg translate


grestore

} for %ifuncl=0,3

%} for %xchartl=0,3

%} for %jchartl=0,3

showpage
grestore

%%Trailer


%%EndDocument
EndEPSF grestore gsave

BeginEPSF
219 MM 06 MM sub SHAr add 020 MM translate 12 /Times-ISOL1 FS -9 MM -7 MM  moveto ( ) show
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 28

%line 499
%!PS-Adobe-3.0 EPSF-3.0 hes01-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
     (hes01-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 -0.0 MM translate %xy-Verschiebung Rechteckrahmen nach innen%

%%BeginDocument: Bild 30 %Rechteckrahmen

%line 519
%!PS-Adobe-3.0 EPSF-3.0 Frame arround with Internet text DG02 20070101
%%BoundingBox: 0 0 598 845

%%EndProlog
gsave

/lanind 1 def
/lantex [(G) (E) (S) (N) (I) (J) (M)] def
/showde {0 lanind eq {show} {pop} ifelse} bind def
/showen {1 lanind eq {show} {pop} ifelse} bind def
/showes {2 lanind eq {show} {pop} ifelse} bind def
/showfr {3 lanind eq {show} {pop} ifelse} bind def
/showit {4 lanind eq {show} {pop} ifelse} bind def
/showjp {5 lanind eq {show} {pop} ifelse} bind def
/showea {1 lanind le {show} {pop} ifelse} bind def

/lanind1 01 def /lanind2 01 def /lanindd 01 def
/colorm1 00 def /colorm2 00 def /colormd 01 def
/deintp1 00 def /deintp2 00 def /deintpd 01 def
/xcolor1 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 0 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 hes0; ) showde
(TUB\255test chart hes0; ) showen
(gr\341fico TUB\255hes0; ) showes
(TUB\255test graphique hes0; ) showfr
(grafico TUB\255hes0; ) showit
(TUB\255test chart hes0; ) showjp

/xchart40 0 def %allways
/xchart41 0 def %allways
/jLaj 0 def %0:3000,300,30,3, 1:%1000,200,40,8, 2:%300,1000,200,40
/ipu 1 def %0:7 viewing angles, 1:4 adatation luminances

12TIN
xchart40 0 eq {%xchart40=0
               (HAULAB, scaling of ) showen
               (HAULAB, Sklalierung ) showde 
               (achromatic colours in white surround of 180 degree, ) showen
               (unbunte Farben in wei\337em Umfeld von 180 Grad, ) showde
               } if %xchart40=0

12TIN
61 MM 09.5 MM  moveto
xchart41 0 eq {%xchart41=0
               12TII
               (Haubner ) show
               12TIN ((1980), ) show
               (Adaptations ) showen
               (Adaptationen ) showde
               12TII (L) show 10TIN 0 -2 rmoveto (wa) show 0 2 rmoveto
               12TIN 
                 jLaj 0 eq {(=300, 1000, 200 & 40cd/m) show} if
                 jLaj 1 eq {(=1000, 200, 40 & 8cd/m) show} if
                 jLaj 2 eq {(=1500, 300, 30 & 3cd/m) show} if
               10TIN 0 3 rmoveto (2) show 0 -3 rmoveto 12TIN (; ) show
               ipu 0 eq {%ipu=0,1
                         (7 viewing angles 120' to 10') showen
                         (7 Beobachtungswinkel 120' bis 10') showde
                        }
                        {(7 test luminances for 120') showen 
                         (7 Testleuchtdichten f\374r 120') showde
                        } ifelse %ipu=0,1
/iout 0 def
iout 1 eq {%iout=1
           12TII (L) show 10TIN 0 -2 rmoveto (T) show 0 2 rmoveto
           12TIN ( or values ) showen ( oder ) showde
           12TII (Y) show 10TIN 0 -2 rmoveto (T) show 0 2 rmoveto
          } if %iout=1
               } if %xchart41=0

 62 MM 198.5 MM  moveto
12RN tfbs (http://farbe.li.tu-berlin.de/hes0/hes0l) 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/hes0/hes0.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/hess.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: 20241201\255hes0/hes0l) showde
(TUB registration: 20241201\255hes0/hes0l) showen
(TUB matr\355cula: 20241201\255hes0/hes0l) showes
(TUB enregistrement: 20241201\255hes0/hes0l) showfr
(TUB iscrizione: 20241201\255hes0/hes0l) showit
(TUB registration: 20241201\255hes0/hes0l) 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