%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/hep2/hep21-7n
%%BoundingBox: 70 85 246 206

%START PDFDE011.EPS
/pdfmark17 where {pop} {userdict /pdfmark17 /cleartomark load put} ifelse
/languagelevel where {pop languagelevel} {1} ifelse
2 lt { userdict (<<) cvn ([) cvn load put
       userdict (>>) cvn (]) cvn load put} if
[/Title (PostScript pictures: farbe.li.tu-berlin.de/hep2/hep2.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:2024100112000)
 /ModDate (D:20241001112000)
/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 smaler index exponent
/ebSs {130 /TimesB-ISOL1 FS 0 070 rmoveto show 0 -070 rmoveto TL} 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

/iout 0 def
iout 1 eq {%iout=1
/YnW 100 def %LABJND, CIELAB

/Yi   101 array def %101(W)+3*101(R,G,B)
/dYi  101 array def
/L*i  101 array def

/X00i 101 array def %log(Xi)

/Y00i 101 array def %L*i, log(L*i)
/Y0ui 101 array def %L*i/Lu, log(L*i/L*u)
/Y10i 101 array def %dYi, log(dYi)
/Y1ui 101 array def %dYi/dYu, log(dYi/dYu)
/Y20i 101 array def %dYi/Yi, log(dYi/Yi) sensitivity
/Y2ui 101 array def %(dYi/dYu)/(Yi/Yu), log[(dYi/dYu)/(Yi/Yu)]
/Y30i 101 array def %Yi/dYi, log(Yi/dYi) contrast
/Y3ui 101 array def %(Yi/Yu)/(dYi/dYu), log[(Yi/Yu)/(dYi/dYu)]

/Yx0i 101 array def %one of four Y00i, Y10i, Y20i, Y20i
/Yxui 101 array def %one of four Y0ui, Y1ui, Y2ui, Y2ui

/MULX 1000 def
/MULY 1000 def
} if %iout=1

%***************************************************
/proc_toptext {%proc_toptext
%jlog 0:without log, 1:with log in main program
tfn %tfw
/xtopt 1900 def
/ytr0t0 3750 def
/ytr0t1 ytr0t0 250 sub def
/ytr0t2 ytr0t0 500 sub def
 
050 3725 moveto
xchartl 00 eq {%xchartl=01
%               jlog 1 eq {(log \050) bKs} if
               (L*) jKs  ifunc 0 eq {(85,2) ibKs} if
               ( and) showen ( und) showde
               050 3725 250 sub moveto 
               (L*) jKs  ifunc 0 eq {(85,2) ibKs} if
               (/L*) jKs ifunc 0 eq {(85,2,) ibKs} if (u) ibKs
%               jlog 1 eq {(\051 ) bKs} if

               xtopt ytr0t0 moveto
               TBK ifunc 0 eq {(LABJND) show} if
                   ifunc 1 eq {(CIELAB) show} if
                   ifunc 2 eq {(IECsRGB) show} if
                   ifunc 3 eq {(TUBsRGB) show} if
               TBK ( lightness ) showen
               (\255Helligkeit ) showde
               (L*) jKs ifunc 0 eq {(85,2) ibKs} if
               TBK ( normalized) showen
               ( normiert) showde

               xtopt ytr0t1 moveto
               (to the background lightness ) showen
               (f\374r die UmgebungsHelligkeit ) showde
               (L*) jKs ifunc 0 eq {(85,2,) ibKs} if 
               (u) ibKs TBK
              } if %xchartl=00

xchartl 01 eq {%xchartl=01
%               jlog 1 eq {(log \050) bKs} if
               (D) sMs 20rm (Y) jKs 
               ( and) showen ( und) showde
               050 3725 250 sub moveto
               (D) sMs 20rm (Y) jKs (/) bKs
               (D) sMs 20rm (Y) jKs (u) ibKs
%               jlog 1 eq {(\051 ) bKs} if

               xtopt ytr0t0 moveto
               TBK ifunc 0 eq {(LABJND) show} if
                   ifunc 1 eq {(CIELAB) show} if
                   ifunc 2 eq {(IECsRGB) show} if
                   ifunc 3 eq {(TUBsRGB) show} if
               TBK ( tristimulus value difference) showen
               (\255Normfarbwertdifferenz) showde

               xtopt ytr0t1 moveto
               (D) sMs 20rm (Y) jKs TBK
               ( normalized to ) showen
               ( normiert f\374r ) showde
               (D) sMs 20rm (Y) jKs (u) ibKs TBK

              } if %xchartl=01

xchartl 02 eq {%xchartl=02
%               jlog 1 eq {(log [) bKs} if
               (\050) bKs (D) sMs 20rm (Y/Y) jKs (\051) bKs
               ( and) showen ( und) showde
               050 3725 250 sub moveto
               (\050) bKs (D) sMs 20rm (Y/Y) jKs (\051 / \050) bKs
                          (D) sMs 20rm (Y/Y) jKs (\051) bKs (u) ibKs
%               jlog 1 eq {(]) bKs} if               

               xtopt 500 add ytr0t0 moveto
               TBK ifunc 0 eq {(LABJND) show} if
                   ifunc 1 eq {(CIELAB) show} if
                   ifunc 2 eq {(IECsRGB) show} if
                   ifunc 3 eq {(TUBsRGB) show} if
               (\255Y) jKs TBK
               ( sensitivity) showen
               (\255Empfindlichkeit) showde

               xtopt 500 add ytr0t1 moveto
               (normalized to ) showen
               (normiert f\374r ) showde
               (\050) bKs (D) sMs (Y/Y) jKs (\051) bKs (u) ibKs
              } if %xchartl=02


xchartl 03 eq {%xchartl=03
%               jlog 1 eq {(log[) bKs} if
               (\050) bKs (Y/) jKs (D) sMs 20rm (Y) jKs (\051) bKs
               ( and) showen ( und) showde
               050 3725 250 sub moveto
               (\050) bKs
               (Y/) jKs (D) sMs 20rm (Y) jKs (\051 / \050) show
               (Y/) bKs (D) sMs 20rm (Y) jKs (\051) bKs (u) ibKs
%               jlog 1 eq {(]) bKs} if

               xtopt 500 add ytr0t0 moveto
               TBK ifunc 0 eq {(LABJND) show} if
                   ifunc 1 eq {(CIELAB) show} if
                   ifunc 2 eq {(IECsRGB) show} if
                   ifunc 3 eq {(TUBsRGB) show} if
               (\255Y) jKs TBK
               ( contrast) showen
               (\255Kontrast) showde

               xtopt 500 add ytr0t1 moveto
               (normalized to ) showen
               (normiert f\374r ) showde
               (\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs (u) ibKs

              } if %xchartl=02
tfn %tfw
} bind def %proc_toptext

%***************************************************
/proc_equtext {%BEG proc_equtext xchartl=0,1,2,3
%lines of equations and text in main program
%/j00 00.0 def %text lightness
%/j03 03.3 def %text relative lightness
%/j04 04.3 def %L*r equation
%/j07 07.9 def %text ln(L*/Lu)
%/j09 10.2 def %text L*/L*u=e**x

/x0 050 def

TBL

xchartl 0 eq {%xchartl=0 BEG text-equations 
tfn 
x0 y00t ydel j00 mul sub moveto
(text lightness) show
x0 y00t ydel j03 mul sub moveto
(text relative lightness) show
x0 y00t ydel j05 mul sub moveto
(text log(L*/L*u)) show
x0 y00t ydel j07 mul sub moveto
(text ln(L*/Lu)) show
x0 y00t ydel j09 mul sub moveto
(text L*/L*u=e**x) show
} if %xchartl=0 END text-equations

xchartl 1 eq {%xchartl=1 BEG text-equations
tfn
x0 y00t ydel j00 mul sub moveto
(text lightness) show
x0 y00t ydel j03 mul sub moveto
(text relative lightness) show
x0 y00t ydel j05 mul sub moveto
(text log(L*/L*u)) show
x0 y00t ydel j07 mul sub moveto
(text ln(L*/Lu)) show
x0 y00t ydel j09 mul sub moveto
(text L*/L*u=e**x) show
} if %xchartl=1 END text-equations

xchartl 2 eq {%xchartl=2 BEG text-equations
tfn
x0 y00t ydel j00 mul sub moveto
(text lightness) show
x0 y00t ydel j03 mul sub moveto
(text relative lightness) show
x0 y00t ydel j05 mul sub moveto
(text log(L*/L*u)) show
x0 y00t ydel j07 mul sub moveto
(text ln(L*/Lu)) show
x0 y00t ydel j09 mul sub moveto
(text L*/L*u=e**x) show
} if %xchartl=2 END text-equations

xchartl 3 eq {%xchartl=3 BEG text-equations
tfn
x0 y00t ydel j00 mul sub moveto
(text lightness) show
x0 y00t ydel j03 mul sub moveto
(text relative lightness) show
x0 y00t ydel j05 mul sub moveto
(text log(L*/L*u)) show
x0 y00t ydel j07 mul sub moveto
(text ln(L*/Lu)) show
x0 y00t ydel j09 mul sub moveto
(text L*/L*u=e**x) show
} if %xchartl=3 END text-equations

} bind def %END proc_equtext xchartl=0,1,2,3

%***************************************************
/proc_L*top {%BEG proc_L*top ifunc=0,1,2,3
%/20rm {20 0 rmoveto} def
%lines of equations and text in main program
%/j00 00.0 def %text lightness
%/j01 01.0 def %L*1 equation
%/j02 02.0 def %L*2 equation

ifunc 0 eq {%ifunc=0 L*-top-equations BEG LABJND_C02_C08
/s0 116 def /n0 1 3 div def /d0 16 def
/r0 s0 0.18 n0 exp mul def
/g0 r0 r0 d0 sub div def
/h0 d0 r0 d0 sub div def

tfn %C0x
x00t y00t ydel j01 mul sub moveto
(L*/L*) jLs (u) iKs
(= \050) bLs
(t/a) bLs
(\051) bLs
TBL ( { ln \050 1 + ) show
TBL (a) show ipK 
(Y) jLs
(\051) bLs
TBL ( - ln \050 1 + ) show
TBL (a) show ipK 
(Y) jLs (u) iKs
TBL (\051 }) show
x00e y00t ydel j01 mul sub moveto
TBL ([1a]) show

x00t y00t ydel j02 mul sub moveto
(L*/L*) jLs (u) iKs
(= \050) bLs
(t/a) bLs
(\051) bLs
TBL ( { ln [ 1 + ) show
TBL (b) show ipK
(\050) bLs
(Y/Y) jLs (u) iKs
(\051]) bLs
TBL ( - ln \050 1 + ) show
TBL (b) show
TBL (\051 }) show
x00e y00t ydel j02 mul sub moveto
TBL ([1b]) show
} if %ifunc=0 L*-top-equations END LABJND_C02_C08

ifunc 1 ge {%ifunc>=1 top-eq. BEG CIELAB, IECsRGB, TUBsRGB_C02_C08
ifunc 1 eq {/s1 116 def /n1 1 3     div def /d1 16 def} if
ifunc 2 eq {/s1 100 def /n1 1 2.4   div def /d1  0 def} if
ifunc 3 eq {/s1 100 def /n1 1 10 ln div def /d1  0 def} if
/r1 s1 0.18 n1 exp mul def
/g1 r1 r1 d1 sub div def
/h1 d1 r1 d1 sub div def

x00t y00t ydel j01 mul sub moveto
(L*) jLs 20rm
TBL (=) show 20rm (s ) show
(\050Y/Y) jLs (n) ibLs (\051) bLs
(n) ebLs
TBL (-) show 20rm (d) show

x01t y00t ydel j01 mul sub moveto
(\050Y) jLs (n) ibLs TBL (=100, ) show TBL
    (Y) jLs (u) ibLs TBL (=18, ) show TBL
(s=) show s1 cvishow
ifunc 1 eq {(, n=1/3)      show} if
ifunc 2 eq {(, n=1/2,4)    show} if
ifunc 3 eq {(, n=1/ln(10)) show} if
(, d=) show d1 cvishow (\051) show
x00e y00t ydel j01 mul sub moveto
TBL ([1a]) show

x00t y00t ydel j02 mul sub  moveto
(L*) jLs 20rm
TBL (=) show 20rm (r ) show
(\050Y/Y) jLs (u) ibLs (\051) bLs
(n) ebLs
TBL (-) show 20rm (d) show

x01t y00t ydel j02 mul sub moveto
TBL (\050r = s ) show (\050Y) jLs (u) ibLs
(/Y) jLs (n) ibLs (\051) bLs (n) ebLs
TBL (=) show r1 cvsshow2x TBL (, ) show
(L*) jLs (u) ibLs TBL (= r - d\051) show
x00e y00t ydel j02 mul sub moveto
TBL ([1b]) show
} if %ifunc>=1 %ifunc>=1 top-eq. BEG CIELAB, IECsRGB, TUBsRGB_C02_C08

} bind def %END proc_L*top ifunc=1,2,3

%***************************************************
%lines of equations and text in main program
%/j00 00.0 def %text lightness
%/j01 01.0 def %L*1 equation
%/j02 02.0 def %L*2 equation
%/j03 03.3 def %text relative lightness
%/j04 04.3 def %L*r equation
%/j05 05.6 def %text log(L*/L*u)
%/j06 06.6 def %log(L*/*Lu)
%/j07 07.9 def %text ln(L*/Lu)
%/j08 08.9 def %ln(L*/Lu)
%/j09 10.2 def %text L*/L*u=e**x
%/j10 11.2 def %L*/L*u=e**x 

/proc_L*DL*u_C02 {%BEG proc_L*DL*u_C02
%for ifunc=1,2,3 CIELAB, IECsRGB, TUBsRGB
%ioutC02 0/1:no or with output of equations in main program

tfn %C02

proc_L*top %ifunc=1,2,3 ALL

ifunc 0 eq {%ifunc=0 special BEG LABJND_C02
%2
x00t 0000 add y00t ydel j04 mul sub moveto
TBL (a=) show JNDA cvsshow4x
x00t 1000 add y00t ydel j04 mul sub moveto
TBL (t=) show JNDT cvsshow2x
x00t 2000 add y00t ydel j04 mul sub moveto
TBL (t/a=) show JNDT JNDA div cvsshow1x
x00t 3000 add y00t ydel j04 mul sub moveto
TBL (b=) show JNDB cvsshow3x
x00e y00t ydel j04 mul sub moveto
TBL ([1c]) show
           } if %ifunc=0 special END LABJND_C02

ifunc 1 eq {%ifunc=1 special BEG CIELAB_C02
x00t y00t ydel j04 mul sub moveto
(L*/L*) jLs (u) ibLs 
TBL (=) show 20rm (g) show 20rm
(\050Y/Y) jLs (u) ibLs (\051) bLs
(n) ebLs
TBL (-h) show
x01t 400 add y00t ydel j04 mul sub moveto
TBL (\050g=r/(r-d)=) show r1 r1 d1 sub div cvsshow2x
TBL (, h=d/(r-d)=) show d1 r1 d1 sub div cvsshow2x
TBL (\051) show
x00e y00t ydel j04 mul sub moveto
TBL ([1c]) show

jlog 1 eq {%jlog=1
x00t y00t ydel j06 mul sub moveto
TBL (log [\050) show
(L*/L*) jLs (u) ibLs
TBL 20rm (+) show 20rm (h) show 20rm
TBL (\051 / g ] = n log \050) show
(Y/Y) jLs (u) ibLs (\051) bLs
x00e y00t ydel j06 mul sub moveto
TBL ([1d]) show

x00t y00t ydel j08 mul sub moveto
TBL (ln [\050) show
(L*/L*) jLs (u) ibLs
TBL ( + h) show
TBL (\051 / g ] = ln(10) n log \050) show
(Y/Y) jLs (u) ibLs (\051) bLs
x00e y00t ydel j08 mul sub moveto
TBL ([1e]) show

x00t y00t ydel j10 mul sub moveto
TBL (\050) show (L*/L*) jLs (u) ibLs
TBL ( + h) show
TBL (\051 / g ]) show
TBL ( = e) show (ln(10) n log \050) ebLs (Y/Y) jbLs (u) ebSs
(\051) ebLs
x00e y00t ydel j10 mul sub moveto
TBL ([1f]) show
} if %jlog=1
} if %ifunc=1 special END CIELAB_C02

ifunc 2 eq {%ifunc=2 special BEG IECsRGB_C02
x00t y00t ydel j04 mul sub moveto
(L*/L*) jLs (u) ibLs 
TBL (=) show
(\050Y/Y) jLs (u) ibLs (\051) bLs
(n) ebLs
x00e y00t ydel j04 mul sub moveto
TBL ([1c]) show

jlog 1 eq {%jlog=1
x00t y00t ydel j06 mul sub moveto
TBL (log \050) show
(L*/L*) jLs (u) ibLs
TBL (\051 = n log \050) show
(Y/Y) jLs (u) ibLs (\051) bLs
x00e y00t ydel j06 mul sub moveto
TBL ([1d]) show

x00t y00t ydel j08 mul sub moveto
TBL (ln \050) show
(L*/L*) jLs (u) ibLs
TBL (\051 = ln(10) n log \050) show
(Y/Y) jLs (u) ibLs (\051) bLs
x00e y00t ydel j08 mul sub moveto
TBL ([1e]) show

x00t y00t ydel j10 mul sub moveto
(L*/L*) jLs (u) ibLs
TBL ( = e) show (ln(10) n log \050) ebLs (Y/Y) jbLs (u) ebSs
(\051) ebLs
x00e y00t ydel j10 mul sub moveto
TBL ([1f]) show
} if %jlog=1
} if %ifunc=2 special END IECsRGB_C02

ifunc 3 eq {%ifunc=3 special BEG TUBsRGB_C02
x00t y00t ydel j04 mul sub moveto
(L*/L*) jLs (u) ibLs 
TBL (=) show
(\050Y/Y) jLs (u) ibLs (\051) bLs
(1/ln(10)) ebLs
TBL ( \050ln(x)=ln(10) log(x)\051) show
x00e y00t ydel j04 mul sub moveto
TBL ([1c]) show

jlog 1 eq {%jlog=1
x00t y00t ydel j06 mul sub moveto
TBL (log\050) show
(L*/L*) jLs (u) ibLs
TBL (\051=(1/ln(10)) log\050) show
(Y/Y) jLs (u) ibLs (\051) bLs
x00e y00t ydel j06 mul sub moveto
TBL ([1d]) show

x00t y00t ydel j08 mul sub moveto
TBL (ln\050) show
(L*/L*) jLs (u) ibLs
TBL (\051=log\050) show 
(Y/Y) jLs (u) ibLs (\051) bLs
x00e y00t ydel j08 mul sub moveto
TBL ([1e]) show

x00t y00t ydel j10 mul sub moveto
(L*/L*) jLs (u) ibLs
TBL (= e) show (log\050) ebLs (Y/Y) jbLs (u) ebSs
(\051) ebLs
x00e y00t ydel j10 mul sub moveto
TBL ([1f]) show
} if %jlog=1
} if %ifunc=3 special END TUBsRGB_C02

} bind def %END proc_L*DL*u_C02

%***************************************************
/proc_YDYu_C04 {%BEG proc_YDYu_C04
%for ifunc=1,2,3 CIELAB, IECsRGB, TUBsRGB
%ioutC04 0/1:no or with output of equations in main program

tfn %C04

proc_L*top %for ifunc=1,2,3

ifunc 0 eq {%ifunc=0 BEG special LABJND_C04
%2
x00t y00t ydel j04 mul sub moveto
TBL
(normalized tristimulus value ) showen
(normierte Normfarbwert\255) showde
(Y) jLs
TBL
( difference) showen
(\255Differenz) showde
x00e y00t ydel j04 mul sub moveto
TBL ([3e]) show

%3
x00t y00t ydel j06 mul sub moveto
(dY/dY) jLs (u) ibLs TBL ( = ) show
(\050) bLs
TBL (1 + a) show ipK (Y) jLs
TBL ( \051 / \050 ) show
TBL (1 + a) show ipK
(Y) jLs (u) ibLs
(\051) bLs
x00e y00t ydel j06 mul sub moveto
TBL ([3d]) show
} if %ifunc=0 END special LABJND_C04

ifunc 1 eq {%ifunc=1 special CIELAB_C04
%2
x00t y00t ydel j04 mul sub moveto
(dY) jLs TBL ( = [) show
(Y) jLs (n) ibLs (/ \050 n s \051] ) bLs
(\050Y / Y) jLs (n) ibLs
(\051) bLs (1-n) ebLs
x00e y00t ydel j04 mul sub moveto
TBL ([2c]) show

%3
x00t y00t ydel j06 mul sub moveto
(dY) jLs (u) ibLs
TBL ( = [) show
(Y) jLs (n) ibLs TBL (/ \050 n s \051] ) show
(\050Y) jLs (u) ibLs ( / Y) jLs (n) ibLs
(\051) bLs (1-n) ebLs
TBL ( = ) show
100 n1 s1 mul div 18 100 div n1 exp mul cvsshow4x
x00e y00t ydel j06 mul sub moveto
TBL ([2d]) show

%4
x00t y00t ydel j08 mul sub moveto
(dY / dY) jLs (u) ibLs 
TBL ( = ) show
(\050Y / Y) jLs (u) ibLs
(\051) bLs (1-n) ebLs
x00e y00t ydel j08 mul sub moveto
TBL ([2e]) show

%5
jlog 1 eq {%jlog=1
x00t y00t ydel j10 mul sub moveto
TBL (log\050) show (dY / dY) jLs (u) ibLs
TBL (\051 = (1-n) log) show
(\050Y / Y) jLs (u) ibLs
(\051) bLs
x00e y00t ydel j10 mul sub moveto
TBL ([2f]) show
} if %jlog=1
} if %ifunc=1 special END CIELAB_C04

ifunc 2 eq 
ifunc 3 eq or {%ifunc=2,3 special IECsRGB/TUBsRGB_C04
%2
x00t y00t ydel j04 mul sub moveto
(dY) jLs TBL ( = [) show
(Y) jLs (n) ibLs (/ \050 n s \051] ) bLs
(\050Y / Y) jLs (n) ibLs
(\051) bLs (1-n) ebLs
x00e y00t ydel j04 mul sub moveto
TBL ([2c]) show

%3
x00t y00t ydel j06 mul sub moveto
(dY) jLs (u) ibLs
TBL ( = [) show
(Y) jLs (n) ibLs TBL (/ \050 n s \051] ) show
(\050Y) jLs (u) ibLs ( / Y) jLs (n) ibLs
(\051) bLs (1-n) ebLs
TBL ( = ) show
100 n1 s1 mul div 18 100 div n1 exp mul cvsshow4x
x00e y00t ydel j06 mul sub moveto
TBL ([2d]) show

%4
x00t y00t ydel j08 mul sub moveto
(dY / dY) jLs (u) ibLs 
TBL ( = ) show
(\050Y / Y) jLs (u) ibLs
(\051) bLs (1-n) ebLs
x00e y00t ydel j08 mul sub moveto
TBL ([2e]) show

%5
jlog 1 eq {%jlog=1
x00t y00t ydel j10 mul sub moveto
TBL (log\050) show (dY / dY) jLs (u) ibLs
TBL (\051 = (1-n) log) show
(\050Y / Y) jLs (u) ibLs
(\051) bLs
x00e y00t ydel j10 mul sub moveto
TBL ([2f]) show
} if %jlog=1
} if %ifunc=2,3 END IECsRGB/TUBsRGB_C04

} bind def %END proc_YDYu_C04

%***************************************************
/proc_dYDY_C06 {%BEG proc_dYDY_C06
%for ifunc=1,2,3 CIELAB, IECsRGB, TUBsRGB
%ioutC06 0/1:no or with output of equations in main program

tfn %C06

proc_L*top %for ifunc=0,1,2,3

ifunc 0 eq {%ifunc=0 special BEG LABJND_C06
%2
x00t y00t ydel j04 mul sub moveto
TBL (tristimulus value ) showen
(Hellbezugswert\255) showde
(Y) jLs
TBL ( sensitivity) showen
(\255Empfindlichkeit) showde
x00e y00t ydel j04 mul sub moveto
TBL ([3c]) show

%3
%Cr= log[(Y/dY)/(Yu/dYu)]
x00t y00t ydel j06 mul sub moveto
(\050) bLs
(dY/Y) jLs
TBL (\051 / \050) show
(dY) jLs (u) ibLs
(/) bLs
(Y) jLs (u) ibLs
TBL (\051 ) show
x00e y00t ydel j06 mul sub moveto
TBL ([3e]) show

%4
x00t 300 add y00t ydel j06 mul sub moveto
TBL ( = [\050) show
TBL ( 1 + a) show ipK (Y) jLs
TBL (\051 / ) show (Y) jLs
TBL ( ] / [ \050) show
TBL ( 1 + a) show ipK (Y) jLs (u) ibLs
TBL (\051 / ) show
(Y) jLs (u) ibLs
TBL ( ]) show
x00e y00t ydel j06 mul sub moveto
TBL ([3f]) show
} if %ifunc=0 special END LABJND_C06

ifunc 1 eq {%ifunc=1 special BEG CIELAB_C06
%2
x00t y00t ydel j04 mul sub moveto
(dY / Y) jLs TBL ( = [ ) bLs
(\050) bLs (Y) jLs (n) ibLs (/ \050 n s \051 ] ) bLs
(\050Y / Y) jLs (n) ibLs
(\051) bLs (1-n) ebLs
( / ) bLs (Y) jLs
x00e y00t ydel j04 mul sub moveto
TBL ([3c]) show

%3
x00t y00t ydel j06 mul sub moveto
((dY / Y)) jLs (u) ibLs
( = [ ) bLs
(\050) bLs (Y) jLs (n) ibLs (/ \050 n s \051 ] ) bLs
(\050Y) jLs (u) ibLs ( / Y) jLs (n) ibLs
(\051) bLs (1-n) ebLs
( / ) bLs (Y) jLs (u) ibLs
x00e y00t ydel j06 mul sub moveto
TBL ([3d]) show

%4
x00t y00t ydel j08 mul sub moveto
((dY / Y)) jLs ( / ) bLs ((dY / Y)) jLs (u) ibLs
( = ) bLs
(\050Y / Y) jLs (u) ibLs
(\051) bLs (-n) ebLs
x00e y00t ydel j08 mul sub moveto
TBL ([3e]) show

%5
jlog 1 eq {%jlog=1
x00t y00t ydel j10 mul sub moveto
(log [) bLs
((dY / Y)) jLs ( / ) bLs ((dY / Y)) jLs (u) ibLs
(] = (-n) log) bLs
(\050Y / Y) jLs (u) ibLs
(\051) bLs
x00e y00t ydel j10 mul sub moveto
TBL ([3f]) show
} if %jlog=1
} if %ifunc=1 special END CIELAB_C06

ifunc 2 eq 
ifunc 3 eq or {%ifunc=2,3 special BEG IECsRGB/TUBsRGB_C06
%2
x00t y00t ydel j04 mul sub moveto
(dY / Y) jLs TBL ( = [ ) bLs
(\050) bLs (Y) jLs (n) ibLs (/ \050 n s \051 ] ) bLs
(\050Y / Y) jLs (n) ibLs
(\051) bLs (1-n) ebLs
( / ) bLs (Y) jLs
x00e y00t ydel j04 mul sub moveto
TBL ([3c]) show

%3
x00t y00t ydel j06 mul sub moveto
((dY / Y)) jLs (u) ibLs
( = [ ) bLs
(\050) bLs (Y) jLs (n) ibLs (/ \050 n s \051 ] ) bLs
(\050Y) jLs (u) ibLs ( / Y) jLs (n) ibLs
(\051) bLs (1-n) ebLs
( / ) bLs (Y) jLs (u) ibLs
x00e y00t ydel j06 mul sub moveto
TBL ([3d]) show

%4
x00t y00t ydel j08 mul sub moveto
((dY / Y)) jLs ( / ) bLs ((dY / Y)) jLs (u) ibLs
( = ) bLs
(\050Y / Y) jLs (u) ibLs
(\051) bLs (-n) ebLs
x00e y00t ydel j08 mul sub moveto
TBL ([3e]) show

%5
jlog 1 eq {%jlog=1
x00t y00t ydel j10 mul sub moveto
(log [) bLs
((dY / Y)) jLs ( / ) bLs ((dY / Y)) jLs (u) ibLs
(] = (-n) log) bLs
(\050Y / Y) jLs (u) ibLs
(\051) bLs
x00e y00t ydel j10 mul sub moveto
TBL ([3f]) show
} if %jlog=1
} if %ifunc=2,3 special END IECsRGB/TUBsRGB_C06

} bind def %END proc_dYDY_C06

%***************************************************
/proc_YDdY_C08 {%BEG proc_YDdY_C08
%for ifunc=1,2,3 CIELAB, IECsRGB, TUBsRGB
%ioutC08 0/1:no or with output of equations in main program

tfn %C08

proc_L*top %for ifunc=1,2,3

ifunc 0 eq {%ifunc=0 special BEG LABJND_C08
%2
x00t y00t ydel j04 mul sub moveto
TBL
(tristimulus value ) showen
(Hellbezugswert\255) showde
(Y) jLs
TBL
( contrast) showen
(\25Kontrast) showde
x00e y00t ydel j04 mul sub moveto
TBL ([4c]) show

%3
%Cr= (Y/dY)/(Yu/dYu)
x00t y00t ydel j06 mul sub moveto
(\050) bLs (Y/dY) jLs
TBL (\051 / \050) show
(Y) jLs (u) ibLs
(dY) jLs (u) ibLs (\051) bLs
x00e y00t ydel j06 mul sub moveto
TBL ([4d]) show

%4
x00t 300 add y00t ydel j08 mul sub moveto
TBL ( = [ ) show (Y) jLs
TBL ( / \050) show
TBL ( 1 + a) show ipK (Y) jLs TBL (\051 ]) show
TBL ( / [ ) show (Y) jLs (u) ibLs
TBL ( / \050) show
TBL ( 1 + a) show ipK (Y) jLs (u) ibLs
TBL (\051 ]) show
x00e y00t ydel j08 mul sub moveto
TBL ([4e]) show
} if %ifunc=0 special END LABJND_C08

ifunc 1 eq {%ifunc=1 special BEG CIELAB_C08
%2
x00t y00t ydel j04 mul sub moveto
(Y / dY) jLs ( = ) bLs (Y) jLs ( / { [ ) bLs
(\050) bLs (Y) jLs (n) ibLs (/ \050 n s \051 ] ) bLs
(\050Y / Y) jLs (n) ibLs
(\051) bLs (1-n) ebLs ( }) bLs
x00e y00t ydel j04 mul sub moveto
TBL ([4c]) show

%3
x00t y00t ydel j06 mul sub moveto
((Y / Y)) jLs (u) ibLs
( = ) bLs (Y) jLs (u) ibLs ( / { [ ) bLs
(\050) bLs (Y) jLs (n) ibLs (/ \050 n s \051 ] ) bLs
(\050Y) jLs (u) ibLs ( / Y) jLs (n) ibLs
(\051) bLs (1-n) ebLs ( }) bLs
x00e y00t ydel j06 mul sub moveto
TBL ([4d]) show

%4
x00t y00t ydel j08 mul sub moveto
((Y / dY)) jLs ( / ) bLs ((Y / dY)) jLs (u) ibLs
( = ) bLs
(\050Y / Y) jLs (u) ibLs
(\051) bLs (n) ebLs
x00e y00t ydel j08 mul sub moveto
TBL ([4e]) show

%5
jlog 1 eq {%jlog=1
x00t y00t ydel j10 mul sub moveto
(log [) bLs
((Y / dY)) jLs ( / ) bLs ((Y / dY)) jLs (u) ibLs
(] = (n) log) bLs
(\050Y / Y) jLs (u) ibLs
(\051) bLs
x00e y00t ydel j10 mul sub moveto
TBL ([4f]) show
} if %jlog=1

} if %ifunc=1 special END CIELAB_C08

ifunc 2 eq 
ifunc 3 eq or {%ifunc=2,3 special BEG IECsRGB/TUBsRGB_C08
%2
x00t y00t ydel j04 mul sub moveto
(Y / dY) jLs ( = ) bLs (Y) jLs ( / { [ ) bLs
(\050) bLs (Y) jLs (n) ibLs (/ \050 n s \051 ] ) bLs
(\050Y / Y) jLs (n) ibLs
(\051) bLs (1-n) ebLs ( }) bLs
x00e y00t ydel j04 mul sub moveto
TBL ([4c]) show

%3
x00t y00t ydel j06 mul sub moveto
((Y / Y)) jLs (u) ibLs
( = ) bLs (Y) jLs (u) ibLs ( / { [ ) bLs
(\050) bLs (Y) jLs (n) ibLs (/ \050 n s \051 ] ) bLs
(\050Y) jLs (u) ibLs ( / Y) jLs (n) ibLs
(\051) bLs (1-n) ebLs ( }) bLs
x00e y00t ydel j06 mul sub moveto
TBL ([4d]) show

%4
x00t y00t ydel j08 mul sub moveto
((Y / dY)) jLs ( / ) bLs ((Y / dY)) jLs (u) ibLs
( = ) bLs
(\050Y / Y) jLs (u) ibLs
(\051) bLs (n) ebLs
x00e y00t ydel j08 mul sub moveto
TBL ([4e]) show

%5
jlog 1 eq {%jlog=1
x00t y00t ydel j10 mul sub moveto
(log [) bLs
((Y / dY)) jLs ( / ) bLs ((Y / dY)) jLs (u) ibLs
(] = (n) log) bLs
(\050Y / Y) jLs (u) ibLs
(\051) bLs
x00e y00t ydel j10 mul sub moveto
TBL ([4f]) show
} if %jlog=1

} if %ifunc=2,3 special END IECsRGB/TUBsRGB_C08

} bind def %END proc_YDdY_C08

%***************************************************
%%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

/kchartl 1 def %0:left page, 1:right page
/pchartl 4 def %0:top  page, 4:down  page %not used
/jlog 1 def %0,1 without/with log

72 90 translate

0.010 MM dup scale

/xbtex0 0 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
(hep21-7n) show
} if %xbtex0=1

