%!PS-Adobe-3.0 EPSF-3.0 BG910-7X_95 
%%BoundingBox: 70 83 387 206

%START PDFDE011.EPS
/pdfmark07 where {pop} {userdict /pdfmark07 /cleartomark load put} ifelse
/languagelevel where {pop languagelevel} {1} ifelse
2 lt { userdict (<<) cvn ([) cvn load put
       userdict (>>) cvn (]) cvn load put} if
[ /Title (PostScript pictures: http://130.149.60.45/~farbmetrik/BG91/)
  /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@me.com)
  /CreationDate (D:2017080112000)
  /ModDate (D:2017080112000)
/DOCINFO pdfmark07
[ /View [ /FitB ]
/DOCVIEW pdfmark07
%END  PDFDE011

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/SG {350 /Symbol FS} bind def
/SM {280 /Symbol FS} bind def
/SK {240 /Symbol FS} bind def
/SS {200 /Symbol FS} bind def
/SL {160 /Symbol FS} bind def

%%EndProlog
gsave

%lanindL2.EPS START  20000505
/lanind 0 def
/lantex [(G) (E) (S) (F) (I) (J) (M)] def
/showde {0 lanind eq {show} {pop} ifelse} bind def
/showen {1 lanind eq {show} {pop} ifelse} bind def
/showes {2 lanind eq {show} {pop} ifelse} bind def
/showfr {3 lanind eq {show} {pop} ifelse} bind def
/showit {4 lanind eq {show} {pop} ifelse} bind def
/showjp {5 lanind eq {show} {pop} ifelse} bind def
/showea {1 lanind le {show} {pop} ifelse} bind def
 
/lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def
                    /lanindd laninddf def}
               {/lanind1 0 def /lanind2 0 def} ifelse
/colormf where {pop /colorm1 colormf def /colorm2 colormf def
                    /colormd colormdf def}
               {/colorm1 0 def} ifelse
/deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def
                    /deintpd deintpdf def}
               {/deintp1 0 def} ifelse
/xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def
                    /xcolord xcolordf def}
               {/xcolor1 0 def} ifelse
/xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def
                    /xchartd xchartdf def
                    /xchartm xchart2f xchart1f sub 1 add def}
               {/xchart1 0 def /xchartm 0 def} ifelse %D50
/xchart3f where {pop /xchart3 xchart3f def}
                {/xchart3 8 def} ifelse
/xchart4f where {pop /xchart4 xchart4f def}
                {/xchart4 0 def} ifelse
/pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def
                    /pchartd pchartdf def}
               {/pchart1 3 def} ifelse
/colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def
                    /colsepd colsepdf def}
               {/colsep1 0 def} ifelse
/pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def
                    /pmetamd pmetamdf def}
               {/pmetam1 0 def} ifelse

%either defaul values for xchart=0 or values for xchart=1
/lanind lanind1 def %
/colorm colorm1 def %
/deintp deintp1 def %
/xcolor xcolor1 def %
/xchart xchart1 def %
/pchart pchart1 def %
/colsep colsep1 def %
/pmetam pmetam1 def %

colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0
colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1
colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0
colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1
xchart xchart3 le {/Txx (-) def} if %always independent of intended output

gsave
%LANINDL2 END
 
/cvishow {cvi 6 string cvs show ( ) show} def
/cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def
/cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def
/cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def
/cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def
/cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def

/xchart8 0 def %only local
%for xchart8=0
/SP60 80 array def %380 bis 775 mit deltalambda=05
/SP55 80 array def %380 bis 775 mit deltalambda=05
/SP50 80 array def %380 bis 775 mit deltalambda=05
/SP45 80 array def %380 bis 775 mit deltalambda=05
/SP40 80 array def %380 bis 775 mit deltalambda=05
/SP35 80 array def %380 bis 775 mit deltalambda=05
/SP30 80 array def %380 bis 775 mit deltalambda=05
/SP25 80 array def %380 bis 775 mit deltalambda=05
%for xchart8=1
/SD65 80 array def %380 bis 775 mit deltalambda=05
/SD50 80 array def %380 bis 775 mit deltalambda=05
/SP40 80 array def %380 bis 775 mit deltalambda=05
/SA00 80 array def %380 bis 775 mit deltalambda=05
/SE00 80 array def %380 bis 775 mit deltalambda=05
/SC00 80 array def %380 bis 775 mit deltalambda=05
/SP00 80 array def %380 bis 775 mit deltalambda=05
/SQ00 80 array def %380 bis 775 mit deltalambda=05

/SDAK 80 array def %380 bis 775 mit deltalambda=05
/RA   80 array def %380 bis 770 nm
/F2  240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm
/F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm
/F10 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm

%C
%C      LITERATURQUELLEN  LICHTARTEN
%C      SA,SC,SD65,  CIE-DOKUMENT NR.15 FARBMESSUNG, 1971
%C                   TABELLE 1.1.1, SEITE 81
%C      SD55,SD75,   CIE-DOKUMENT NR.15 FARBMESSUNG, 1971
%C                   TABELLE 1.1.4, SEITE 85
%C                   LINEAR INTERPOLIERT VON 5 ZU 5NM
%C      SG,SP,SXE,   DIN 5033, BLATT 7 ,SEITE 8-9
%C                   AUSGABE  1966

/SD65 %80 data 5 nm
[50.0  52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 
 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 
 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 
 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 
 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 
 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 
 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 
 46.4 56.6 66.8 65.1] def

/SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS
[24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9
 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2
 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6
102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3
 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4
 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1
 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7
 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used

/SA00 %80 data 5 nm CIE 15.3  Seite 30; aus JE540-1N.PS
[9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99
 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30
 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06
 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44
 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39
 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42
 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12
 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41
 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59
 232.12 234.59 237.01 239.37 0.0] def %0.0 not used

% AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92
%C     PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI-
%C     LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA  
%C     BEI GEGEBENER TEMPERATUR T                                        
%C     VERWENDETE VARIABLE                                               
%C        T                   TEMPERATUR                                 
%C        C2                  PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) 
%C        LAMDA(I)            WELLENLAENGE                               
%C        S(I)                STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS 
%C                                                                       
%C     LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION,       
%C               CA. 1969, SEITE 21 UND TABELLE 1.1.1                    
%C                                                                       
%SDP4 80 array def %380 bis 775 mit deltalambda=05
%      DO 50 I=1,54                                                      
%   50 S(I)=100.
%     1*(560./FLOAT(LAMDA(I)))**5
%     2*(EXP(C2/(560.*10.**(-7)*T))-1.)
%     3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.)

%new CIE 15.3:2004, Eq. (3.1) page 2
%S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560   )} - 1]
%                           /[exp{(c2*10**7)/(TNC*lambda)} - 1]
% exp = e {...} = 2.71 {...} 

/EE 2.718281 def %e=mac pocket calculator
/C2 1.4350000 10 7 exp mul def
/lamd 80 array def

/TNCj 8 array def
/TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def

0 1 7 {/j exch def %j=0,7
0 1 79 {%i=0,79
        /i exch def
        /lambda 380 i 5 mul add def
        lamd i lambda put
        /E1 560 lambda div 5 exp def

        /E4 C2 TNCj j get 560    mul div def
        /E5 C2 TNCj j get lambda mul div def

        /E6 EE E4 exp def
        /E7 EE E5 exp def

        j 0 eq {SP60 i} if
        j 1 eq {SP55 i} if
        j 2 eq {SP50 i} if
        j 3 eq {SP45 i} if
        j 4 eq {SP40 i} if
        j 5 eq {SP35 i} if
        j 6 eq {SP30 i} if
        j 7 eq {SP25 i} if

        E1 100 mul E6 1 sub
                   E7 1 sub div mul
        put
       } for %i=0,79
       } for %j=0,7

/xex 10 2 exp def
/yex EE 2 exp def

