%!PS-Adobe-3.0 EPSF-3.0 hez70-3N
%%BoundingBox: 70 85 421 335

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

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

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

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

/Times-ISOL1 exch definefont pop

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

/TimesI-ISOL1 exch definefont pop

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

/TimesB-ISOL1 exch definefont pop

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

/TimesBI-ISOL1 exch definefont pop

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

/CourierB-ISOL1 exch definefont pop

/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

/CBK {250 /CourierB-ISOL1 FS} bind def
/CBM {300 /CourierB-ISOL1 FS} bind def
/CBG {350 /CourierB-ISOL1 FS} bind def

/SK {250 /Symbol FS} bind def
/SM {300 /Symbol FS} bind def
/SG {350 /Symbol FS} bind def

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

/rem %x0, y0 width heigth
  {/heigth exch def /width exch def /y0 exch def /x0 exch def
   x0 width 0.5 mul add y0 heigth 0.5 mul add moveto
   width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def

/cvishowr {dup 0 ge {0.5 add} {0.5 sub} ifelse
           cvi 6 string cvs show} 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
/cvsshow1g {/nxx exch def                              %example nxx=99,1/99,0
             nxx 0 lt {(-) show /nxx nxx abs def} if
             nxx 10 mul cvi /nxi exch def              %nxi=991/990
             nxi 10 idiv /nxa exch def                 %nxa=99
             nxi nxa 10 mul sub /nxb exch def          %nxb=1/0
             nxa cvishow (,) show                      %nxa=99
             nxb cvishow                               %nxb=1/0
           } def
/cvsshow2g {/nxx exch def                              %example nxx=99.12/99,02/99,00
             nxx 0 lt {(-) show /nxx nxx abs def} if
             nxx 100 mul cvi /nxi exch def             %nxi=9912/9902/00
             nxi 100 idiv /nxa exch def                %nxa=99
             nxi nxa 100 mul sub /nxb exch def         %nxb=12/02/00
             nxa cvishow (,) show                      %nxb=99,
             nxb 10 ge {nxb cvishow} if                %nxb=12
             nxb  1 ge
             nxb  9 le and {(0) show nxb cvishow} if   %nxb=02
             nxb  0 eq {(00) show} if                  %nxb=00
           } def
/cvsshow3g {/nxx exch def                              %example nxx=99.123/99.012/99.001/99.000
             nxx 0 lt {(-) show /nxx nxx abs def} if
             nxx 1000 mul cvi /nxi exch def            %nxi=99123/99012/99001/99000
             nxi 1000 idiv /nxa exch def               %nxa=99
             nxi nxa 1000 mul sub /nxb exch def        %nxb=123/012/001/000
             nxa cvishow (,) show                      %nxb=99,
             nxb 100 ge {nxb cvishow} if               %nxb=123/012/001/000
             nxb  10 ge
             nxb  99 le and {(0) show nxb cvishow} if  %nxb=012
             nxb   1 ge
             nxb   9 le and {(00) show nxb cvishow} if %nxb=001
             nxb   0 eq {(000) show} if                %nxb=000
           } def

/tfw {1 setgray} def
/tfn {0 setgray} def
/tfo {1 0 0 setrgbcolor} def
/tfl {0 1 0 setrgbcolor} def
/tfv {0 0 1 setrgbcolor} def
/tfc {0 1 1 setrgbcolor} def
/tfm {1 0 1 setrgbcolor} def
/tfy {1 1 0 setrgbcolor} def
%*********************************************************************
/proc_colors {%BEG proc_colors
ifarb 0 eq {%ifarb=0 N_W
/colors2 [{rgb 0 get rgb 0 get rgb 0 get}
          {rgb 1 get rgb 1 get rgb 1 get}
          {rgb 2 get rgb 2 get rgb 2 get}
          {rgb 3 get rgb 3 get rgb 3 get}
          {rgb 4 get rgb 4 get rgb 4 get}
          {rgb 5 get rgb 5 get rgb 5 get}
          {rgb 6 get rgb 6 get rgb 6 get}
          {rgb 7 get rgb 7 get rgb 7 get}
          {rgb 8 get rgb 8 get rgb 8 get}]def
          %N00w_02w_04w_06w_08w_10w_12w_14w_16w=W
           } if %ifarb=0

ifarb 1 eq {%ifarb=1 N_R
/colors2 [{rgb 0 get rgb 0 get rgb 0 get}
          {rgb 1 get rgb 0 get rgb 0 get}
          {rgb 2 get rgb 0 get rgb 0 get}
          {rgb 3 get rgb 0 get rgb 0 get}
          {rgb 4 get rgb 0 get rgb 0 get}
          {rgb 5 get rgb 0 get rgb 0 get}
          {rgb 6 get rgb 0 get rgb 0 get}
          {rgb 7 get rgb 0 get rgb 0 get}
          {rgb 8 get rgb 0 get rgb 0 get}]def
          %N00r_02r_04r_06r_08r_10r_12r_14r_16r=R
           } if %ifarb=1

ifarb 2 eq {%ifarb=2 N_G
/colors2 [{rgb 0 get rgb 0 get rgb 0 get}
          {rgb 0 get rgb 1 get rgb 0 get}
          {rgb 0 get rgb 2 get rgb 0 get}
          {rgb 0 get rgb 3 get rgb 0 get}
          {rgb 0 get rgb 4 get rgb 0 get}
          {rgb 0 get rgb 5 get rgb 0 get}
          {rgb 0 get rgb 6 get rgb 0 get}
          {rgb 0 get rgb 7 get rgb 0 get}
          {rgb 0 get rgb 8 get rgb 0 get}]def
          %N00g_02g_04g_06g_08g_10g_12g_14g_16g=G
           } if %ifarb=2

ifarb 3 eq {%ifarb=3 N_B
/colors2 [{rgb 0 get rgb 0 get rgb 0 get}
          {rgb 0 get rgb 0 get rgb 1 get}
          {rgb 0 get rgb 0 get rgb 2 get}
          {rgb 0 get rgb 0 get rgb 3 get}
          {rgb 0 get rgb 0 get rgb 4 get}
          {rgb 0 get rgb 0 get rgb 5 get}
          {rgb 0 get rgb 0 get rgb 6 get}
          {rgb 0 get rgb 0 get rgb 7 get}
          {rgb 0 get rgb 0 get rgb 8 get}]def
          %N00b_02b_04b_06b_08b_10b_12b_14b_16b=B
           } if %ifarb=3

ifarb 4 eq {%ifarb=4 N_Y
/colors2 [{rgb 0 get rgb 0 get rgb 0 get}
          {rgb 1 get rgb 1 get rgb 0 get}
          {rgb 2 get rgb 2 get rgb 0 get}
          {rgb 3 get rgb 3 get rgb 0 get}
          {rgb 4 get rgb 4 get rgb 0 get}
          {rgb 5 get rgb 5 get rgb 0 get}
          {rgb 6 get rgb 6 get rgb 0 get}
          {rgb 7 get rgb 7 get rgb 0 get}
          {rgb 8 get rgb 8 get rgb 0 get}]def
          %N00y_02y_04y_06y_08y_10y_12y_14y_16y=Y
           } if %ifarb=4

ifarb 5 eq {%ifarb=5 N_C
/colors2 [{rgb 0 get rgb 0 get rgb 0 get}
          {rgb 0 get rgb 1 get rgb 1 get}
          {rgb 0 get rgb 2 get rgb 2 get}
          {rgb 0 get rgb 3 get rgb 3 get}
          {rgb 0 get rgb 4 get rgb 4 get}
          {rgb 0 get rgb 5 get rgb 5 get}
          {rgb 0 get rgb 6 get rgb 6 get}
          {rgb 0 get rgb 7 get rgb 7 get}
          {rgb 0 get rgb 8 get rgb 8 get}]def
          %N00c_02c_04c_06c_08c_10c_12c_14c_16c=C
           } if %ifarb=5

ifarb 6 eq {%ifarb=6 N_M
/colors2 [{rgb 0 get rgb 0 get rgb 0 get}
          {rgb 1 get rgb 0 get rgb 1 get}
          {rgb 2 get rgb 0 get rgb 2 get}
          {rgb 3 get rgb 0 get rgb 3 get}
          {rgb 4 get rgb 0 get rgb 4 get}
          {rgb 5 get rgb 0 get rgb 5 get}
          {rgb 6 get rgb 0 get rgb 6 get}
          {rgb 7 get rgb 0 get rgb 7 get}
          {rgb 8 get rgb 0 get rgb 8 get}]def
          %N00m_02m_04m_06m_08m_10m_12m_14m_16mM
           } if %ifarb=6

ifarb 7 eq {%ifarb=7 R_W
/colors2 [{rgb 8 get rgb 0 get rgb 0 get}
          {rgb 8 get rgb 1 get rgb 1 get}
          {rgb 8 get rgb 2 get rgb 2 get}
          {rgb 8 get rgb 3 get rgb 3 get}
          {rgb 8 get rgb 4 get rgb 4 get}
          {rgb 8 get rgb 5 get rgb 5 get}
          {rgb 8 get rgb 6 get rgb 6 get}
          {rgb 8 get rgb 7 get rgb 7 get}
          {rgb 8 get rgb 8 get rgb 8 get}]def
          %R00w_02w_04w_06w_08w_10w_12w_14w_16w=W
           } if %ifarb=7

ifarb 8 eq {%ifarb=8 G_W
/colors2 [{rgb 0 get rgb 8 get rgb 0 get}
          {rgb 1 get rgb 8 get rgb 1 get}
          {rgb 2 get rgb 8 get rgb 2 get}
          {rgb 3 get rgb 8 get rgb 3 get}
          {rgb 4 get rgb 8 get rgb 4 get}
          {rgb 5 get rgb 8 get rgb 5 get}
          {rgb 6 get rgb 8 get rgb 6 get}
          {rgb 7 get rgb 8 get rgb 7 get}
          {rgb 8 get rgb 8 get rgb 8 get}]def
          %G00w_02w_04w_06w_08w_10w_12w_14w_16w=W
           } if %ifarb=8

ifarb 9 eq {%ifarb=9 B_W
/colors2 [{rgb 0 get rgb 0 get rgb 8 get}
          {rgb 1 get rgb 1 get rgb 8 get}
          {rgb 2 get rgb 2 get rgb 8 get}
          {rgb 3 get rgb 3 get rgb 8 get}
          {rgb 4 get rgb 4 get rgb 8 get}
          {rgb 5 get rgb 5 get rgb 8 get}
          {rgb 6 get rgb 6 get rgb 8 get}
          {rgb 7 get rgb 7 get rgb 8 get}
          {rgb 8 get rgb 8 get rgb 8 get}]def
          %B00w_02w_04w_06w_08w_10w_12w_14w_16w=W
           } if %ifarb=9

ifarb 10 eq {%ifarb=10 Y_W
/colors2 [{rgb 8 get rgb 8 get rgb 0 get}
          {rgb 8 get rgb 8 get rgb 1 get}
          {rgb 8 get rgb 8 get rgb 2 get}
          {rgb 8 get rgb 8 get rgb 3 get}
          {rgb 8 get rgb 8 get rgb 4 get}
          {rgb 8 get rgb 8 get rgb 5 get}
          {rgb 8 get rgb 8 get rgb 6 get}
          {rgb 8 get rgb 8 get rgb 7 get}
          {rgb 8 get rgb 8 get rgb 8 get}]def
          %Y00w_02w_04w_06w_08w_10w_12w_14w_16w=W
           } if %ifarb=10

ifarb 11 eq {%ifarb=11 C_W
/colors2 [{rgb 0 get rgb 8 get rgb 8 get}
          {rgb 1 get rgb 8 get rgb 8 get}
          {rgb 2 get rgb 8 get rgb 8 get}
          {rgb 3 get rgb 8 get rgb 8 get}
          {rgb 4 get rgb 8 get rgb 8 get}
          {rgb 5 get rgb 8 get rgb 8 get}
          {rgb 6 get rgb 8 get rgb 8 get}
          {rgb 7 get rgb 8 get rgb 8 get}
          {rgb 8 get rgb 8 get rgb 8 get}]def
          %C00w_02w_04w_06w_08w_10w_12w_14w_16w=W
           } if %ifarb=11

ifarb 12 eq {%ifarb=12 M_W
/colors2 [{rgb 8 get rgb 0 get rgb 8 get}
          {rgb 8 get rgb 1 get rgb 8 get}
          {rgb 8 get rgb 2 get rgb 8 get}
          {rgb 8 get rgb 3 get rgb 8 get}
          {rgb 8 get rgb 4 get rgb 8 get}
          {rgb 8 get rgb 5 get rgb 8 get}
          {rgb 8 get rgb 6 get rgb 8 get}
          {rgb 8 get rgb 7 get rgb 8 get}
          {rgb 8 get rgb 8 get rgb 8 get}]def
          %M00w_02w_04w_06w_08w_10w_12w_14w_16w=W
           } if %ifarb=12

} bind def %END proc_colors

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

/lanind 0 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
/showm {6 lanind eq {show} {pop} ifelse} bind def
/lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def}
               {/lanind1 1 def /lanind2 1 def} ifelse