%for LABJND for general
/YYL 0.001 def
/YFL 0.000001 def
/Yu 18.00 def
%dY = (s + q * Y)/c = (A1 + A2 * Y) / A0
/JNDC 1.5 def %c=A0
/JNDS 0.0170 def %s=A1
/JNDQ 0.0058 def %q=A2
/JNDA0 JNDC def
/JNDA1 JNDS def
/JNDA2 JNDQ def

/JNDA JNDQ JNDS div def %a=q/s=A2/A1=0,3411
/JNDT JNDC JNDS div def %t=c/s=A0/A1=88,23
/JNDB JNDA Yu mul def %b=q/s*Yu=a*Yu=A2/A1*Yu=
/JNDD JNDT JNDA div def %d=t/a=A0/A2=258,6

/xpos [00000 00000 00000 00000] def
/ypos [00000 00000 00000 00000] def

/x00t 0200 def %xpos for BEG equations
/x01t 1900 def %xpos for shift equations
/x00e 5600 def %xpos for Num equations

/20rm {20 0 rmoveto} def
%lines of equations and text
/j00 00.0 def %text lightness
/j01 01.0 def %L*1 equation
/j02 02.0 def %L*2 equation
/j03 03.3 def %text relative lightness
/j04 04.3 def %L*r equation
/j05 05.6 def %text log(L*/L*u)
/j06 06.6 def %log(L*/*Lu)
/j07 07.9 def %text ln(L*/Lu)
/j08 08.9 def %ln(L*/Lu)
/j09 10.2 def %text L*/L*u=e**x
/j10 11.2 def %L*/L*u=e**x