/SE00 %80 data 5 nm
[100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used

/SC00 %80 data 5 nm
[ 33.00  39.92  47.40  55.17  63.30  71.81  80.60  89.53  98.10 105.80
 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09
 123.90 122.92 120.70 116.90 112.10 106.98 102.30  98.81  96.90  96.78
  98.00  99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15
  97.80  95.43  93.20  91.22  89.70  88.83  88.40  88.19  88.10  88.06
  88.00  87.86  87.80  87.99  88.20  88.20  87.90  87.22  86.30  85.30
  84.00  82.21  80.20  78.24  76.30  74.36  72.40  70.40  68.30  66.30
  64.40  62.80  61.50  60.20  59.20  58.50  58.10  58.00  58.20  58.50
 ] def %0.0 not used

0 1 79 {/i exch def %i=0,79
        /lamda 380 i 5 mul add def
        SP00 i SE00 i get lamda 560 div mul put
        SQ00 i SE00 i get 1120 lamda sub 560 div mul put
       } for %i=0,79
 
%C      LITERATURQUELLEN  SPEKTRALWERTE
%C       F2          CIE-DOKUMENT NR.15 FARBMESSUNG, 1971
%C                   TABELLE 2.1, SEITE 93-102

/F2  %3x80 data
[.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 
 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 
 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 
 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 
 .7621
 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 
 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 
 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 
 .004109 .002899 .002049 .001440 .0009999 .0006901 
 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 
 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 
 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 
 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 
 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 
 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 
 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 
 .01192 .00821 .005723 .004102 .002929 .002091 .001484 
 .001047 .00074 .00052 .0003611 .0002492 .0001719 
 .00012 .0000848 .00006 .0000424 .00003 .0000212 
 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 
 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 
 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 
 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 
 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 
 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20
 0.0 0.0 0.0 0.0 0.0 0.0 %26
] def

/F10 %3x80 data
[.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 
 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323
  .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177
  .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 
 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 
 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 
 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 
 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 
 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 
 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 
 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 
 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 
 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 
 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 
 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 
 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 
 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 
 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 
 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 
 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 
 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 
 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 
 .001091 
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40
 0.0 0.0 0.0 0.0 %44
] def

%calculation of transformation data
/FARBE 27 array def
/FARBE [(R) (me) ( 570_770) %00
        (Y) (me) ( 510_770) %01
        (G) (me) ( 470_570) %02
        (C) (m ) ( 380_570) %03
        (B) (me) ( 380_510) %04
        (M) (m ) ( 570_470) %05
        (R) (o ) ( 570_440) %06
        (G) (o ) ( 520_570) %07
        (W) (1 ) ( 380_770) %08
       ] def

/xshift 10 array def %max 6 device + 4 elementary
/yshift 10 array def
/colori 10 array def

/RX0 640 array def %8x80
/RX0 [

%(%Rme     00 570_770)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
0036 0036 0036 0036 0036 0036 0036 0036 4500 9000

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%(%Yme   01 510_770)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
0036 0036 0036 0036 0036 0036 4500 9000 9000 9000
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%(%Gme    02 470_570)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
0036 0036 0036 0036 0036 0036 0036 0036 4500 9000

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
9000 9000 9000 9000 9000 9000 9000 9000 4500 0036

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036

%(%Cm     03 380_570)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
9000 9000 9000 9000 9000 9000 9000 9000 4500 0036

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036

%(%Bme   04 380_510)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
9000 9000 9000 9000 9000 9000 4500 0036 0036 0036
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036

%(%Mm     05 570_470)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
9000 9000 9000 9000 9000 9000 9000 9000 4500 0036

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
0036 0036 0036 0036 0036 0036 0036 0036 4500 9000

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%(%Ro      06 570_440)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
9000 9000 4500 0036 0036 0036 0036 0036 0036 0036

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
0036 0036 0036 0036 0036 0036 0036 0036 4500 9000

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%(%Go      07 510_570)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
0036 0036 0036 0036 0036 0036 4500 9000 9000 9000
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
9000 9000 9000 9000 9000 9000 9000 9000 4500 0036

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
0036 0036 0036 0036 0036 0036 0036 0036 0036 0036

%(%W1(r=1,000) 08 380_770)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
9000 9000 9000 9000 9000 9000 9000 9000 9000 9000

] def

/xcolorl 1 def %only local
%0 1 1 {/xcolorl exch def %xcolorl=0,1

xcolorl 1 eq {0 1 239 {/i exch def %i=0,239
                       F2 i F10 i get put
                      } for %i=0,239
           } if

/YKSUM 0 def %For CIE Illuminant E
0 1 79 {/i exch def %i=0,1,79
        /YKSUM YKSUM F2  80 i add get add def
} for %i=0,1,79

/F2N 240 array def
0 1 79 {/i exch def %i=0,1,79
        F2N  00 i add F2  00 i add get YKSUM div 100 mul put
        F2N  80 i add F2  80 i add get YKSUM div 100 mul put
        F2N 160 i add F2 160 i add get YKSUM div 100 mul put
} for %i=0,1,79

/FXN 80 array def %FXN 0 = F2N imax
/FYN 80 array def
/FZN 80 array def
%defines FXN, FYN, FZN 0 to 79
0 1 79 {/i exch def %i=0,79
        FXN i F2N 000 i add get put
        FYN i F2N 080 i add get put
        FZN i F2N 160 i add get put
} for %i=0,79

%special wavelength range with complementary colours for E?
/FXD 63 array def
/FYD 63 array def
/FZD 63 array def
/DOW 63 array def

00 1 60 {/i exch def %i=0,60 %range 400..700nm
         FXD i FXN 005 i add get put
         FYD i FYN 005 i add get put
         FZD i FZN 005 i add get put
         DOW i 400 i 5 mul add put %range 400 to 700
        } for %i=0,60

%for interpolation
FXD 61 FXD 60 get put
FYD 61 FYD 60 get put
FZD 61 FZD 60 get put

FXD 62 FXD 60 get put
FYD 62 FYD 60 get put
FZD 62 FZD 60 get put

/FAD 63 array def
/FBD 63 array def
/FCD 63 array def

20 setlinewidth
/xdel  1030 def
/ydel   350 def
/x0 600 def

xchart8 0 eq {%xchart8=0
/TELi [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def
             }%xchart8=0
             {%xchart8=1
/TELi [(D65) (D50) (P45) (A00) (E00) (C00) (P00) (Q00)] def
             } ifelse %xchart8=1

/Xi 10 array def %max 6 device colour + 4 elementary colours
/Yi 10 array def
/Zi 10 array def
/XANi 10 array def
/YANi 10 array def
/ZANi 10 array def

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

/xchartl xchart def
%0 1 7 {/xchartl exch def %xchartl=0,7

/K 0 def %for normalization 1
%/K 1 def %for normalization 0,886

gsave

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

5 /Times-ISOL1 FS
340 85 moveto
(BG910-) show
xchart4l 2 mul 1 add cvishow
xchart 0 ge {(X) show} if
(_) show xchart 1 add cvishow
%xchart 0 eq {(N) show}
%            {deintp colorm 2 mul add cvishow} ifelse

72 90 translate

0.010 MM dup scale

20 setlinewidth
0 0 1 0 setcmyk_olvcolor
0 0 moveto 11000     0 rlineto 0 4000 rlineto
           11000 neg 0 rlineto closepath fill
0 0 0 1 setcmyk_olvcolor
0 0 moveto 11000     0 rlineto 0 4000 rlineto
           11000 neg 0 rlineto closepath stroke

%calculation of XW,YW,ZW for illuminant D65, D50, ...
0 1 79 {/i exch def %i=0,79
        xchart8 0 eq {%xchart8=0
        SDAK i xchartl 0 eq {SP60 i get} if
               xchartl 1 eq {SP55 i get} if
               xchartl 2 eq {SP50 i get} if
               xchartl 3 eq {SP45 i get} if
               xchartl 4 eq {SP40 i get} if
               xchartl 5 eq {SP35 i get} if
               xchartl 6 eq {SP30 i get} if
               xchartl 7 eq {SP25 i get} if
               put
                     } if %xchart8=0
        xchart8 1 eq {%xchart8=1
        SDAK i xchartl 0 eq {SD65 i get} if
               xchartl 1 eq {SD50 i get} if
               xchartl 2 eq {SP45 i get} if
               xchartl 3 eq {SA00 i get} if
               xchartl 4 eq {SE00 i get} if
               xchartl 5 eq {SC00 i get} if
               xchartl 6 eq {SP00 i get} if
               xchartl 7 eq {SQ00 i get} if
               put
                     } if %xchart8=1
       } for %i=0,79

/YKSUM 0 def
0 1 79 {/i exch def %i=0,1,79
        /YKSUM YKSUM SDAK i get F2  80 i add get mul add def
} for %i=0,1,79

0 1 79 {/i exch def %i=0,1,79
        F2N  00 i add SDAK i get F2  00 i add get mul YKSUM div 100 mul put
        F2N  80 i add SDAK i get F2  80 i add get mul YKSUM div 100 mul put
        F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put
} for %i=0,1,79

%XW,YW,ZW for white
/XW 0 def
/YW 0 def
/ZW 0 def
0 1 079 {/i exch def %i=0,79
         /XW XW F2N  00 i add get add def
         /YW YW F2N  80 i add get add def
         /ZW ZW F2N 160 i add get add def
        } for %i=0,79

/SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00
/XANW XW SUMW div def
/YANW YW SUMW div def
/ZANW ZW SUMW div def

/AANW XW YW 0.0001 add div def
/BANW ZW YW 0.0001 add div 0.4 mul neg def

%calculation of Xi,Yi,Zi for illuminant D65, D50, ...
0 1 08 {/k exch def %k=0,8 %09 Reflections
        /kx k 80 mul def
           0 1 79 {/i exch def %i=0,79
                              RA i RX0
                              kx i add get 10000 div put %special
                     } for %i=0,79

          /X 0 def
          /Y 0 def
          /Z 0 def
          0 1 079 {/i exch def %i=0,79
                   /X X F2N  00 i add get RA i get mul add def
                   /Y Y F2N  80 i add get RA i get mul add def
                   /Z Z F2N 160 i add get RA i get mul add def
                  } for %i=0,79

         Xi k X put
         Yi k Y put
         Zi k Z put
         
         /SUM X Y add Z add def
         XANi k X SUM 0.0001 add div put
         YANi k Y SUM 0.0001 add div put
         ZANi k Z SUM 0.0001 add div put

        } for %k=0,8

xchart4l 0 eq {%xchart4l=0
              0 1 62 {/i exch def %i=0,62
                      FAD i FXD i get put
                      FBD i FYD i get put
                      FCD i FZD i get put
                     } for %i=0,62
             } if %xchart4l=0

xchart4l 1 eq {%xchart4l=1
              0 1 62 {/i exch def %i=0,62
                      FAD i FYD i get put
                      FBD i FXD i get FYD i get 0.0001 add div
                            XW YW 0.0001 add div sub
                            FYD i get mul put
                      FCD i FZD i get FYD i get 0.0001 add div
                            ZW YW 0.0001 add div sub
                            FYD i get mul 0.4 mul neg put
                     } for %i=0,62
             } if %xchart4l=1

xchart4l 2 eq {%xchart4l=2
              /D13 1 3 div def
              /D841_108 841 108 div def
              /D16_116 16 116 div def
              /D24_116 24 116 div 3 exp def

              0 1 62 {/i exch def %i=0,62
              
              /YD FYD i get def
              YD YW div D24_116 gt {/FYYN YD YW div 0.0001 add D13 exp def}
                     {/FYYN D841_108 YD YW div mul D16_116 add def} ifelse
              
              /a'i FXD i get FYD i get 0.0001 add div D13 exp  0.2191  mul def
              /b'i FZD i get FYD i get 0.0001 add div D13 exp -0.08376 mul def
              
              /a'in XW YW 0.0001 add div D13 exp  0.2191  mul def
              /b'in ZW YW 0.0001 add div D13 exp -0.08376 mul def
              
              FAD i FYYN put
              FBD i a'i a'in sub YD 0.0001 add D13 exp mul put
              FCD i b'i b'in sub YD 0.0001 add D13 exp mul put

                     } for %i=0,62
              
             } if %xchart4l=2

xchart4l 3 eq {%xchart4l=3
              /D13 1 3 div def
              /D841_108 841 108 div def
              /D16_116 16 116 div def
              /D24_116 24 116 div 3 exp def

              0 1 62 {/i exch def %i=0,62

              /YD FYD i get def
              YD YW div D24_116 gt {/FYYN YD YW div 0.0001 add D13 exp def}
                     {/FYYN D841_108 YD YW div mul D16_116 add def} ifelse

              /a'i  FXD i get FYD i get 0.0001 add div 1 add 15 div def
              /b'i  FZD i get FYD i get 0.0001 add div 1 6 div add
                    0.3333 exp 12 div neg def
              /a'in XW YW               0.0001 add div 1 add 15 div def
              /b'in ZW YW               0.0001 add div 1 6 div add
                    0.3333 exp 12 div neg def
              
              FAD i FYYN put
              FBD i a'i a'in sub 500 mul YD 0.0001 add D13 exp mul put
              FCD i b'i b'in sub 500 mul YD 0.0001 add D13 exp mul put

                     } for %i=0,62
              
             } if %xchart4l=3

xchart4l 4 eq {%xchart4l=4
              /D13 1 3 div def
              /D841_108 841 108 div def
              /D16_116 16 116 div def
              /D24_116 24 116 div 3 exp def

              0 1 62 {/i exch def %i=0,62

              /YD FYD i get def
              YD YW div D24_116 gt {/FYYN YD YW div 0.0001 add D13 exp def}
                     {/FYYN D841_108 YD YW div mul D16_116 add def} ifelse

              %used for both 2- and 10-degree observer 
              /XD65 95.04 def
              /YD65 100.00 def
              /ZD65 108.89 def

              /a20 1 XD65 div D13 exp def          %a20,2=0.2191  a20,10=0.2193
              /b20 1 ZD65 div D13 exp -0.4 mul def %b20,2=-0.0837 b20,10=-0.08417
              
              /a'i FXD i get FYD i get 0.0001 add div D13 exp a20 mul def
              /b'i FZD i get FYD i get 0.0001 add div D13 exp b20 mul def
              
              /a'in XW YW 0.0001 add div D13 exp  0.2191  mul def
              /b'in ZW YW 0.0001 add div D13 exp -0.08376 mul def
              
              FAD i FYYN put
              FBD i a'i a'in sub YD 0.0001 add D13 exp mul put
              FCD i b'i b'in sub YD 0.0001 add D13 exp mul put

                     } for %i=0,62
              
             } if %xchart4l=4

/ymax 3750 def
50 ymax moveto
%TBIM (Ostwald) show
TBM
(Optimalfarben (o)) showde                                     %0BG911-7 02581
(Optimal colours (o)) showen                                   %1BG911-7 02581
(Colores \363ptimos (o)) showes                                %2BG911-7 02581
(Couleurs optimales (o)) showfr                                %3BG911-7 02581
(Colori ottimi (o)) showit                                     %4BG911-7 02581
(Optimal colours (o)) showjp                                   %5BG911-7 02581

TBIM ( RYGCBM) show TBM

( von maximalem (m)) showde                                     %0BG911-7 03581
( of maximum (m)) showen                                        %1BG911-7 03581
( de m\341ximo (m)) showes                                      %2BG911-7 03581
( de la maximum (m)) showfr                                     %3BG911-7 03581
( di massimo (m)) showit                                        %4BG911-7 03581
( of maximum (m)) showjp                                        %5BG911-7 03581

TBIM ( C) show
TBK 0 -60 rmoveto (AB) show
    xcolorl 1 eq {(,10) show} if 0  60 rmoveto TBM

%( f\374r ) showde                                               %0BG911-7 03581
%( for ) showen                                                  %1BG911-7 03581
%( bajo ) showes                                                 %2BG911-7 03581
%( pour ) showfr                                                 %3BG911-7 03581
%( per ) showit                                                  %4BG911-7 03581
%( for ) showjp                                                  %5BG911-7 03581

(; ) show
TELi xchartl get show

%TBIM (, Y) show TBK 0 -60 rmoveto (w) show
%xcolorl 1 eq {(,10) show} if 0 60 rmoveto
%TBM K 0 eq {(=100) show}{(=88,6) show} ifelse

TBIM (, Y) show
TBK 0 -60 rmoveto (m) show 0 60 rmoveto
TBM
(=510_770, ) show

/SPACE 5 array def
/SPACE [(CIEXYZ) (YAB_77) (CIELAB_76) (LABHNU1_79)] def

SPACE xchart4l get show

0 3650 moveto 11000 0 rlineto stroke

/ymaxt 3350 def

/xpos 100 def
/VtextAB   11 array def
/VtextABin 11 array def
/VtextABco 11 array def
/x0 0 def

/xposi 13 array def
xposi  0 xpos x0 add xdel  0.0 mul add put %Code
xposi  1 xpos x0 add xdel  0.5 mul add put %not used
xposi  2 xpos x0 add xdel  2.0 mul add put %X
xposi  3 xpos x0 add xdel  2.9 mul add put %Y
xposi  4 xpos x0 add xdel  3.8 mul add put %Z
xposi  5 xpos x0 add xdel  4.8 mul add put %x
xposi  6 xpos x0 add xdel  5.8 mul add put %y
xposi  7 xpos x0 add xdel  6.8 mul add put %z
xposi  8 xpos x0 add xdel  7.8 mul add put %hxy

xposi  9 xpos x0 add xdel  8.6 mul add put %id
xposi 10 xpos x0 add xdel  9.0 mul add put %lamdad
xposi 11 xpos x0 add xdel  9.6 mul add put %ic
xposi 12 xpos x0 add xdel 10.0 mul add put %lamdac

xchart4l 0 eq {%xchart4l=0
           %0      1  2     3    4    5    6    7    8    9   10
/VtextAB   [(Code) () (X)  (Y)  (Z)  (x)  (y)  (z)  (h)   ()  ()] def
/VtextABin [()     () ()   ()   ()   ()   ()   ()   (xy)  ()  ()] def
/VtextABco [()     () (10) (10) (10) (10) (10) (10) (,10) ()  ()] def
} if %xchart4l=0

xchart4l 1 eq {%xchart4l=1
           %0      1  2     3    4    5     6    7    8    9   10
/VtextAB   [(Code) () (Y)  (A)  (B)  (C)   (a)  (b)  (h)   ()  ()] def
/VtextABin [()     () ()   ()   ()   (AB)  ()   ()   (AB)  ()  ()] def
/VtextABco [()     () (10) (10) (10) (,10) (10) (10) (,10) ()  ()] def
} if %xchart4l=1

xchart4l 2 eq {%xchart4l=2
           %0      1  2     3    4    5     6    7    8    9   10
/VtextAB   [(Code) () (L*) (a*) (b*) (C*)  (a') (b') (h)   ()  ()] def
/VtextABin [()     () ()   ()   ()   (ab)  ()   ()   (ab)  ()  ()] def
/VtextABco [()     () (10) (10) (10) (,10) (10) (10) (,10) ()  ()] def
} if %xchart4l=2

xchart4l 3 eq {%xchart4l=3
           %0         1  2     3    4    5     6    7    8    9   10
/VtextAB   [(CodeD65) () (L*) (A*) (B*) (C*)  (a') (b') (h)   ()  ()] def
/VtextABin [()        () ()   ()   ()   (ab)  ()   ()   (ab)  ()  ()] def
/VtextABco [()        () (10) (10) (10) (,10) (10) (10) (,10) ()  ()] def
} if %xchart4l=3

TBIM
0 1 8 {/i exch def %i=2,8
       TBIM
       xposi i get ymaxt moveto
       VtextAB i get show
       TBK 0 -60 rmoveto
       VtextABin i get show
       xcolorl 1 eq {VtextABco i get show} if
       0  60 rmoveto
      } for %i=2,8

xposi 09 get ymaxt moveto
TM (i) show TBK 0 -60 rmoveto (d) show 0 60 rmoveto
xposi 10 get ymaxt moveto
SM (l) show xchart4l 2 ge { TM (*) show TBIM} if
TBK 0 -60 rmoveto (d) show 0 60 rmoveto

xposi 11 get ymaxt moveto
TM (i) show TBK 0 -60 rmoveto (c) show 0 60 rmoveto
xposi 12 get ymaxt moveto
SM (l) show xchart4l 2 ge { TM (*) show TBIM} if
TBK 0 -60 rmoveto (c) show 0 60 rmoveto

/ymax 2950 def

K 1 eq {%K=1
        0 1 7 {/L exch def %L=0,7 only 0 to 7!
               Xi L Xi L get 0.8859 mul put
               Yi L Yi L get 0.8859 mul put
               Zi L Zi L get 0.8859 mul put
              } for %L=0,7
       } if %K=1

0 1 8 {/L exch def %L=0,8
/X Xi L get def
/Y Yi L get def
/Z Zi L get def

/SUM X Y add Z add def
/XAN X SUM div def
/YAN Y SUM div def
/ZAN Z SUM div def

L 5 le {/LP L def}
       {/LP L 0.2 add def} ifelse
TM
/L3 L 3 mul def
xpos xdel  0 mul add ymax ydel LP mul sub moveto
FARBE L3 get show
TS 0 -40 rmoveto FARBE L3 1 add get show 0 40 rmoveto
xpos xdel  0.5 mul add ymax ydel LP mul sub moveto
TM FARBE L3 2 add get show

xchart4l 0 eq {%xchart4l=0 CIEXYZ

/Hxy Y YW sub X XW sub 0.0001 add atan def

xposi 2 get ymax ydel LP mul sub moveto X cvsshow2
xposi 3 get ymax ydel LP mul sub moveto Y cvsshow2
xposi 4 get ymax ydel LP mul sub moveto Z cvsshow2
xposi 5 get ymax ydel LP mul sub moveto XAN cvsshow4
xposi 6 get ymax ydel LP mul sub moveto YAN cvsshow4
xposi 7 get ymax ydel LP mul sub moveto ZAN cvsshow4
xposi 8 get ymax ydel LP mul sub moveto Hxy cvsshow1

} if %xchart4l=0

xchart4l 1 eq {%xchart4l=1 YAB_77

/AAN X Y 0.0001 add div def
/BAN Z Y 0.0001 add div 0.4 mul neg def
/CAN AAN dup mul
     BAN dup mul add 0.0001 add sqrt def

/A AAN AANW sub Y mul def
/B BAN BANW sub Y mul def
/C A dup mul
   B dup mul add 0.0001 add sqrt def
/HAB B A 0.0001 add atan def

xposi 2 get ymax ydel LP mul sub moveto Y cvsshow2
xposi 3 get ymax ydel LP mul sub moveto A cvsshow2
xposi 4 get ymax ydel LP mul sub moveto B cvsshow2
xposi 5 get ymax ydel LP mul sub moveto C cvsshow2
xposi 6 get ymax ydel LP mul sub moveto AAN cvsshow4
xposi 7 get ymax ydel LP mul sub moveto BAN cvsshow4
xposi 8 get ymax ydel LP mul sub moveto HAB cvsshow1

} if %xchart4l=1

xchart4l 2 eq {%xchart4l=2 CIELAB_76

/D13 1 3 div def
/D841_108 841 108 div def
/D16_116 16 116 div def
/D24_116 24 116 div 3 exp def

X XW div D24_116 gt {/FXXN X XW div 0.0001 add D13 exp def}
                     {/FXXN D841_108 X XW div mul D16_116 add def} ifelse

Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def}
                     {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse

Z ZW div D24_116 gt {/FZZN Z ZW div 0.0001 add D13 exp def}
                     {/FZZN D841_108 Z YW div mul D16_116 add def} ifelse

/CIELS 116. FYYN mul 16. sub def
/CIEAS 500. FXXN FYYN sub mul def
/CIEBS 200. FYYN FZZN sub mul def
/CIECS CIEAS dup mul
       CIEBS dup mul add 0.5 exp def
/CIEHS CIEBS CIEAS 0.000001 add atan def

/a20 1 XW div 0.3333 exp def
/b20 1 ZW div 0.3333 exp 0.4 mul neg def

/a' X Y 0.0001 add div D13 exp a20 mul def
/b' Z Y 0.0001 add div D13 exp b20 mul def

/a'N XW YW 0.0001 add div D13 exp a20 mul def
/b'N ZW YW 0.0001 add div D13 exp b20 mul def

/c' a' a'N sub dup mul b' b'N sub dup mul add 0.0001 add sqrt def

xposi 2 get ymax ydel LP mul sub moveto CIELS cvsshow2
xposi 3 get ymax ydel LP mul sub moveto CIEAS cvsshow2
xposi 4 get ymax ydel LP mul sub moveto CIEBS cvsshow2
xposi 5 get ymax ydel LP mul sub moveto CIECS cvsshow2
xposi 6 get ymax ydel LP mul sub moveto a' cvsshow4
xposi 7 get ymax ydel LP mul sub moveto b' cvsshow4
xposi 8 get ymax ydel LP mul sub moveto CIEHS cvsshow1

} if %xchart4l=2

xchart4l 3 eq {%xchart4l=3 LABNHU1_79

/D13 1 3 div def
/D841_108 841 108 div def
/D16_116 16 116 div def
/D24_116 24 116 div 3 exp def

%L* of CIELAB
Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def}
                    {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse

/HNU1LS 116. FYYN mul 16. sub def

/a'  X Y   0.0001 add div 1 add 15 div def
/b'  Z Y   0.0001 add div 1 6 div add 0.3333 exp 12 div neg def
/a'N XW YW 0.0001 add div 1 add 15 div def
/b'N ZW YW 0.0001 add div 1 6 div add 0.3333 exp 12 div neg def

/c' a' a'N sub dup mul
    b' b'N sub dup mul add 0.0001 add sqrt def

/HNU1AS a' a'N sub 500 mul Y 0.3333 exp mul def
/HNU1BS b' b'N sub 500 mul Y 0.3333 exp mul def
/HNU1CS HNU1AS dup mul
        HNU1BS dup mul add 0.5 exp def
/HNU1HS HNU1BS HNU1AS 0.0001 add atan def

xposi 2 get ymax ydel LP mul sub moveto HNU1LS cvsshow2
xposi 3 get ymax ydel LP mul sub moveto HNU1AS cvsshow2
xposi 4 get ymax ydel LP mul sub moveto HNU1BS cvsshow2
xposi 5 get ymax ydel LP mul sub moveto HNU1CS cvsshow2
xposi 6 get ymax ydel LP mul sub moveto a' cvsshow4
xposi 7 get ymax ydel LP mul sub moveto b' cvsshow4
xposi 8 get ymax ydel LP mul sub moveto HNU1HS cvsshow1

} if %xchart4l=3

xchart4l 4 eq {%xchart4l=4 CIELAB_D65/D50/P45

/D13 1 3 div def
/D841_108 841 108 div def
/D16_116 16 116 div def
/D24_116 24 116 div 3 exp def

Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def}
                    {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse

/CIELS 116. FYYN mul 16. sub def

xcolorl 0 eq {%xcolorl=0
/XWD65_02  95.04 def
/ZWD65_02 108.89 def
/a20 1 XWD65_02 div D13 exp def           %a20,02=0.2191
/b20 1 ZWD65_02 div D13 exp 0.4 mul neg def  %b20,02=-0.08376
            } if %xcolorl=0

%xcolorl 0 eq {%xcolorl=0
%/XWD50_02  96.42 def
%/ZWD50_02  82.49 def
%/a20 1 XWD50_02 div D13 exp def           %a20,02=?
%/b20 1 ZWD50_02 div D13 exp 0.4 mul neg def  %b20,02=?
%            } if %xcolorl=0

%xcolorl 0 eq {%xcolorl=0
%/XWP45_02  99.02 def
%/ZWP45_02  76.07 def
%/a20 1 XWP45_02 div D13 exp def           %a20,02=?
%/b20 1 ZWP45_02 div D13 exp 0.4 mul neg def  %b20,02=?
%            } if %xcolorl=0

xcolorl 1 eq {%xcolorl=1
/XWD65_10  94.81 def
/ZWD65_10 107.33 def
/a20 1 XWD65_10 div D13 exp def           %a20,10=0.2193
/b20 1 ZWD65_10 div D13 exp 0.4 mul neg def  %b20,10=-0.08417
            } if %xcolorl=1

%xcolorl 1 eq {%xcolorl=1
%/XWD50_10  96.72 def
%/ZWD50_10  81.41 def
%/a20 1 XWD50_10 div D13 exp def           %a20,10=?
%/b20 1 ZWD50_10 div D13 exp 0.4 mul neg def  %b20,10=?
%            } if %xcolorl=1

%xcolorl 1 eq {%xcolorl=1
%/XWP45_10  99.80 def
%/ZWP45_10  75.80 def
%/a20 1 XWP45_10 div D13 exp def           %a20,10=?
%/b20 1 ZWP45_10 div D13 exp 0.4 mul neg def  %b20,10=?
%            } if %xcolorl=1

/CIEAS  X  Y  0.0001 add div D13 exp
        XW YW 0.0001 add div D13 exp
        Y 0.0001 add D13 exp mul a20 mul 500 mul def

/CIEBS  Z  Y  0.0001 add div D13 exp
        ZW YW 0.0001 add div D13 exp sub
        Y 0.0001 add D13 exp mul b20 mul 500 mul def

/CIECS CIEAS dup mul CIEBS dup mul add 0.5 exp def
/CIEHS CIEBS CIEAS 0.000001 add atan def

/a' XAN YAN 0.0001 add div D13 exp a20 mul def
/b' ZAN YAN 0.0001 add div D13 exp b20 mul def

/a'N XANW YANW 0.0001 add div D13 exp a20  mul def
/b'N ZANW YANW 0.0001 add div D13 exp b20 mul def

/c' a' a'N sub dup mul
    b' b'N sub dup mul add 0.0001 add sqrt def

xposi 2 get ymax ydel LP mul sub moveto CIELS cvsshow2
xposi 3 get ymax ydel LP mul sub moveto CIEAS cvsshow2
xposi 4 get ymax ydel LP mul sub moveto CIEBS cvsshow2
xposi 5 get ymax ydel LP mul sub moveto CIECS cvsshow2
xposi 6 get ymax ydel LP mul sub moveto a' cvsshow4
xposi 7 get ymax ydel LP mul sub moveto b' cvsshow4
xposi 8 get ymax ydel LP mul sub moveto CIEHS cvsshow1

} if %xchart4l=4

%*********************************************************
/proc_ABC_KNP_FWERTiX
{%BEG proc_ABC_KNP_FWERT

%input FAD,FBD,FCD, KNP
%output FWERTiX/Y/Z (i=1,4)

    kNP 1 ge {/FWERT1X FAD kNP 1 sub get def
              /FWERT1Y FBD kNP 1 sub get def
              /FWERT1Z FCD kNP 1 sub get def}
             {/FWERT1X FAD 0 get def %again 400nm for i=0
              /FWERT1Y FBD 0 get def
              /FWERT1Z FCD 0 get def} ifelse

    /FWERT2X FAD kNP get def
    /FWERT2Y FBD kNP get def
    /FWERT2Z FCD kNP get def

    /FWERT3X FAD kNP 1 add get def
    /FWERT3Y FBD kNP 1 add get def
    /FWERT3Z FCD kNP 1 add get def

    /FWERT4X FAD kNP 2 add get def
    /FWERT4Y FBD kNP 2 add get def
    /FWERT4Z FCD kNP 2 add get def

} bind def %END proc_ABC_KNP_FWERTiX

%*********************************************************
/proc_XIE_TN1
{%BEG proc_XIE_TN1

%input XIE, FWERTiX/Y/Z (i=1,4)
%output TN1

/A1N XIE       1 XIE sub mul XIE 2 sub mul 6 div   def
/A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def
/A3N XIE 1 add XIE       mul 2 XIE sub mul 0.5 mul def
/A4N XIE 1 add XIE       mul XIE 1 sub mul 6 div   def
/FNX A1N FWERT1X mul
     A2N FWERT2X mul add
     A3N FWERT3X mul add
     A4N FWERT4X mul add def
/FNY A1N FWERT1Y mul
     A2N FWERT2Y mul add
     A3N FWERT3Y mul add
     A4N FWERT4Y mul add def
/FNZ A1N FWERT1Z mul
     A2N FWERT2Z mul add
     A3N FWERT3Z mul add
     A4N FWERT4Z mul add def
/TNX FNX FXU1 mul
     FNY FXU2 mul add
     FNZ FXU3 mul add def

} bind def %END proc_XIE_TN1

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

xchart4l 0 eq {%xchart4l=0
       /FF1 X def
       /FF2 Y def
       /FF3 Z def

       /U1 XW def
       /U2 YW def
       /U3 ZW def
       
       /FXU1 FF2 U3 mul FF3 U2 mul sub def
       /FXU2 FF3 U1 mul FF1 U3 mul sub def
       /FXU3 FF1 U2 mul FF2 U1 mul sub def
} if %xchart4l=0

xchart4l 1 eq {%xchart4l=1
       /FF1 Y def
       /FF2 A def
       /FF3 B def

       /U1 YW def
       /U2 XW YW sub def
       /U3 ZW YW sub 0.4 mul neg def
       
       /FXU1 FF2 U3 mul FF3 U2 mul sub def
       /FXU2 FF3 U1 mul FF1 U3 mul sub def
       /FXU3 FF1 U2 mul FF2 U1 mul sub def
} if %xchart4l=1

xchart4l 2 eq {%xchart4l=2
       /FF1 CIELS def
       /FF2 CIEAS def
       /FF3 CIEBS def

       /U1 100 def
       /U2 0 def
       /U3 0 def
       
       /FXU1 FF2 U3 mul FF3 U2 mul sub def
       /FXU2 FF3 U1 mul FF1 U3 mul sub def
       /FXU3 FF1 U2 mul FF2 U1 mul sub def
} if %xchart4l=2

xchart4l 3 eq {%xchart4l=3
       /FF1 HNU1LS def
       /FF2 HNU1AS def
       /FF3 HNU1BS def

       /U1 100 def
       /U2 0 def
       /U3 0 def

       /FXU1 FF2 U3 mul FF3 U2 mul sub def
       /FXU2 FF3 U1 mul FF1 U3 mul sub def
       /FXU3 FF1 U2 mul FF2 U1 mul sub def
} if %xchart4l=3

xchart4l 4 eq {%xchart4l=4
       /FF1 CIELS def
       /FF2 CIEAS def
       /FF3 CIEBS def

       /U1 100 def
       /U2 0 def
       /U3 0 def

       /FXU1 FF2 U3 mul FF3 U2 mul sub def
       /FXU2 FF3 U1 mul FF1 U3 mul sub def
       /FXU3 FF1 U2 mul FF2 U1 mul sub def
} if %xchart4l=4

/INP -1 def
/IPN -1 def
%assumption jump from TN to TP from negativ to positiv
       0 1 60 {/i exch def %i=1,60
               /TN FAD i get FXU1 mul
                   FBD i get FXU2 mul add
                   FCD i get FXU3 mul add def
               /TP FAD i 1 add get FXU1 mul
                   FBD i 1 add get FXU2 mul add
                   FCD i 1 add get FXU3 mul add def
               TN 0 le TP 0 gt and {/INP i def exit} if
              } for %i=1,60

       0 1 60 {/i exch def %i=1,60
               /TN FAD i get FXU1 mul
                   FBD i get FXU2 mul add
                   FCD i get FXU3 mul add neg def
               /TP FAD i 1 add get FXU1 mul
                   FBD i 1 add get FXU2 mul add
                   FCD i 1 add get FXU3 mul add neg def
               TN 0 le TP 0 gt and {/IPN i def exit} if
              } for %i=1,60

TM
xposi 09 get ymax ydel LP mul sub moveto INP cvishow
xposi 11 get ymax ydel LP mul sub moveto IPN cvishow
%*********************************************************
/kNP INP def

kNP 0 ge {%kNP>=0

proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4)

/XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2
/XIE2 1 def

0 1 9 {/mk exch def %mk=0,9
       /XIE XIE1 XIE2 add 0.5 mul def
       proc_XIE_TN1  %input XIE, ouput TN1
       TNX 0 le {/XIE1 XIE def /TN1 TNX def}
                {/XIE2 XIE def /TP1 TNX def} ifelse
      } for %mk=0,9

/XIE XIE1 XIE2 add 0.5 mul def
/DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def

       } if %kNP>=0

%*********************************************************
/kNP IPN def

kNP 0 ge {%kNP>=0

proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4)

/XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2
/XIE2 1 def
/FXU1 FXU1 neg def
/FXU2 FXU2 neg def
/FXU3 FXU3 neg def

0 1 9 {/mk exch def %mk=0,9
       /XIE XIE1 XIE2 add 0.5 mul def
       proc_XIE_TN1  %input XIE, ouput TN1
       TNX 0 le {/XIE1 XIE def /TN1 TNX def}
                {/XIE2 XIE def /TP1 TNX def} ifelse
      } for %mk=0,9

/XIE XIE1 XIE2 add 0.5 mul def
/DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def

       } if %kNP>=0

%*********************************************************
%0 1 1 0 setcmyk_olvcolor
INP 0 ge {%INP>=0,-1
          xposi 10 get ymax ydel LP mul sub moveto
          DOWXIE1 cvishow
          /DOWEL1 DOWXIE1 def /DOWEL1c () def
         }%INP>=0
         {%INP=-1
          xposi 10 get ymax ydel LP mul sub moveto
          DOWXIE2 cvishow (c) show
          /DOWEL1 DOWXIE2 def /DOWEL1c (c) def
         } ifelse %INP>=0,-1

%1 0 1 0 setcmyk_olvcolor
IPN 0 ge {%IPN>=0,-1
          xposi 12 get ymax ydel LP mul sub moveto
          DOWXIE2 cvishow
          /DOWEL2 DOWXIE2 def /DOWEL2c () def
         }%IPN>=0
         {%IPN=-1
          xposi 12 get ymax ydel LP mul sub moveto
          DOWXIE1 cvishow (c) show
          /DOWEL2 DOWXIE1 def /DOWEL2c (c) def
         } ifelse %IPN>=0,-1

0 0 0 1 setcmyk_olvcolor

} for %L=0,7

showpage
grestore

%} for %xchartl=0,7

%} for %xchart4l=0,3

%} for %xcolorl=0,1

%%Trailer