/colormg where {pop /colorm1 colormg def /colorm2 colormg def}
               {/colorm1 0 def /colorm2 0 def} ifelse
/xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def}
               {/xcolor1 0 def /xcolor2 0 def} ifelse
/xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def}
               {/xchart1 0 def /xchart2 0 def} ifelse
/lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage
/colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage
/xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage
/xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage

gsave

/cvishow0 {cvi 6 string cvs show} def

/pchartl 0 def %0:left page, 1:right page
/tchartl 0 def %0:top  page, 4:down  page
/pchart pchartl def
/tchart tchartl 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
pchartl 0 eq {(hez70-) show}
             {(hez71-) show} ifelse
tchartl 0 eq {(3n) show}
             {(7n) show} ifelse
} if %xbtex0=1

/ifarb 0 def
/isize 1.00 def %1.00, 0.90, 0.50, 0.25

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

20 setlinewidth

  xchartl   0 eq {  100 04480 translate} if
  xchartl   1 eq { 6150 04480 translate} if
  xchartl   2 eq {  100 00220 translate} if
  xchartl   3 eq { 6150 00220 translate} if

0 setgray
150  /Times-ISOL1 FS
050 -140 moveto
pchartl 0 eq {(hez70-) show}
             {(hez71-) show} ifelse