/y00t 3150 def
/ydel 0270 def

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

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

/ifunc ifuncl def

gsave

20 setlinewidth

xpos ifuncl  get ypos ifuncl  get translate

0 setgray
150  /Times-ISOL1 FS
150 -140 moveto
(hep2) show kchartl cvishow0 (-) show
%xchartl 1 add pchartl add cvishow0
ifuncl  1 add pchartl add 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

tfn %tfw
%BEG C02, C04, C06, C08 ********************************************
%jlog 0:without log, 1:with log in main program

ifunc 0 eq {/n 1 def} if %dummy
ifunc 1 eq {/n 1 3.0 div def} if
ifunc 2 eq {/n 1 2.4 div def} if
ifunc 3 eq {/n 1 10 ln div def} if

proc_toptext

proc_equtext

/y0del 100 def
50 setlinewidth
%*********************************************************************
/C02_ALOG_L*DL*u {%BEG C02_ALOG_L*DTu*

%for ifunc=0,1,2,3 LABJND, CIELAB, IECsRGB, TUBsRGB
/ioutC02 1 def %0/1:no or with output of equations in main program
ioutC02 1 eq {proc_L*DL*u_C02} if

} def %END C02_ALOG_L*DL*u

%*********************************************************************
/C04_ALOG_DLn {%BEG C04_ALOG_DLn

tfn %tfw
%/y0 2400 y0del sub def
%/ydel 300 def

%C04
/x02t 0900 def
/x03t 2300 def
/x04t 3300 def

%for ifunc=0,1,2,3 LABJND, CIELAB, IECsRGB, TUBsRGB
/ioutC04 1 def %0/1:no or with output of equations in main program
ioutC04 1 eq {proc_YDYu_C04} if

} def %END C04_ALOG_DLn

