%!PS-Adobe-3.0 EPSF-3.0 XG070-8N
%%BoundingBox: 70 85 226 206

%START PDFDE011.EPS
/pdfmark08 where {pop} {userdict /pdfmark08 /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://130.149.60.45/~farbmetrik/SE25/)
  /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1)
  /Subject (goto: http://www.ps.bam.de or http://130.149.60.45/~farbmetrik)
  /Keywords (image reproduction, colour devices, colour vision)
  /Creator (klaus.richter@mac.com)
  /CreationDate (D:2015120112000)
  /ModDate (D:2015120112000)
/DOCINFO pdfmark08
[ /View [ /FitB ]
/DOCVIEW pdfmark08
%END  PDFDE011

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

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

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

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

/Times-ISOL1 exch definefont pop

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

/TimesI-ISOL1 exch definefont pop

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

/TimesB-ISOL1 exch definefont pop

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

/TimesBI-ISOL1 exch definefont pop

/TV {160 /Times-ISOL1 FS} bind def
/TS {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

/TIV {160 /TimesI-ISOL1 FS} bind def
/TIS {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

/TBV {160 /TimesB-ISOL1 FS} bind def 
/TBS {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

/TBIV {160 /TimesBI-ISOL1 FS} bind def
/TBIS {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
%%EndProlog
gsave

/nshow {TS  show} bind def
/kshow {TIS show} bind def
/bshow {TBS show} bind def
/jshow {TBIS show} bind def
/ibshown {TBS -50 -50 rmoveto show 0 50 rmoveto TBS} bind def
/ibshow0 {TBS -00 -50 rmoveto show 0 50 rmoveto TBS} bind def
/ishown  {TS  -50 -50 rmoveto show 0 50 rmoveto TS } bind def
/ishow0  {TS  -00 -50 rmoveto show 0 50 rmoveto TS } bind def

%40% kleiner
/ns4 {250 /Times-ISOL1 FS  show TK} bind def
/ks4 {250 /TimesI-ISOL1 FS  show TK} bind def
/bs4 {250 /TimesB-ISOL1 FS  show TK} bind def
/js4 {250 /TimesBI-ISOL1 FS  show TK} bind def
/ss4 {250 /Symbol FS  show TK} bind def
/is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def
/es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def
/eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def
/ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def

%60% kleiner
/ns6 {200 /Times-ISOL1 FS  show TS} bind def
/ks6 {200 /TimesI-ISOL1 FS  show TS} bind def
/bs6 {200 /TimesB-ISOL1 FS  show TS} bind def
/js6 {200 /TimesBI-ISOL1 FS  show TS} bind def
/ss6 {200 /Symbol FS  show TS} bind def
/is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def
/es6 {160 /Times-ISOL1 FS 0 100 rmoveto show 0 -100 rmoveto TS} bind def
/ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def
/eb6 {160 /TimesB-ISOL1 FS 0 100 rmoveto show 0 -100 rmoveto TS} bind def
/ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind 

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

%%EndProlog
gsave

/lanind 0 def
/showde {0 lanind eq {show} {pop} ifelse} bind def
/showen {1 lanind le {show} {pop} ifelse} bind def
/showes {2 lanind eq {show} {pop} ifelse} bind def
/showfr {3 lanind le {show} {pop} ifelse} bind def
/showit {4 lanind eq {show} {pop} ifelse} bind def
/showjp {5 lanind le {show} {pop} ifelse} bind def

/lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def}
               {/lanind1 0 def /lanind2 0 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

/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 where {pop %/IMES IMES def
            }
            {/IMES 0 def} ifelse

gsave
72 90 translate

0.01 MM dup scale

150 /Times-ISOL1 FS
0 setgray
300 -150 moveto
(XG070-8N) show

/ytit 400 def 
/yhoe 4000 def
/yhoet yhoe ytit sub def
/xwide 5333 def
/ishow {-50 -100 rmoveto 200 /Times-ISOL1 FS show
          0  100 rmoveto TM} bind def

15 setlinewidth
0.0 0.0 0.0 0.0 setcmykcolor
0 0  moveto xwide 0 rlineto 0 yhoe rlineto xwide neg 0 rlineto
closepath fill
0.0 0.0 0.0 1.0 setcmykcolor
 0 0  moveto xwide 0 rlineto 0 yhoe rlineto xwide neg 0 rlineto
closepath stroke

/yt 300 def %y-Zeilenabstand for text
/yd 400 def %y-Zeilenabstand for formula

%Spalten
%/S1 100 def
%/S2  1500 def
%/S3  2300 def
%/S4  5900 def
%/S5  7700 def
%/S6  8500 def

%/yz 400 def
%/yu5 7600 def
%/yu4 7100 def
%/yu3 5800 def
%/yu2 5800 def
%/yu1 5800 def

%max 2800 sample pairs with 10 data per line = minimum 28000 data
/WData0 28000 array def
/WData0
[
 %LCD_datasets_0080_RL=Richter_L.txt 20151001 from DARI_RICHDG05.FOR/TXT
 %Data series: 1:BDJ, 2:GDV, 3:RDC, 4:TDM, 5:ANY, 6:WDS, 7:QPS, 8:OPN
 %Source: BAM RESEARCH REPORT 115 (1985), Tables 4.40;1 to 12, and 4.50;1
%Reference White, Sample 1,                       Sample 2,             Vis.Dif.
%X0      Y0       Z0      X1      Y1      Z1      X2      Y2      Z2      dV
%BDJ
  90.384 100.000  87.549  14.496  16.680  24.816  14.490  16.550  22.193   4.200
  90.384 100.000  87.549  14.490  16.550  22.193  14.838  16.910  20.719   4.200
  90.384 100.000  87.549  14.838  16.910  20.719  15.256  17.230  19.885   4.200
  90.384 100.000  87.549  15.256  17.230  19.885  15.433  17.340  18.911   4.200
  90.384 100.000  87.549  15.433  17.340  18.911  15.482  17.170  15.851   4.200
  90.384 100.000  87.549  15.482  17.170  15.851  14.820  16.070  10.915  10.800
  90.384 100.000  87.549  14.820  16.070  10.915  15.700  16.680   6.988  10.800
  90.384 100.000  87.549  15.700  16.680   6.988  16.529  17.350   4.840  10.800
  90.384 100.000  87.549  16.529  17.350   4.840  16.742  17.470   3.882  10.800
  90.384 100.000  87.549  16.742  17.470   3.882  16.917  17.840   1.437  10.800
%RDC
  90.384 100.000  87.549  26.926  15.730   3.419  24.318  15.620   5.482  20.000
  90.384 100.000  87.549  24.318  15.620   5.482  23.174  15.650   6.499  20.000
  90.384 100.000  87.549  23.174  15.650   6.499  19.868  16.450  10.629  20.000
  90.384 100.000  87.549  19.868  16.450  10.629  17.420  16.620  13.002  20.000
  90.384 100.000  87.549  17.420  16.620  13.002  15.344  16.630  14.806  20.000
  90.384 100.000  87.549  15.344  16.630  14.806  12.981  15.770  14.897   8.200
  90.384 100.000  87.549  12.981  15.770  14.897  11.973  16.000  15.612   8.200
  90.384 100.000  87.549  11.973  16.000  15.612  10.719  17.940  18.664   8.200
  90.384 100.000  87.549  10.719  17.940  18.664   9.639  17.720  18.871   8.200
  90.384 100.000  87.549   9.639  17.720  18.871   8.291  18.120  19.932   8.200
%GDM
  90.384 100.000  87.549   6.419  17.030   4.019   7.923  16.730   6.067  14.300
  90.384 100.000  87.549   7.923  16.730   6.067   9.556  16.630   8.202  14.300
  90.384 100.000  87.549   9.556  16.630   8.202  11.933  16.790  11.187  14.300
  90.384 100.000  87.549  11.933  16.790  11.187  13.881  16.710  13.673  14.300
  90.384 100.000  87.549  13.881  16.710  13.673  14.531  16.190  14.617  14.300
  90.384 100.000  87.549  14.531  16.190  14.617  14.680  14.850  15.253  11.300
  90.384 100.000  87.549  14.680  14.850  15.253  15.255  14.470  16.182  11.300
  90.384 100.000  87.549  15.255  14.470  16.182  16.569  14.270  18.081  11.300
  90.384 100.000  87.549  16.569  14.270  18.081  17.436  14.170  19.273  11.300
  90.384 100.000  87.549  17.436  14.170  19.273  18.144  13.820  20.385  11.300
%TDP
  90.384 100.000  87.549   5.179  14.220  16.997   7.348  14.600  16.342  10.000
  90.384 100.000  87.549   7.348  14.600  16.342   8.533  14.910  16.117  10.000
  90.384 100.000  87.549   8.533  14.910  16.117  11.397  15.810  15.801  10.000
  90.384 100.000  87.549  11.397  15.810  15.801  13.288  16.480  15.707  10.000
  90.384 100.000  87.549  13.288  16.480  15.707  14.571  16.040  14.458  10.000
  90.384 100.000  87.549  14.571  16.040  14.458  20.726  15.610  15.766  22.200
  90.384 100.000  87.549  20.726  15.610  15.766  24.030  15.670  16.748  22.200
  90.384 100.000  87.549  24.030  15.670  16.748  28.914  15.990  18.448  22.200
  90.384 100.000  87.549  28.914  15.990  18.448  31.544  16.260  19.497  22.200
  90.384 100.000  87.549  31.544  16.260  19.497  36.354  16.650  21.492  22.200
%ANY
  90.384 100.000  87.549   7.881   6.220  25.068   7.320   6.310  19.809  11.500
  90.384 100.000  87.549   7.320   6.310  19.809   7.011   6.560  15.689  11.500
  90.384 100.000  87.549   7.011   6.560  15.689   6.607   6.730  11.171  11.500
  90.384 100.000  87.549   6.607   6.730  11.171   6.345   6.790   8.551  11.500
  90.384 100.000  87.549   6.345   6.790   8.551   6.085   6.740   6.548  11.500
  90.384 100.000  87.549   6.085   6.740   6.548   5.933   6.610   4.760   7.500
  90.384 100.000  87.549   5.933   6.610   4.760   5.891   6.390   3.308   7.500
  90.384 100.000  87.549   5.891   6.390   3.308   6.112   6.460   2.060   7.500
  90.384 100.000  87.549   6.112   6.460   2.060   6.221   6.500   1.574   7.500
  90.384 100.000  87.549   6.221   6.500   1.574   6.287   6.460   0.788   7.500
%WDS
  90.384 100.000  87.549  25.352  28.210  27.642  22.904  25.500  25.125   5.000
  90.384 100.000  87.549  22.904  25.500  25.125  20.345  22.730  22.448   5.000
  90.384 100.000  87.549  20.345  22.730  22.448  19.304  21.510  21.498   5.000
  90.384 100.000  87.549  19.304  21.510  21.498  18.158  20.250  20.356   5.000
  90.384 100.000  87.549  18.158  20.250  20.356  15.325  17.100  17.444   5.000
  90.384 100.000  87.549  15.325  17.100  17.444  11.119  12.410  12.939  16.700
  90.384 100.000  87.549  11.119  12.410  12.939   7.797   8.710   9.201  16.700
  90.384 100.000  87.549   7.797   8.710   9.201   4.664   5.210   5.504  16.700
  90.384 100.000  87.549   4.664   5.210   5.504   2.722   3.040   3.134  16.700
  90.384 100.000  87.549   2.722   3.040   3.134   1.055   1.170   1.110  16.700
%QPS
  95.189 100.000  44.160 171.786 180.570  80.354 108.797 114.940  52.960  22.500
  95.189 100.000  44.160 108.797 114.940  52.960  64.045  67.880  31.957  22.500
  95.189 100.000  44.160  64.045  67.880  31.957  37.389  39.530  18.656  22.500
  95.189 100.000  44.160  37.389  39.530  18.656  29.611  31.250  14.658  22.500
  95.189 100.000  44.160  29.611  31.250  14.658  18.750  19.690   9.017  22.500
  95.189 100.000  44.160  18.750  19.690   9.017  15.534  16.270   7.335   6.200
  95.189 100.000  44.160  15.534  16.270   7.335  12.738  13.300   5.879   6.200
  95.189 100.000  44.160  12.738  13.300   5.879   9.637  10.010   4.289   6.200
  95.189 100.000  44.160   9.637  10.010   4.289   7.559   7.810   3.235   6.200
  95.189 100.000  44.160   7.559   7.810   3.235   5.594   5.740   2.274   6.200
%OPN
  95.189 100.000  44.160  33.983  35.700  16.612  29.454  31.070  14.633   6.000
  95.189 100.000  44.160  29.454  31.070  14.633  26.344  27.820  13.213   6.000
  95.189 100.000  44.160  26.344  27.820  13.213  23.799  25.160  12.079   6.000
  95.189 100.000  44.160  23.799  25.160  12.079  20.450  21.650  10.538   6.000
  95.189 100.000  44.160  20.450  21.650  10.538  18.479  19.580   9.592   6.000
  95.189 100.000  44.160  18.479  19.580   9.592  13.904  14.750   7.339  14.400
  95.189 100.000  44.160  13.904  14.750   7.339   9.991  10.610   5.315  14.400
  95.189 100.000  44.160   9.991  10.610   5.315   5.318   5.640   2.791  14.400
  95.189 100.000  44.160   5.318   5.640   2.791   3.111   3.290   1.578  14.400
  95.189 100.000  44.160   3.111   3.290   1.578   1.244   1.300   0.570  14.400
] def

/CODT 32 array def
/CODT [%BEG CODT
(B-Z) (Z-Y)
(G-Z) (Z-V)
(R-Z) (Z-C)
(T-Z) (Z-M)
(Bd-D) (D-Yd)
(W-Z) (Z-N)
(Wq-P) (P-Nq)
(Wo-P) (P-No)

(B-Z) (Z-Y)
(G-Z) (Z-V)
(R-Z) (Z-C)
(T-Z) (Z-M)
(Bd-D) (D-Yd)
(W-Z) (Z-N)
(Wq-P) (P-Nq)
(Wo-P) (P-No)
] def %END CODT

/D13 1 3 div def
/D841_108 841 108 div def
/D4_29 4 29 div def
/D6_29 6 29 div 3 exp def

/proc_coldiff {%BEG procedure proc_coldiff PROC_COLDIFF_WK58.PS 150529
%calculates CIE colour data and differences for 10 colour spaces
%BEG CIELAB/CIELCH
/FL 0.000001 def
X0 XW div D6_29 gt {/FXXN0 X0 XW div 0.0001 add D13 exp def}
                   {/FXXN0 D841_108 X0 XW div mul D4_29 add def} ifelse

Y0 YW div D6_29 gt {/FYYN0 Y0 YW div 0.0001 add D13 exp def}
                    {/FYYN0 D841_108 Y0 YW div mul D4_29 add def} ifelse

Z0 ZW div D6_29 gt {/FZZN0 Z0 ZW div 0.0001 add D13 exp def}
                    {/FZZN0 D841_108 Z0 ZW div mul D4_29 add def} ifelse

/CIEL*0 116. FYYN0 mul 16. sub def
/CIEa*0 500. FXXN0 FYYN0 sub mul def
/CIEb*0 200. FYYN0 FZZN0 sub mul def
/CIEC*ab0 CIEa*0 dup mul
          CIEb*0 dup mul add 0.0001 add sqrt def
/CIEhab0 CIEb*0 CIEa*0 0.0001 add atan def

X1 XW div D6_29 gt {/FXXN1 X1 XW div 0.0001 add D13 exp def}
                   {/FXXN1 D841_108 X1 XW div mul D4_29 add def} ifelse

Y1 YW div D6_29 gt {/FYYN1 Y1 YW div 0.0001 add D13 exp def}
                   {/FYYN1 D841_108 Y1 YW div mul D4_29 add def} ifelse

Z1 ZW div D6_29 gt {/FZZN1 Z1 ZW div 0.0001 add D13 exp def}
                   {/FZZN1 D841_108 Z1 ZW div mul D4_29 add def} ifelse

/CIEL*1 116. FYYN1 mul 16. sub def
/CIEa*1 500. FXXN1 FYYN1 sub mul def
/CIEb*1 200. FYYN1 FZZN1 sub mul def
/CIEC*ab1 CIEa*1 dup mul
          CIEb*1 dup mul add 0.0001 add sqrt def
/CIEhab1 CIEb*1 CIEa*1 0.0001 add atan def

%mixed terms with *0 sn *1:
/d_CIEL* CIEL*1 CIEL*0 sub def
/d_CIEa* CIEa*1 CIEa*0 sub def
/d_CIEb* CIEb*1 CIEb*0 sub def

d_CIELABi i d_CIEL* dup mul
            d_CIEa* dup mul add 
            d_CIEb* dup mul add 0.00000001 add sqrt put

/a_CIELAB 1.26 def
/b_CIELAB 0.55 def
d_CIELABmi i d_CIELABi i get b_CIELAB exp a_CIELAB mul put

/d_CIEh CIEhab1 CIEhab0 sub def                    %see CIEDE2000 page 4
CIEC*ab1 CIEC*ab0 mul 0 eq {/d_CIEh 0 def} if      %CIEC*ab1 x CIEC*ab0 =0
CIEC*ab1 CIEC*ab0 mul 0 ne  d_CIEh  180 gt and
         {/d_CIEh d_CIEh 360 sub def} if
CIEC*ab1 CIEC*ab0 mul 0 ne  d_CIEh -180 lt and
         {/d_CIEh d_CIEh 360 add def} if

/d_CIEL   CIEL*1   CIEL*0   sub def
/d_CIECab CIEC*ab1 CIEC*ab0 sub def
/d_CIEHab CIEC*ab1 CIEC*ab0 mul 0.000001 add sqrt 2 mul
          d_CIEh 0.5 mul sin mul def

d_CIELCHi i d_CIEL   dup mul
            d_CIECab dup mul add
            d_CIEHab dup mul add 0.000001 add sqrt put

%alternative:
%for 2 an 10 degree observer, see Richter (1996)
%a'=0,2191 b'=-0,08376 a'10=0,2193, b'10=-0,08417
%a'2 and a'10 used for both 12 and 190 degree observer

%BEG LABD65_1976=C76
/S76L 1 def
/S76A 1 def
/S76B 1 def
/K76L 1 def
/K76A 1 def
/K76B 1 def
/AS2 0.2191 def
/BS2 -0.08376 def
%C76a'=AS2*(x/y)**(1/3)
%C76b'=BS2*(z/y)**(1/3)
%C76L*=L*CIE
%C76a*=500*[C76a'-C76a'n]*Y**(1/3)
%C76b*=500*[C76b'-C76b'n]*Y**(1/3)

/C76a'0 X0 Y0 FL add div 0.3333 exp AS2 mul def
/C76a'1 X1 Y1 FL add div 0.3333 exp AS2 mul def
/C76a'n XW YW FL add div 0.3333 exp AS2 mul def

/C76b'0 Z0 Y0 FL add div 0.3333 exp BS2 mul def
/C76b'1 Z1 Y1 FL add div 0.3333 exp BS2 mul def
/C76b'n ZW YW FL add div 0.3333 exp BS2 mul def
 
/C76a*0 C76a'0 C76a'n sub 500 mul Y0 1 3 div exp mul def
/C76a*1 C76a'1 C76a'n sub 500 mul Y1 1 3 div exp mul def
/C76b*0 C76b'0 C76b'n sub 500 mul Y0 1 3 div exp mul def
/C76b*1 C76b'1 C76b'n sub 500 mul Y1 1 3 div exp mul def

%name d_CIELCHi instead of d_LABD65i 1976
d_CIELCHi i CIEL*1 CIEL*0 sub K76L div S76L div dup mul
            C76a*1 C76a*0 sub K76A div S76A div dup mul add
            C76b*1 C76b*0 sub K76B div S76B div dup mul add
            0.00000001 add sqrt put

%END LABD65_1976=C76

/a_CIELCH 1.26 def
/b_CIELCH 0.55 def
d_CIELCHmi i d_CIELCHi i get b_CIELCH exp a_CIELCH mul put

%BEG CIELAB/CIELCH

%BEG CIE94
/S94L 1 def
/S94C 1 0.045 CIEC*ab0 mul add def
/S94H 1 0.015 CIEC*ab0 mul add def
/K94L 1 def
/K94C 1 def
/K94H 1 def

/LC94*0 CIEL*0 K94L div S94L div def
/LC94*1 CIEL*1 K94L div S94L div def
/CC94*ab0 CIEC*ab0 K94C div S94C div def
/CC94*ab1 CIEC*ab1 K94C div S94C div def

d_C94LCHi i CIEL*1   CIEL*0   sub K94L div S94L div dup mul
            CIEC*ab1 CIEC*ab0 sub K94C div S94C div dup mul add 
            d_CIEHab              K94H div S94H div dup mul add
            0.00000001 add sqrt put

/a_C94LCH 1.41 def
/b_C94LCH 0.70 def
d_C94LCHmi i d_C94LCHi i get b_C94LCH exp a_C94LCH mul put

%END CIE94

%BEG CMC(l:c=1:1)
%special mean m of two samples for SCML, SCMC, TCMC

/CIEL*0m   CIEL*0 CIEL*1 add 0.5 mul def
/CMCC0S CIEC*ab0 def
/CMCC1S CIEC*ab1 def
/CIEC*ab0m CMCC0S CMCC1S add 0.5 mul def

CIEC*ab0 0 eq {/CMCh0S 0 def}
              {/CMCh0S CIEb*0 CIEa*0  0.0001 add atan def
              } ifelse
CIEC*ab1 0 eq {/CMCh1S 0 def}
              {/CMCh1S CIEb*1 CIEa*1  0.0001 add atan def
              } ifelse

%beg special EQUATION (11) TO (14)
/d_CMChS0 CMCh1S CMCh0S sub def                    %see CIEDE2000 page 4
CMCC1S CMCC0S mul 0 eq {/d_CMChS 0 def} if    %CIEC*ab1 x CIEC*ab0 =0
CMCC1S CMCC0S mul 0 ne
d_CMChS0 abs  180 le and
         {/d_CMChSm d_CMChS0 def} if
CMCC1S CMCC0S mul 0 ne
d_CMChS0  180 gt and
         {/d_CMChSm d_CMChS0 360 sub def} if
CMCC1S CMCC0S mul 0 ne
d_CMChS0 -180 lt and
         {/d_CMChSm d_CMChS0 360 add def} if
%end special EQUATION (11) TO (14)

%beg special EQUATION (23) TO (26)
/a_CMChsm CMCh0S CMCh1S add 0.5 mul def
/m_CMCCSm CMCC0S CMCC1S mul def

d_CMChSm abs 180 le
m_CMCCSm 0   ne and
{/CMChSqm a_CMChsm def} if

d_CMChSm abs 180 gt
a_CMChsm 360 le and
m_CMCCSm 0   ne and
{/CMChSqm CMCh0S CMCh1S add 360 add 0.5 mul def} if

d_CMChSm abs 180 gt
a_CMChsm 360 ge and
m_CMCCSm 0   ne and
{/CMChSqm CMCh0S CMCh1S add 360 sub 0.5 mul def} if

m_CMCCSm 0 eq {/CMChSqm CMCh0S CMCh1S add def } if
%end special EQUATION (23) TO (26)

CIEL*0m 16 lt {/SCMLm 0.511 def}
              {/SCMLm 0.040975 CIEL*0m mul
                      0.01765  CIEL*0m mul 1 add div def
             } ifelse
/SCMCm 0.0638 CIEC*ab0m mul
       0.0131 CIEC*ab0m mul 1 add div 0.638 add def
%beg special
/FCMCm CIEC*ab0m dup mul dup mul
       CIEC*ab0m dup mul dup mul 1900 add div sqrt def
CMChSqm 164 lt
CMChSqm 345 gt or
{/TCMCm CMChSqm  35 add cos 0.4 mul abs 0.36 add def}
{/TCMCm CMChSqm 168 add cos 0.2 mul abs 0.56 add def} ifelse
%end special

/SCMHm TCMCm FCMCm mul 1 add FCMCm sub SCMCm mul def

/KCML 1 def %=l
/KCMC 1 def %=c
/KCMH 1 def %1

/CMCL*0m CIEL*0 KCML div SCMLm div def
/CMCL*1m CIEL*1 KCML div SCMLm div def
/CMCC*ab0m CIEC*ab0 KCMC div SCMCm div def
/CMCC*ab1m CIEC*ab1 KCMC div SCMCm div def

d_CMCLCHi i CIEL*1 CIEL*0 sub     KCML div SCMLm div dup mul
            CIEC*ab1 CIEC*ab0 sub KCMC div SCMCm div dup mul add 
            d_CIEHab              KCMH div SCMHm div dup mul add
            0.00000001 add sqrt put

/a_CMCLCH 1.34 def
/b_CMCLCH 0.66 def
d_CMCLCHmi i d_CMCLCHi i get b_CMCLCH exp a_CMCLCH mul put

%END CMC(m:l:c=m:1:1)=CMC

%BEG CM2(m:l:c=m:1:2)=CM2
/KM2L 1 def %=l
/KM2C 2 def %=c
/KM2H 1 def %1

/CM2L*0 CIEL*0 KM2L div SCMLm div def
/CM2L*1 CIEL*1 KM2L div SCMLm div def
/CM2C*ab0 CIEC*ab0 KM2C div SCMCm div def
/CM2C*ab1 CIEC*ab1 KM2C div SCMCm div def

d_CM2LCHi i CIEL*1 CIEL*0 sub     KM2L div SCMLm div dup mul
            CIEC*ab1 CIEC*ab0 sub KM2C div SCMCm div dup mul add
            d_CIEHab              KM2H div SCMHm div dup mul add
            0.00000001 add sqrt put

%END CM2(m:l:c=m:1:2)=CM2

%BEG CIEDE2000=C00
%beg special equation (7)
/CIEC*ab CIEC*ab0 CIEC*ab1 add 0.5 mul def
/DEG 1 CIEC*ab 7 exp
       CIEC*ab 7 exp 25 7 exp add div
       0.000001 add sqrt sub 0.5 mul def
%end special equation (7)

%beg special EQUATION (1) TO (6)
%0
/C00L0S CIEL*0 def
/C00a0S 1 DEG add CIEa*0 mul def
/C00b0S CIEb*0 def
/C00C0S C00a0S dup mul
        C00b0S dup mul add
        0.000001 add sqrt def
C00C0S 0 eq {/C00h0S 0 def}
            {/C00h0S C00b0S C00a0S  0.0001 add atan def
            } ifelse
%1
/C00L1S CIEL*1 def
/C00a1S 1 DEG add CIEa*1 mul def
/C00b1S CIEb*1 def
/C00C1S C00a1S dup mul
        C00b1S dup mul add
        0.000001 add sqrt def
C00C1S 0 eq {/C00h1S 0 def}
            {/C00h1S C00b1S C00a1S  0.0001 add atan def
            } ifelse
%end special EQUATION (1) TO (6)

%beg special EQUATION (11) TO (14)
/d_C00hS0 C00h1S C00h0S sub def                    %see CIEDE2000 page 4
C00C1S C00C0S mul 0 eq {/d_C00hS 0 def} if    %CIEC*ab1 x CIEC*ab0 =0
C00C1S C00C0S mul 0 ne
d_C00hS0 abs  180 le and
         {/d_C00hS d_C00hS0 def} if
C00C1S C00C0S mul 0 ne
d_C00hS0  180 gt and
         {/d_C00hS d_C00hS0 360 sub def} if
C00C1S C00C0S mul 0 ne
d_C00hS0 -180 lt and
         {/d_C00hS d_C00hS0 360 add def} if
%end special EQUATION (11) TO (14)

%beg special EQUATION (8) TO (10)
/d_C00LS C00L1S C00L0S sub def
/d_C00aS C00a1S C00a0S sub def
/d_C00bS C00b1S C00b0S sub def
/d_C00CS C00C1S C00C0S sub def
/d_C00HS C00C0S C00C1S mul 0.000001 add sqrt 2 mul
         d_C00hS 0.5 mul sin mul def
%end special EQUATION (8) TO (10)

%beg special EQUATION (23) TO (26)
/a_C00hs C00h0S C00h1S add 0.5 mul def
/m_C00CS C00C0S C00C1S mul def

d_C00hS abs 180 le
m_C00CS 0   ne and
{/C00hSq a_C00hs def} if

d_C00hS abs 180 gt
a_C00hs 360 le and
m_C00CS 0   ne and
{/C00hSq C00h0S C00h1S add 360 add 0.5 mul def} if

d_C00hS abs 180 gt
a_C00hs 360 ge and
m_C00CS 0   ne and
{/C00hSq C00h0S C00h1S add 360 sub 0.5 mul def} if

m_C00CS 0 eq {/C00hSq C00h0S C00h1S add def } if
%end special EQUATION (23) TO (26)

%beg special EQUATIONS (16) TO (22)
/C00LSq C00L0S C00L1S add 0.5 mul def
/C00CSq C00C0S C00C1S add 0.5 mul def

/C00SL C00LSq 50 sub dup mul 0.015 mul
       C00LSq 50 sub dup mul 20 add sqrt div
       1 add def
/C00SC 0.045 C00CSq mul 1 add def

%beg special T, RT, d_D, RC
/C00T C00hSq 30 sub cos -0.17 mul
      C00hSq 2 mul  cos  0.24 mul add
      C00hSq 3 mul 6 add cos  0.32 mul add
      C00hSq 4 mul 63 sub cos 0.20 mul sub
      1 add def
/C00SH 0.015 C00CSq mul C00T mul 1 add def

/C00RC C00CSq 7 exp
       C00CSq 7 exp 25 7 exp add 0.000001 add div 0.000001 add sqrt 2 mul def
/expDT C00hSq 275 sub 25 div dup mul def
/econst 2.718281 def
/C00DT 30 econst expDT neg exp mul def
/C00RT C00DT 2 mul sin neg C00RC mul def
%end special T, RT, d_D, RC
%end special EQUATIONS (16) TO (22)

%beg special EQUATION (15)

/C00KL 1.0 def
/C00KC 1.0 def
/C00KH 1.0 def

/d_C00LSN d_C00LS C00KL div C00SL div def
/d_C00CSN d_C00CS C00KC div C00SC div def
/d_C00HSN d_C00HS C00KH div C00SH div def

d_C00LCHi i d_C00LSN dup mul
            d_C00CSN dup mul add
            d_C00HSN dup mul add
            d_C00CSN d_C00HSN mul C00RT mul add
            0.000001 add sqrt put

/a_C00LCH 1.43 def
/b_C00LCH 0.70 def
d_C00LCHmi i d_C00LCHi i get b_C00LCH exp a_C00LCH mul put

%end special EQUATION (15)
%END CIEDE2000=C00

%BEG LABJND=C85
/Yq Y0 Y1 add 0.5 mul def
/d_Y Y1 Y0 sub def

/a085 X0 Y0 0.000001 add div def
/b085 Z0 Y0 0.000001 add div 0.4 mul neg def
/a185 X1 Y1 0.000001 add div def
/b185 Z1 Y1 0.000001 add div 0.4 mul neg def

/an85 XW YW 0.000001 add div def
/bn85 ZW YW 0.000001 add div 0.4 mul neg def

/d_a085 a085 an85 sub def
/d_b085 b085 bn85 sub def
/d_a185 a185 an85 sub def
/d_b185 b185 bn85 sub def

/a0"85 d_a085 d_a085 abs 0.5 mul 1 add div an85 add def
/b0"85 d_b085 d_b085 abs 0.5 mul 1 add div bn85 add def
/a1"85 d_a185 d_a185 abs 0.5 mul 1 add div an85 add def
/b1"85 d_b185 d_b185 abs 0.5 mul 1 add div bn85 add def

/d_Y Y1 Y0 sub def
/d_a"85 a1"85 a0"85 sub def
/d_b"85 b1"85 b0"85 sub def

/s85 0.0170 def
/q85 0.0058 def
/g85 1.0000 def %not used

/a0085 1.0 def
/b0085 1.8 def
/Y0085 1.5 def

d_C85LCHi i d_Y dup mul
            a0085 d_a"85 mul Yq mul dup mul add
            b0085 d_b"85 mul Yq mul dup mul add
            0.000001 add sqrt Y0085 mul
            q85 Yq mul s85 add div put

/a_C85LCH 1.17 def
/b_C85LCH 0.35 def
d_C85LCHmi i d_C85LCHi i get b_C85LCH exp a_C85LCH mul put

%END LABJND=C85

%BEG LABHNU_1977=C77
/S77L 1 def
/S77A 1 def
/S77B 1 def
/K77L 1 def
/K77A 1 def
/K77B 1 def
%C77a'=(x/y+1/6)**(1/3)/4
%C77b'=-(z/y+1/6)**(1/3)/12
%C77L*=L*CIE
%C77a*=500*[C77a'-C77a'n]*Y**(1/3)
%C77b*=500*[C77b'-C77b'n]*Y**(1/3)

/C77a'0 X0 Y0 FL add div 1 6 div add 0.3333 exp 4 div def
/C77a'1 X1 Y1 FL add div 1 6 div add 0.3333 exp 4 div def
/C77a'n XW YW FL add div 1 6 div add 0.3333 exp 4 div def

/C77b'0 Z0 Y0 FL add div 1 6 div add 0.3333 exp 12 div neg def
/C77b'1 Z1 Y1 FL add div 1 6 div add 0.3333 exp 12 div neg def
/C77b'n ZW YW FL add div 1 6 div add 0.3333 exp 12 div neg def
 
/C77a*0 C77a'0 C77a'n sub 500 mul Y0 1 3 div exp mul def
/C77a*1 C77a'1 C77a'n sub 500 mul Y1 1 3 div exp mul def
/C77b*0 C77b'0 C77b'n sub 500 mul Y0 1 3 div exp mul def
/C77b*1 C77b'1 C77b'n sub 500 mul Y1 1 3 div exp mul def


d_C77LCHi i CIEL*1 CIEL*0 sub K77L div S77L div dup mul
            C77a*1 C77a*0 sub K77A div S77A div dup mul add
            C77b*1 C77b*0 sub K77B div S77B div dup mul add
            0.00000001 add sqrt put
%END LABHNU_1977=C77

%BEG LABHNU1=C78
/S78L 1 def
/S78A 1 def
/S78B 1 def
/K78L 1 def
/K78A 1 def
/K78B 1 def
%C78a'=(x/y+1)/15
%C78b'=-(z/y+1/6)**(1/3)/12
%C78L*=L*CIE
%C78a*=500*[C78a'-C78a'n]*Y**(1/3)
%C78b*=500*[C78b'-C78b'n]*Y**(1/3)

/C78a'0 X0 Y0 FL add div 1 add 15 div def
/C78a'1 X1 Y1 FL add div 1 add 15 div def
/C78a'n XW YW FL add div 1 add 15 div def

/C78b'0 Z0 Y0 FL add div 1 6 div add 0.3333 exp 12 div neg def
/C78b'1 Z1 Y1 FL add div 1 6 div add 0.3333 exp 12 div neg def
/C78b'n ZW YW FL add div 1 6 div add 0.3333 exp 12 div neg def
 
/C78a*0 C78a'0 C78a'n sub 500 mul Y0 1 3 div exp mul def
/C78a*1 C78a'1 C78a'n sub 500 mul Y0 1 3 div exp mul def
/C78b*0 C78b'0 C78b'n sub 500 mul Y0 1 3 div exp mul def
/C78b*1 C78b'1 C78b'n sub 500 mul Y0 1 3 div exp mul def

d_C78LCHi i CIEL*1 CIEL*0 sub K78L div S78L div dup mul
            C78a*1 C78a*0 sub K78A div S78A div dup mul add
            C78b*1 C78b*0 sub K78B div S78B div dup mul add
            0.00000001 add sqrt put
%END LABHNU1_1978-C78

%BEG LABHNU2_1979=C79
/S79L 1 def
/S79A 1 def
/S79B 1 def
/K79L 1 def
/K79A 1 def
/K79B 1 def
%C79a'=(x/y+1/6)**(2/3)/15
%C79b'=-(z/y+1/6)**(1/3)/12
%C79L*=L*CIE
%C79a*=500*[C79a'-C79a'n]*Y**(1/3)
%C79b*=500*[C79b'-C79b'n]*Y**(1/3)

/C79a'0 X0 Y0 FL add div 1 6 div add 0.6667 exp 15 div def
/C79a'1 X1 Y1 FL add div 1 6 div add 0.6667 exp 15 div def
/C79a'n XW YW FL add div 1 6 div add 0.6667 exp 15 div def

/C79b'0 Z0 Y0 FL add div 1 6 div add 0.3333 exp 12 div neg def
/C79b'1 Z1 Y1 FL add div 1 6 div add 0.3333 exp 12 div neg def
/C79b'n ZW YW FL add div 1 6 div add 0.3333 exp 12 div neg def
 
/C79a*0 C79a'0 C79a'n sub 500 mul Y0 1 3 div exp mul def
/C79a*1 C79a'1 C79a'n sub 500 mul Y1 1 3 div exp mul def
/C79b*0 C79b'0 C79b'n sub 500 mul Y0 1 3 div exp mul def
/C79b*1 C79b'1 C79b'n sub 500 mul Y1 1 3 div exp mul def

d_C79LCHi i CIEL*1 CIEL*0 sub K79L div S79L div dup mul
            C79a*1 C79a*0 sub K79A div S79A div dup mul add
            C79b*1 C79b*0 sub K79B div S79B div dup mul add
            0.00000001 add sqrt put
%END LABHNU2_1979=C79

} bind def %END procedure proc_coldiff
%*************************************************************
/d_CIELABi  2800 array def
/d_CIELCHi  2800 array def
/d_C94LCHi  2800 array def
/d_CMCLCHi  2800 array def
/d_CM2LCHi  2800 array def
/d_C00LCHi  2800 array def
/d_C85LCHi  2800 array def
/d_C77LCHi  2800 array def
/d_C78LCHi  2800 array def
/d_C79LCHi  2800 array def

/d_CIELABmi  2800 array def
/d_CIELCHmi  2800 array def
/d_C94LCHmi  2800 array def
/d_CMCLCHmi  2800 array def
/d_CM2LCHmi  2800 array def
/d_C00LCHmi  2800 array def
/d_C85LCHmi  2800 array def
/d_C77LCHmi  2800 array def
/d_C78LCHmi  2800 array def
/d_C79LCHmi  2800 array def

%calculated data: CIELAB01ai, 2800 x 10 dat = 28000
/WXYZR01Vai 28000 array def %CIEXYZ
/CIELAB01ai 28000 array def %CIELAB
/C00LAB01ai 28000 array def %CIE DE2000

/d_CIELAB0i  2800 array def %CIELAB
/d_CIELCH0i  2800 array def %CIELCH
/d_C94LCH0i  2800 array def %CIE94
/d_CMCLCH0i  2800 array def %CMC
/d_C00LCH0i  2800 array def %CIEDE2000
/d_C85LCH0i  2800 array def %LABJND 1985

/iimp 080 def
/iim iimp 1 sub def

%STOP0

0 1 iim {/i exch def %i=0,iim
         /i10 i 10 mul def
         %save data in array
         0 1 09 {/j exch def %j=0,09
                 WXYZR01Vai i10 j add WData0 i10 j add get put
                } for %j=0,09
        } for %i=0,iim

%STOPA

0 1 iim {/i exch def %i=0,iim
        /i10 i 10 mul def

        /XW WData0 i10 0 add get def
        /YW WData0 i10 1 add get def
        /ZW WData0 i10 2 add get def

        /X0 WData0 i10 3 add get def
        /Y0 WData0 i10 4 add get def
        /Z0 WData0 i10 5 add get def

        /X1 WData0 i10 6 add get def
        /Y1 WData0 i10 7 add get def
        /Z1 WData0 i10 8 add get def

        proc_coldiff

        CIELAB01ai i10 0 add CIEL*0   put
        CIELAB01ai i10 1 add CIEa*0   put
        CIELAB01ai i10 2 add CIEb*0   put
        CIELAB01ai i10 3 add CIEC*ab0 put
        CIELAB01ai i10 4 add CIEhab0  put
        CIELAB01ai i10 5 add CIEL*1   put
        CIELAB01ai i10 6 add CIEa*1   put
        CIELAB01ai i10 7 add CIEb*1   put
        CIELAB01ai i10 8 add CIEC*ab1 put
        CIELAB01ai i10 9 add CIEhab1  put
       } for %i=0,iim

%%STOP1
%HUE CIRCLE
/xd 1550 def
/yd 5000 def
/xp 1550 def
/yp 5000 def

0 setgray
TBK
100 yhoe 300 sub moveto
(CIELAB Buntheit) showde
(CIELAB chroma) showen
TBIK ( C*) show (ab) ib4
TBK
( von BAM\2556stufigen) showde
( of BAM 6 step) showen
100 yhoe 600 sub moveto 
(visuell normierten gleichabst\344ndige Farbreihen) showde
(visual normalized equidistant colour series) showen

/xt2 0500 def
/yt2 -2670 def
xt2 yt2 translate

/xfact 15 def
/yfact 15 def

20 setlinewidth
/xp0 xp  0400 add def
/yp0 yp  1000 sub def
/xpN xp0 1000 sub def
/ypN yp0 1000 sub def

xp0 2250 sub yp0 0 sub moveto 5000 0 rlineto stroke %horizontal axis
xp0 0000 add yp0 1250 sub moveto 0 3000 rlineto stroke %vertical axis

/xsfact 69.11 50. div def
xp0 1500 xsfact mul sub yp0 70 sub moveto 0 140 rlineto stroke %vertical marks
xp0 0750 xsfact mul sub yp0 70 sub moveto 0 140 rlineto stroke
xp0 0750 xsfact mul add yp0 70 sub moveto 0 140 rlineto stroke
xp0 1500 xsfact mul add yp0 70 sub moveto 0 140 rlineto stroke

TS
xp0 1650 xsfact mul sub yp0 300 sub moveto (-20) show %horizontal scale
xp0  900 xsfact mul sub yp0 300 sub moveto (-10) show
xp0 0650 xsfact mul add yp0 300 sub moveto (10) show
xp0 1400 xsfact mul add yp0 300 sub moveto (20) show

xp0 70 sub yp0 1500 add moveto 140 0 rlineto stroke %horizontal marks
xp0 70 sub yp0 0750 add moveto 140 0 rlineto stroke
xp0 70 sub yp0 0750 sub moveto 140 0 rlineto stroke

xp0 400 sub yp0 1500 add moveto (100) show %vertical scale
xp0 300 sub yp0 0700 add moveto (50) show
xp0 400 sub yp0 0900 sub moveto (-50) show

xp0 0100 add yp0 1650 add moveto TBIK (C*ab) show
xp0 2400 add yp0  300 sub moveto TBIK (V*) show

/colse1 1000 array def %min 96 colours x 6 
/colse1 [%BEG colse1 

%(B-Z-Y) (4) 6 step Serie 1
001 0.00 0.00 1.00 ( B) (4)
002 0.10 0.10 0.90 ( a) (4)
003 0.20 0.20 0.80 ( b) (4)
004 0.30 0.30 0.70 ( c) (4)
005 0.40 0.40 0.60 ( d) (4)
006 0.50 0.50 0.50 ( Z) (4)

007 0.50 0.50 0.50 ( Z) (4)
008 0.60 0.60 0.40 ( a) (4)
009 0.70 0.70 0.30 ( b) (4)
010 0.80 0.80 0.20 ( c) (4)
011 0.90 0.90 0.10 ( d) (4)
012 1.00 1.00 0.00 ( Y) (4)

%R-Z-C
013 1.00 0.00 0.00 ( R) (4)
014 0.90 0.10 0.10 ( a) (4)
015 0.90 0.20 0.20 ( b) (4)
016 0.70 0.30 0.30 ( c) (4)
017 0.60 0.40 0.40 ( d) (4)
018 0.50 0.50 0.50 ( Z) (4)

019 0.50 0.50 0.50 ( Z) (4)
020 0.40 0.60 0.60 ( a) (4)
021 0.30 0.70 0.70 ( b) (4)
022 0.20 0.80 0.80 ( c) (4)
023 0.10 0.90 0.90 ( d) (4)
024 0.00 1.00 1.00 ( C) (4)

%G-Z-M
025 0.00 1.00 0.00 ( G) (4)
026 0.10 0.90 0.10 ( a) (4)
027 0.20 0.80 0.20 ( b) (4)
028 0.30 0.70 0.30 ( c) (4)
029 0.40 0.60 0.40 ( d) (4)
030 0.50 0.50 0.50 ( Z) (4)

031 0.50 0.50 0.50 ( Z) (4)
032 0.60 0.40 0.60 ( a) (4)
033 0.70 0.30 0.70 ( b) (4)
034 0.80 0.20 0.80 ( c) (4)
035 0.90 0.10 0.90 ( d) (4)
036 1.00 0.00 1.00 ( M) (4)

%T-Z-P
037 0.00 1.00 0.25 ( T) (4)
038 0.10 0.90 0.30 ( a) (4)
039 0.20 0.80 0.35 ( b) (4)
040 0.30 0.70 0.40 ( c) (4)
041 0.40 0.60 0.45 ( d) (4)
042 0.50 0.50 0.50 ( Z) (4)

043 0.50 0.50 0.50 ( Z) (4)
044 0.60 0.45 0.60 ( a) (4)
045 0.70 0.40 0.70 ( b) (4)
046 0.80 0.35 0.80 ( c) (4)
047 0.90 0.30 0.90 ( d) (4)
048 1.00 0.25 1.00 ( P) (4)

] def %END colse1

30 setlinewidth
/ix -1 def
/xiTfak -10.0 def
/xiPfak  22.4 def

/xiT 6 array def
/xiP 6 array def

%      0    1     2      3     4      5
/xiT [-1.0 -0.8   -0.6   -0.4  -0.2   0.00] def
/xiP [ 0.0  0.448  0.896  1.344 1.792 2.24] def

/C*abT CIELAB01ai 30 10 mul 3 add get def
/C*abP CIELAB01ai 39 10 mul 8 add get def      

/C*abTi 6 array def
0 1 5 {/i exch def %i=0,5 %creates 6 data!!!
       C*abTi i CIELAB01ai 30 i add 10 mul 3 add get put
      } for %i=0,5

/C*abPi 6 array def
0 1 5 {/i exch def %i=0,5
       C*abPi i CIELAB01ai 34 i add 10 mul 8 add get put
      } for %i=0,5

%STOP2

TK
/ix 36 def %ix(T)=37-1, %ix(Z)=42-1,43-1 %ix(P)=48-1

20 setlinewidth
0 0 0 setrgbcolor
/xiT0 -1.0 C*abT mul xfact mul def
/yiT0 50.0 yfact mul def
[40] 40 setdash
xp0 yp0 moveto
xiT0 xp0 add 
yiT0 yp0 add lineto stroke
[ ] 0 setdash
TV
xiT0 xp0 add 180 sub
yiT0 yp0 add 050 sub moveto (50) show

xiT0 xp0 add 180 sub
0    yp0 add 050 add moveto (10) show

/xiP0 1.0 C*abP mul xfact mul def
/yiP0 0 def
xiP0 xp0 add 050 add 880 add %why 880? 
0    yp0 add 050 add moveto (22,4) show

TS
0 1 05 {/i exch def %i=0,5
/xi00 xiT i get C*abT mul xfact mul def
/yi00 C*abTi i get abs yfact mul def
xi00 xp0 add yi00 yp0 add moveto
xi00 xp0 add 0    yp0 add lineto stroke
newpath
xi00 xp0 add 100 sub
yi00 yp0 add 100 add moveto 
C*abTi i get 2 le {0} {C*abTi i get} ifelse cvishow
       } for %i=0,5

0 1 05 {/i exch def %i=0,5
        newpath
        /ix ix 1 add def
        /i6 ix 6 mul def
        /r colse1 i6 1 add get def
        /g colse1 i6 2 add get def
        /b colse1 i6 3 add get def
        r g b setrgbcolor 
        /xi xiT i get C*abT mul xfact mul def 
        /yi C*abTi i get abs yfact mul def
        xi xp0 add yi yp0 add 50 0 360 arc fill
      } for %i=0,5

0 0 0 setrgbcolor
TS
0 1 05 {/i exch def %i=0,5
/xi00 xiP i get C*abT mul xfact mul def
/yi00 C*abPi i get abs yfact mul def
xi00 xp0 add yi00 yp0 add moveto
xi00 xp0 add 0    yp0 add lineto stroke
newpath
xi00 xp0 add 100 sub
yi00 yp0 add 100 add moveto 
C*abPi i get 2 le {0} {C*abPi i get} ifelse cvishow
       } for %i=0,5

/ix 41 def
0 1 05 {/i exch def %i=0,5
        newpath
        /ix ix 1 add def
        /i6 ix 6 mul def
        /r colse1 i6 1 add get def
        /g colse1 i6 2 add get def
        /b colse1 i6 3 add get def
        r g b setrgbcolor
        /xi xiP i get C*abT mul xfact mul def
        /yi C*abPi i get abs yfact mul def
        xi xp0 add yi yp0 add 50 0 360 arc fill
      } for %i=0,5

%STOP3



xt2 neg yt2 neg translate

/ioutk 0 def
ioutk 1 eq {%iout=1
0 0 0 setrgbcolor
0 1 05 {/i exch def %i=0,5
        newpath
        /xi0 xiT i get C*abT mul def
        /yi0 C*abTi i get abs def
        100 3200 i 200 mul sub moveto
        i cvishow (, ) show
        xi0 cvsshow2 (, ) show
        yi0 cvsshow2 (, ) show
        C*abPi i get cvsshow2 (, ) show

        newpath
        /xi1 xiP i get C*abT mul def
        /yi1 C*abPi i get abs def
        100 1600 i 200 mul sub moveto
        i cvishow (, ) show
        xi1 cvsshow2 (, ) show
        yi1 cvsshow2 (, ) show
        C*abTi i get cvsshow2 (, ) show

      } for %i=0,5
} if %ioutk=1

showpage
grestore

%%Trailer