xchartl 1 add tchartl add cvishow0
(a) show %a

(, image ) showen (, Bild ) showde
xchartl 1 add cvishow0

xchart 2 le {%xchart<=2
(, produce equal visual difference between ) showen
(, erzeuge gleiche visuelle Differenz zwischen ) showde
} if %xchart<=2

xchart 0 eq {%xchart=0
/colseen 14 array def
/colseen [%BEG colseren
(Black N - White W)                (Black N - Red Rn - Red R)
(Black N - Green Gn - Green G)     (Black N - Blue Bn - Blue B)
(Black N - Yellow Yn - Yellow Y)   (Black N - Cyan Cn - Cyan C) 
(Black N - Magenta Mn - Magenta M) (Red R - Red Rw - White W)
(Green G - Green Gw - White W)     (Blue B - Blue Bw - White W)
(Yellow Y - Yellow Yw - White W)   (Cyan C - Cyan Cw - White W)
(Magenta M - Magenta Mw - White W)
] def %END colseen
/colsede 14 array def
/colsede [%BEG colsede
(Schwarz N - Wei\337 W)              (Schwarz N - Rot Rn - Rot R)
(Schwarz N - Gr\374n Gn - Gr\374n G) (Schwarz N - Blau Bn - Blau B)
(Schwarz N - Gelb Yn - Gelb Y)       (Schwarz N - Cyan Cn - Cyan C)
(Schwarz N - Magenta Mn - Magenta M) (Rot R - Rot Rw - Wei\337 W)
(Gr\374n G - Gr\374n Gw - Wei\337 W) (Blau B - Blau Bw - Wei\337 W)
(Gelb Y - Gelb Yw - Wei\337 W)       (Cyan C - Cyan Cw - Wei\337 W)
(Magenta M - Magenta Mw - Wei\337 W)
] def %END colsede
colseen ifarb get showen
colsede ifarb get showde
} if %xchart=0

xchart 1 eq {%xchart=1
(two of five steps) showen
(zwei von f\374nf Stufen) showde
} if %xchart=1

xchart 2 eq {%xchart=2
(four of nine steps) showen
(vier von neun Stufen) showde
} if %xchart=2

xchart 3 eq {%xchart=3
(, adjust visual threshold (+0,04?) of 9 steps; all equal?) showen
(, erzeuge Sehschwelle (+0,04?) von 9 Stufen; alle gleich?) showde
} if %xchart=3

%**************************************************************
%definition of slope and color series

%/nn 2.0 def %to be defined
/nn 1.5 def

/rgb 9 array def
0 1 8 {/i exch def %i=0,8
       /id8 0.125 i mul def
       rgb i id8 put
      } for %i=0,8