%*********************************************************************
/C06_ALOG_DL_Ln {%BEG C06_ALOG_DL_Ln

%/y0 2400 y0del sub def
%/ydel 300 def

%C06
/x02t 0900 def
/x03t 2300 def
/x04t 3300 def

%for ifunc=0,1,2,3 LABJND, CIELAB, IECsRGB, TUBsRGB
/ioutC06 1 def %0/1:no or with output of equations in main program

ioutC06 1 eq {proc_dYDY_C06} if

} def %END C06_ALOG_DL_Ln

%*********************************************************************
/C08_ALOG_L_DLn {%BEG C08_ALOG_L_DLn

%C08
%/y0 2400 y0del sub def
%/ydel 300 def

%for ifunc=0,1,2,3 LABJND, CIELAB, IECsRGB, TUBsRGB
/ioutC08 1 def %0/1:no or with output of equations in main program
ioutC08 1 eq {proc_YDdY_C08} if

} def %END C08_ALOG_L_DL

%**************************************************************
xchartl 00 eq {C02_ALOG_L*DL*u} if
xchartl 01 eq {C04_ALOG_DLn} if
xchartl 02 eq {C06_ALOG_DL_Ln} if
xchartl 03 eq {C08_ALOG_L_DLn} if

%END C01_C08**********************************************

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

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

xpos ifuncl  get neg ypos ifuncl  get neg translate

grestore

} for %ifuncl=0,3

%} for %xchartl=0,3

showpage
grestore

%%Trailer