%inverse data, see heg0l0np.pdf, change the above 7 data
%rgb 1 0.115 put
%rgb 2 0.202 put
%rgb 3 0.299 put
%rgb 4 0.390 put
%rgb 5 0.538 put
%rgb 6 0.690 put
%rgb 7 0.844 put

%n>1 darker output, n<1 lighter output
%0 1 8 {/i exch def %i=0,8
%       /id8 0.125 i mul def
%       rgb i id8 1.5 exp put
%      } for %i=0,8

/cvishow {cvi 6 string cvs show} def

proc_colors
%************************************************

%special format with scale for about 6x4cm
0.425 dup scale
20 setlinewidth
%xwidth=9*1400=1400
%white frame=350=1400*0.25
%grey  frame=350=1400*0.25

/s0      1400 def
/s0d2 s0 0.50 mul def
/s0d4 s0 0.25 mul def
/xwidth  s0 10.0 mul def %format about 3:2
/ywidth  s0 6.67 mul def
/xwidthm xwidth 0.5 mul def %mean xwidth

%grey frame (u), start left down
/x0u s0d4 def %left xy down
/y0u s0d4 def
/x1u xwidth s0d4 sub def
/y1u y0u def
/x2u x1u def
/y2u ywidth s0d4 sub def
/x3u x0u def
/y3u y2u def

/xpmi 9 array def %horizontal from left (0) to right (8)
/ypmj 4 array def %vertical from top (3) to down (0)

/xp3m x3u s0 0.75 mul add def
/yp3m y3u s0 0.75 mul sub def

/xp2m x3u s0 0.75 mul add def
/yp2m y3u s0 2.00 mul sub def

/xp1m x0u s0 0.75 mul add def
/yp1m y0u s0 1.95 mul add def

/xp0m x0u s0 0.75 mul add def
/yp0m y0u s0 0.75 mul add def

0 1 08 {/i exch def %i=0,8
        xpmi i xp0m s0 i mul add put
       } for %i=0,8

ypmj 3 yp3m put
ypmj 2 yp2m put
ypmj 1 yp1m put
ypmj 0 yp0m put

/x00 xpmi 3 get def %3 steps
/x01 xpmi 2 get def %5 steps
/x02 xpmi 0 get def %9 steps
/x03 xpmi 2 get def %1 step

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

xchart 0 eq {0.5 nn exp setgray}{0.5 setgray} ifelse
x0u y0u moveto x1u y1u lineto x2u y2u lineto
               x3u y3u lineto closepath fill

/tfnw {tfw} def

%%%%%%%%%%%   oberer Schriftzug %%%%%%%%%%%%%%%%

/sd  1400 def
/sd0 000 def
/dd0 270 def
/sda 0200 def

/xt   400 200 add def
/yte  100 def

/y00t 150 def
/y01t 450 def

xchart 0 eq {/jd 4 def /ixk x00 def /jm 1 def} if
xchart 1 eq {/jd 2 def /ixk x01 def /jm 2 def} if
xchart 2 eq {/jd 1 def /ixk x02 def /jm 4 def} if
xchart 3 eq {/jd 1 def /ixk x02 def /jm 4 def} if %identical xchart=2

%for index
/inx {TBK 0 -40 rmoveto show 0 40 rmoveto TBM} def

20 setlinewidth
%forth line from bottom, always full square

%xchart 0 eq {%xchart=0 allways grey
/s s0 def
/iy0 ypmj 3 get s 0.5 mul sub def
0 1 8 {/i exch def %i=0,jd,8
        i 0.125 mul nn exp dup dup setrgbcolor %darker row
        /ix0 xpmi i get s 0.5 mul sub def
        ix0 iy0 s s rec fill
       } for %i=0,jd,8
tfw
/ix0 xpmi 4 get s 0.5 mul sub def
ix0 iy0       moveto s 0 rlineto stroke
ix0 iy0 s add moveto s 0 rlineto stroke
%} if %xchart=0

%xchart 1 ge {%xchart>=1
%/s s0 def
%/iy0 ypmj 3 get s 0.5 mul sub def
%0 1 8 {/i exch def %i=0,jd,8
%        colors2 i get exec setrgbcolor
%        /ix0 xpmi i get s 0.5 mul sub def 
%        ix0 iy0 s s rec fill
%       } for %i=0,jd,8
%tfw
%/ix0 xpmi 4 get s 0.5 mul sub def
%ix0 iy0       moveto s 0 rlineto stroke
%ix0 iy0 s add moveto s 0 rlineto stroke
%} if %xchart>=1

%third line: 3, 5, 9 steps
/s s0 isize mul def
/iy0 ypmj 2 get s 0.5 mul sub def
0 jd 8 {/i exch def %i=0,jd,8
        colors2 i get exec setrgbcolor
        jd 4 eq {%jd=4
                 /ix0 xpmi 3 i 4 idiv add get s 0.5 mul sub def
                } if %jd=4
        jd 2 eq {%jd=2
                 /ix0 xpmi 2 i 2 idiv add get s 0.5 mul sub def
                } if %jd=2
        jd 1 eq {%jd=1
                 /ix0 xpmi i get s 0.5 mul sub def
                } if %jd=1
        ix0 iy0 s s rec fill
       } for %i=0,jd,8

tfw
/ix0 xpmi 4 get s 0.5 mul sub def
%isize 1 lt {ix0 iy0 s s rec stroke}
%                   {
                    ix0 iy0       moveto s 0 rlineto stroke
                    ix0 iy0 s add moveto s 0 rlineto stroke
%                   } ifelse

%to be calculated for image 3 from image 0, 1, and 2
%data from heg0/heg0l0np.pdf 250115

/lindat 9 array def
/lindaa 9 array def
/lindac 9 array def
/lindad 9 array def %d=dark
/lindah 9 array def %h=hell (light)
%standard data
%        0     1     2     3     4     5     6     7     8
/lindat [0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000] def
%adjusted data
/lindaa [0.000 0.135 0.300 0.450 0.600 0.700 0.800 0.900 1.000] def
%calculated from adjusted data
/lindac [0.000 0.115 0.202 0.299 0.390 0.538 0.690 0.844 1.000] def

0 1 8 {/i exch def %i=0,8
%       lindad i lindat i get 1 nn div exp put  %0.7071, nn=2 (i=4) %lighter
%       lindah i lindat i get nn exp put        %0.2500, nn=2 (i=4) %darker
       lindah i lindat i get 1 nn div exp put  %0.6300, nn=1.5 (i=4) %lighter
       lindad i lindat i get nn exp put        %0.3536, nn=1.5 (i=4) %darker
      } for %i=0,8

%rectangle (r)
/x0r x0u s0 3 mul add def
/y0r y0u s0d4 add def
/x1r x0r s0 3 mul add def
/y1r y0r def
/x2r x1r def
/y2r y1r s0 3 mul add def
/x3r x0r def
/y3r y2r def

/xwr 4400 def
/ywr 0300 def

%test square xchart=0,1,2
xchart 2 le {%xchartl<=2

tfn
TBM
x0r y0r moveto x1r y1r lineto x2r y2r lineto
               x3r y3r lineto closepath stroke


xchart 0 eq {%xchart=0
             tfw
             x0r y0r moveto x2r y2r lineto stroke
            } if %xchart=0

xchart 0 eq
xchart 1 eq or
xchart 2 eq or {%xchart=0/1/2

/xpi 9 array def %p=position
/ypi 9 array def
/xvi 9 array def %v=value
/yvi 9 array def

0 1 2 {/ks exch def %ks=0,1

0 1 8 {/i exch def %i=0,8
       xpi i x0r x2r x0r sub 0.125 i mul  mul add put
       ypi i y0r y2r y0r sub 
       ks 0 eq {lindat i get mul add put} if
       ks 1 eq {lindad i get mul add put} if
       ks 2 eq {lindah i get mul add put} if

       xvi i 0.125 i mul put
       yvi i ks 0 eq {lindat i get put} if
             ks 1 eq {lindad i get put} if
             ks 2 eq {lindah i get put} if
      } for %i=0,8

ks 0 eq {tfl} if
ks 1 eq {tfo} if
ks 2 eq {tfy} if

0 1 8 {/i exch def %i=0,8
       xpi i get ypi i get
       i 0 eq {moveto} if
       i 1 ge 
       i 7 le and {lineto} if
       i 8 eq {lineto stroke} if 
      } for %i=0,8

ks 0 eq {%ks=0 green
         1 1 7 {/i exch def %i=1,7
                xpi i get ypi i get 70 0 360 arc fill
               } for %i=1,7
        } if %ks=0

ks 1 eq {%ks=1 red
         1 1 7 {/i exch def %i=1,7
                newpath
                xpi i get ypi i get 70 0 360 arc fill
                newpath
                xpi i get 250 add ypi i get 100 sub moveto
                xvi i get cvsshow2g (, ) show yvi i get cvsshow2g
               } for %i=1,7
        } if %ks=1

ks 2 eq {%ks=2 yellow
         1 1 7 {/i exch def %i=1,7
                newpath
                xpi i get ypi i get 70 0 360 arc fill
                newpath
                xpi i get 1500 sub ypi i get 100 sub moveto
                xvi i get cvsshow2g (, ) show yvi i get cvsshow2g
               } for %i=1,7
        } if %ks=2

      } for %ks=0,2

} if %xchart=0/1/2        

/i 4 def
/xp4  x0r x2r x0r sub 0.125 4 mul  mul add def
/yp4  y0r y2r y0r sub lindat 4 get mul add def
/yp4d y0r y2r y0r sub lindad 4 get mul add def
/yp4h y0r y2r y0r sub lindah 4 get mul add def
tfw
xp4 yp4d moveto xp4 yp4  lineto 75 neg 150 neg rlineto
                                75     150     rlineto
                                75     150 neg rlineto stroke
/xv4 0.125 4 mul def
/yv4  lindat 4 get def
/yv4d lindad 4 get def
/yv4h lindah 4 get def

tfn
x0r 3000 sub y3r 80 sub moveto (Output (9 steps)) showen 
                               (Ausgabe (9 Stufen)) showde

x1r 400 add y0r 200 sub moveto (Input (9 steps)) showen
                               (Eingabe (9 Stufen)) showde

tfw
x0r 3000 sub y3r 380 sub moveto (adjusted spacing) showen
                                (justierte Stufung) showde
x0r 3000 sub y3r 680 sub moveto (0 <= ) show TBIM (rgb*) show
                                TBK 0 -50 rmoveto (out) show 0 50 rmoveto
                                TBM ( <= 1) show
tfn
x1r 400 add y0r 400 add moveto (equally spaced) showen
                               (gleichabs\344ndig gestuft) showde
x1r 400 add y0r 100 add moveto (0 <= ) show TBIM (rgb*) show
                               TBK 0 -50 rmoveto (in) show 0 50 rmoveto
                               TBM ( <= 1) show
tfw
/ymr y3r y0r add 0.5 mul def
x0r 350 sub y0r 80 sub moveto (0) show
x0r 550 sub ymr 80 sub moveto (0,5) show
x0r 350 sub y3r 80 sub moveto (1) show

tfn
/xmr x1r x0r add 0.5 mul def
x0r 050 add y0r 300 sub moveto (0) show
xmr 050 add y0r 300 sub moveto (0,5) show
x1r 050 add y0r 300 sub moveto (1) show

/sx 3 s0 mul 8 div def
0 1 8 {/i exch def
       x0r 150 sub y0r i sx mul add moveto 150 0 rlineto stroke
       x0r i sx mul add y0r moveto 0 -150 rlineto stroke
      } for 

tfw
x2r 400 add y3r 0180 sub moveto xwr 0 rlineto 0 ywr rlineto
                            xwr neg 0 rlineto closepath fill
tfn
x2r 500 add y3r 0130 sub moveto 
(go to next image ) showen (gehe zu neuem Bild ) showde
xchart 2 add cvishow


xchart 0 eq {%xchart=0
tfw
x2r 500 add y3r 0130 sub 1000 sub moveto
(one experimental value: ) showen 
(Ein experimenteller Wert: ) showde
x2r 500 add y3r 0130 sub 1300 sub moveto
tfw
TBM (e) show (08) inx TBM (=) show yv4h cvsshow2g

tfw
x2r 500 add y3r 0130 sub 1600 sub moveto
(real gamma value: ) showen
(realer Gammawert: ) showde
tfw
x2r 500 add y3r 0130 sub 1900 sub moveto
SK (g) show 0 -50 rmoveto TBK (re) show 0 50 rmoveto
TBM (= log [0,50] / log [e) show (08) inx (] =) show
0.50 log yv4h log div cvsshow3g

tfw
x2r 500 add y3r 0130 sub 2200 sub moveto
(inverse gamma value: ) showen
(inverse Gammawert: ) showde
tfw
x2r 500 add y3r 0130 sub 2500 sub moveto
SK (g) show 0 -50 rmoveto TBK (in) show 0 50 rmoveto 
TBM (= log [e) show (08) inx
TBM (] / log [0,50] =) show
yv4h log 0.50 log div cvsshow3g

            } if %xchart=0

xchart 1 eq {%xchart=1
tfn
x2r 500 add y3r 0130 sub 1000 sub moveto
(two experimental values: ) showen
(Zwei experimentelle Werte: ) showde
x2r 500 add y3r 0130 sub 1300 sub moveto
tfw
TBM (e) show (04) inx (, e) show (48) inx
            } if %xchart=1

xchart 2 eq {%xchart=2
tfn
x2r 500 add y3r 0130 sub 1000 sub moveto
(four experimental values: ) showen
(Vier experimentelle Werte: ) showde
x2r 500 add y3r 0130 sub 1300 sub moveto
tfw
TBM (e) show (02) inx
(, e) show (24) inx
(, e) show (46) inx
(, e) show (68) inx

tfw
x2r 400 add y3r 0180 sub 2000 sub moveto 
xwr 0 rlineto 0 ywr rlineto
xwr neg 0 rlineto closepath fill
tfn
x2r 500 add y3r 0130 sub 2000 sub moveto
(save 7 data above as text) showen
(speichere 7 obere Daten als Text) showde

            } if %xchart=2

            } if %xchart<=2

%texts xchart=0 to 3

TBM
tfn

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

/xm1 xwidthm 1.4 s0 mul sub def
/xm0 2000 def
tfw
xm0 y3u 270 sub  moveto
(A choose of a value different "0.50" ) showen
(changes the grey sample and surround.) showen
(Eine Wertewahl verschieden von "0.50" ) showde
(\344ndert das graue Muster und Umfeld.) showde

xm0 y3u 270 sub 300 sub moveto 
(Beginners often have difficulties to choose ) showen
(on an appropriate value.) showen
(Beginner haben oft Schwierigkeiten ) showde
(mit einer geeigneten Wertewahl.) showde

xm0 y3u 270 sub 600 sub moveto
(Therefore it is recommended for beginners ) showen
(to proceed with image 2.) showen
(Es wird daher f\374r Beginner empfohlen ) showde
(mit Bild 2 fortzufahren.) showde

xm0 y3u 270 sub 900 sub moveto
(After a restart of the experiment, ) showen
(a value different "0.50" may be used.) showen
(Nach Neustart des Experiments, k\366nnte ) showde
(eine Wertewahl verschieden "0,50" erfolgen.) showde
} if %xchart=0
} if %ioutx=1

xchart 0 eq {%xchart=0
tfw
500 y3u 270 sub  moveto
(9 step series with grey sample and surround too dark, ajust both ) showen
(with a value larger "0.50") showen
(9stufige Serie mit zu dunklem grauem Muster und Umfeld, justiere beide ) showde
(mit Wert gr\337\366er "0,50") showde
               } if %xchart=0

xchart 1 eq
xchart 2 eq or
xchart 3 eq or {%xchart=1,2,3
tfw
500 y3u 270 sub  moveto
%(9 step series based only on the visual ajustment of image 1 ) showen
%(with value "0.50" or different) showen
%(9stufige Serie basierend nur auf visueller Einstellung von Bild 1 ) showde
%(mit Wert "0,50" oder verschieden) showde
(9 step series with grey sample and surround appears too dark, ) showen 
(all will be lighter below) showen
(9stufige Serie mit zu dunklem grauem Muster und Umfeld, ) showde
(alle werden unten heller) showde
               } if %xchart=1,2,3

xchart 0 eq
xchart 1 eq or
xchart 2 eq or {%xchart=0,1,2
tfw
/xm2 xwidthm 1.8 s0 mul sub 200 sub def
xm2 500 sub xchart 0 eq {1000 sub} if y3u 250 sub s0 sub s0d4 sub moveto
(  adjust visual equal difference for ) showen
(erzeuge visuell gleiche Differenz f\374r ) showde
xchart 0 eq {(Grau U zwischen Wei\337 W und Schwarz N) showde 
             (Grey U between White W and Black N) showen
            } if
xchart 1 eq {(zwei von 5 Stufen) showde (two of 5 steps) showen} if
xchart 2 eq {(vier von 9 Stufen) showde (four of 9 steps) showen} if

/ylk y3u 300 sub s0 2 mul sub s0d4 2 mul sub def
xchart 0 eq {/l0 3 def /l1 3 def} if
xchart 1 eq {/l0 2 def /l1 4 def} if
xchart 2 eq {/l0 0 def /l1 6 def} if
l0 2 l1 {/l exch def %l=l1,l2
         tfn
         x3u l 0.5 add s0 mul add 400 add ylk moveto (0) show
         x3u l 1.5 add s0 mul add 350 sub ylk moveto
         tfw 
         xchart 0 eq {TBM (e) show (08) inx TBM (=) show} if %xchart=0

         xchart 1 eq {%xchart=1
                      TBM (e) show l 2 eq {(04)} if
                                   l 4 eq {(48)} if 
                                   inx TBM (=) show
                     } if %xchart=1
         xchart 2 eq {%xchart=2
                      TBM (e) show l 0 eq {(02)} if
                                   l 2 eq {(24)} if
                                   l 4 eq {(46)} if
                                   l 6 eq {(68)} if
                                   inx TBM (=) show
                     } if %xchart=2
         tfw
         0 -50 rlineto 850 0 rlineto 0 300 rlineto
                 850 neg 0 rlineto closepath fill
         newpath
         x3u l 1.5 add s0 mul add 350 sub 600 add ylk moveto

         tfn %(0,50) show
         xchart 0 eq {l 3 eq {lindah 4 get cvsshow2g} if     %l=3->4
                     } if
         xchart 1 eq {l 2 eq {lindah 2 get cvsshow2g} if     %l=2,4->2,6
                      l 4 eq {lindah 6 get cvsshow2g} if         
                     } if
         xchart 2 eq {lindah l 1 add get cvsshow2g} if %l=0,2,4,6->1,3,5,7

         100 100 rmoveto SK (\331) show 0 -100 rmoveto
         -150 -50 rmoveto SK (\332) show 0   50 rmoveto

         tfn 
         TBM
         x3u l 2.5 add s0 mul add 000 sub l l1 eq {100 add} if 
         ylk moveto (1) show
         l l1 ne {( /) show} if
        } for %l=l0,l1       
} if %xchart=0,1,2

%first time to use xchart=3
xchart 3 eq {%xchart=3

tfw
1000 y3u 250 sub s0 sub s0d4 sub moveto
(9 step series based on all visual adjustments used for ) showen
(output linearization) showen
(9stufige Serie basierend auf allen visuellen Einstellungen benutzt ) showde
(f\374r Ausgabelinearisierung) showde

TBM
tfw
/x1f x0u s0d4 add def
/y1f y3u 250 sub s0 2.25 mul sub def
0 1 8 {/i exch def %i=0,8
        tfw x1f i s0 mul add 350 add y1f 300 sub 050 sub moveto
%        lindat i get 255 mul cvishow (, ) show 
        i 1 ge
        i 7 le and {-100 0 rmoveto TBM (c) show
                    TBK 0 -40 rmoveto i cvishow 0 40 rmoveto
                    TBM (=) show
                   } if
        lindat i get cvsshow2g
       } for %i=0,8

tfn
500 y3r 0080 sub moveto
(calculation with visual experimental (e) data adjusted above) showen
(Berechnung mit ermittelten visuellen experimentellen (e) Daten) showde


500 y3r 0380 sub moveto
%(a1=e08, b1=e04*a1, b3=e48(1-b2)+b2, c2=b1, c4=b2, c6=c3) show
TBM
(a) show (1) inx
(=e) show (08) inx
(, b) show (1) inx
(=e) show (04) inx
(*a) show (1) inx
(, b) show (3) inx
(=e) show (48) inx
(\0501-b) show (2) inx
(\051+b) show (2) inx
(, c) show (2) inx
(=b) show (1) inx
(, c) show (4) inx
(=b) show (2) inx
(, c) show (6) inx
(=b) show (3) inx

500 y3r 0680 sub moveto
%(c1=e02*b1, c3=e24(b2-b2)+b1, c5=e46(b3-b2)+b2, c7=e68(1-b3)+b3) show
TBM
(c) show (1) inx
(=e) show (02) inx
(*b) show (1) inx
(, c) show (3) inx
(=e) show (24) inx
(\050b) show (2) inx
(-b) show (2) inx
(\051+b) show (1) inx
(, c) show (5) inx
(=e) show (46) inx
(\050b) show (3) inx
(-b) show (2) inx
(\051+b) show (2) inx
(, c) show (7) inx
(=e) show (68) inx
(\0501-b) show (3) inx
(\051+b) show (3) inx

tfw
x2r 400 add y3r 0180 sub moveto xwr 0 rlineto 0 ywr rlineto
                                xwr neg 0 rlineto closepath fill
tfn
x2r 500 add y3r 0130 sub moveto (save 7 data above as text) showen
                                (speichere 7 obere Daten als Text) showde

%9 step series
tfw
x2r 400 add y3r 0680 sub moveto xwr 0 rlineto 0 ywr rlineto
                                xwr neg 0 rlineto closepath fill
tfn
x2r 500 add y3r 0630 sub moveto (save 9 data below as text) showen
                                (speichere 9 untere Daten als Text) showde

tfw
x2r 400 add y3r 3880 sub moveto xwr 0 rlineto 0 ywr 2 mul rlineto
                                xwr neg 0 rlineto closepath fill
tfn
x2r 500 add y3r 3530 sub moveto (adjust and proof threshold of) showen
                                (justiere und pr\374fe Schwellen) showde
x2r 500 add y3r 3830 sub moveto (the linearized output) showen
                                (der linearisierten Ausgabe) showde

tfw
x2r 400 add y3r 4380 sub moveto xwr 0 rlineto 0 ywr rlineto
                                xwr neg 0 rlineto closepath fill
tfn
x2r 500 add y3r 4330 sub moveto (restart with image 1) showen
                                (Neustart mit Bild 1) showde

%second line
/s s0 isize mul def
/iy0 ypmj 1 get s 0.5 mul sub 50 sub def
0 1 8 {/i exch def %i=0,jd,8
        /li0 0 def
        /li1 lindat i get def
        ifarb 0 eq {li1 li1 li1 setrgbcolor} if %N
        ifarb 1 eq {li1 0   0   setrgbcolor} if %R
        ifarb 2 eq {0   li1 0   setrgbcolor} if %G
        ifarb 3 eq {0   0   li1 setrgbcolor} if %B
        ifarb 4 eq {li1 li1 0   setrgbcolor} if %Y
        ifarb 5 eq {0   li1 li1 setrgbcolor} if %C
        ifarb 6 eq {li1 0   li1 setrgbcolor} if %M

        /ix0 xpmi i get s 0.5 mul sub def
        ix0 iy0 s s rec fill

        /li2 i 7 le {li1 0.04 add def}
                    {li1 0.04 sub def} ifelse
        ifarb 0 eq {li2 li2 li2 setrgbcolor} if %N
        ifarb 1 eq {li2 0   0   setrgbcolor} if %R
        ifarb 2 eq {0   li2 0   setrgbcolor} if %G
        ifarb 3 eq {0   0   li2 setrgbcolor} if %B
        ifarb 4 eq {li2 li2 0   setrgbcolor} if %Y
        ifarb 5 eq {0   li2 li2 setrgbcolor} if %C
        ifarb 6 eq {li2 0   li2 setrgbcolor} if %M

        /ix0 xpmi i get s 0.5 mul sub def
        /sh s 0.5 mul def
        ix0 iy0 sh add moveto s 0 rlineto 0 sh rlineto
                          s neg 0 rlineto closepath fill
       } for %i=0,jd,8
tfw
/ix0 xpmi 4 get s 0.5 mul sub def
ix0 iy0       moveto s 0 rlineto stroke
ix0 iy0 s add moveto s 0 rlineto stroke

%down sample grey
/s s0 isize mul def
/iy0 ypmj 0 get s 0.5 mul sub 200 sub def
0.25 dup dup setrgbcolor
/ix0 xpmi 2 get s 0.5 mul sub def
ix0 iy0 s s rec fill

%+0,06 used, not +0,04
0.25 0.06 add dup dup setrgbcolor
/sh s 0.5 mul def
ix0 iy0 sh add moveto s 0 rlineto 0 sh rlineto
                  s neg 0 rlineto closepath fill


20 setlinewidth
TBM
tfnw
/jd 1 def /ixk x02 def /jm 4 def %9 steps

%below (dec) and top linearized series
/x1f x0u s0d4 add def
/y1f y0u 2000 add def
%/y1f ypmj 0 get s 0.5 mul sub 200 sub def
/y2f y1f s0 add def
0 1 8 {/i exch def %i=0,8
        i 8 div dup dup setrgbcolor
        tfn x1f i s0 mul add 400 add y1f 300 sub 30 add moveto
%        lindat i get cvsshow2g
        tfw
        i 1 ge
        i 7 le and {-100 0 rmoveto TBM (c) show
                    TBK 0 -40 rmoveto i cvishow 0 40 rmoveto
                    TBM (=) show
                   } if
        lindat i get cvsshow2g

        tfw
        x1f i s0 mul add 200 add y1f 1500 add moveto
        0 -75 rlineto 1000 0 rlineto 0 300 rlineto
                  1000 neg 0 rlineto closepath fill
        newpath

        tfn
        x1f i s0 mul add 200 add y1f 1500 add moveto
           i 7 le {(+0,04) show}  {(-0,04) show}   ifelse

         100 100 rmoveto SK (\331) show 0 -100 rmoveto
        -150 -50 rmoveto SK (\332) show 0   50 rmoveto
        TBM
       } for %i=0,8

%decription of grey sample
/x3f x0u s0d4 add def
/y3f y0u 1700 add s0 sub 200 sub def
/i 2 def
        tfn 
        x3f i 1 add s0 mul add 80 add y3f 800 add moveto
        lindat 2 get cvsshow2g
        tfw
        x3f i 1 add s0 mul add 80 add 600 add y3f 800 add moveto
        0 -75 rlineto 1000 0 rlineto 0 300 rlineto
                  1000 neg 0 rlineto closepath fill
        newpath

        tfn
        x3f i 1 add s0 mul add 80 add 600 add y3f 800 add moveto
        (+0,06) show
         100 100 rmoveto SK (\331) show 0 -100 rmoveto
        -150 -50 rmoveto SK (\332) show 0   50 rmoveto
        TBM
        tfw (  adjust threshold) showen 
            (  justiere Schwelle) showde

        tfn x3f i 1 add s0 mul add 80 add y3f 500 add moveto
        lindat 2 get cvsshow2g
        ( +0,00) show

         100 100 rmoveto SK (\331) show 0 -100 rmoveto
        -150 -50 rmoveto SK (\332) show 0   50 rmoveto
        TBM

        tfn (  no change) showen (  unge\344ndert) showde

        tfn x3f i 2 sub s0 mul add 40 add y3f 900 add moveto
        (grey example) showen (Graubeispiel) showde

        tfw x3f i 2 sub s0 mul add 40 add y3f 600 add moveto
        (difference visible?) showen (Differenz sichtbar?) showde

} if %xchart=3

  xchartl   0 eq {  100 neg 04480 neg translate} if
  xchartl   1 eq { 6150 neg 04480 neg translate} if
  xchartl   2 eq {  100 neg 00220 neg translate} if
  xchartl   3 eq { 6150 neg 00220 neg translate} if

grestore

} for %xchartl=0,3

showpage
grestore

%%Trailer