%!PS-Adobe-3.0 EPSF-3.0 AGH81-1N.EPS
%%BoundingBox: 70 85 395 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: farbe.li.tu-berlin.de/AGH8/AGH8.HTM)
 /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1)
 /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik)
 /Keywords (image reproduction, colour devices)
 /Creator (klaus.richter@mac.com)
 /CreationDate (D:2020090112000)
 /ModDate (D:2020090112000)
/DOCINFO pdfmark07
[ /View [ /Fit ]
/DOCVIEW pdfmark07
%END  PDFDE011

% !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I
/Times-Roman findfont dup length dict  begin
 {1 index /FID ne {def} {pop pop} ifelse }forall
 /Encoding ISOLatin1Encoding def
 currentdict end
/Times-ISOL1 exch definefont pop
 
/Times-Italic findfont dup length dict  begin
 {1 index /FID ne {def} {pop pop} ifelse }forall
 /Encoding ISOLatin1Encoding def
 currentdict end
/TimesI-ISOL1 exch definefont pop
 
/Times-Bold findfont dup length dict  begin
 {1 index /FID ne {def} {pop pop} ifelse }forall
 /Encoding ISOLatin1Encoding def
 currentdict end
/TimesB-ISOL1 exch definefont pop
 
/Times-BoldItalic findfont dup length dict  begin
 {1 index /FID ne {def} {pop pop} ifelse }forall
 /Encoding ISOLatin1Encoding def
 currentdict end
/TimesBI-ISOL1 exch definefont pop

/TY {100 /Times-ISOL1 FS} bind def
/TX {130 /Times-ISOL1 FS} bind def
/TV {170 /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

/TIY {100 /TimesI-ISOL1 FS} bind def
/TIX {130 /TimesI-ISOL1 FS} bind def
/TIV {170 /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

/TBY {100 /TimesB-ISOL1 FS} bind def
/TBX {130 /TimesB-ISOL1 FS} bind def
/TBV {170 /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

/TBIY {100 /TimesBI-ISOL1 FS} bind def
/TBIX {130 /TimesBI-ISOL1 FS} bind def
/TBIV {170 /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

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
/A4quer {598 0 translate 90 rotate} def

/LABN [(R) (Y) (G) (C) (B) (M) (R) (N0) (W0) (N1) (W1) (Z1)] def

/XD65  95.05 def
/YD65 100.00 def
/ZD65 108.90 def
/xanD65 XD65 XD65 YD65 add ZD65 add div def
/yanD65 YD65 XD65 YD65 add ZD65 add div def

%60=12*5 for 12 colours and 5 values XYZxy or LCh*(ab) or (AB)
/LCh*60rc 60 array def
/XYZ*60rc 60 array def
/LCh*60rcn 60 array def
/XYZ*60rcn 60 array def
/LCh*60ra 60 array def
/XYZ*60ra 60 array def
/LCh*60la 60 array def
/XYZ*60la 60 array def
/LCh*60na 60 array def
/XYZ*60na 60 array def

%*******************************************************************
/proz_XYZ_LCh* {%BEG proz_XYZ_LCh*
%input XYZaref, output LChab*ref, same name in any case
%output LabC*h (xchart8=0) or LABC*h (xchart8=1)
/XQ Xaref XD65 div def
/YQ Yaref YD65 div def
/ZQ Zaref ZD65 div def
XQ 0 lt {/XQ 0.00000001 def} if
YQ 0 lt {/YQ 0.00000001 def} if
ZQ 0 lt {/ZQ 0.00000001 def} if
/L*ref YQ 0.008856 lt {903.3 YQ mul}
                      {YQ 0.33333333 exp 116 mul 16 sub} ifelse def

xchart8 0 eq {%xchart8=0 LabCh*-CIELAB
/a*ref XQ 0.008856 lt {7.787 XQ mul 16 116 div add}
                      {XQ 0.33333333 exp} ifelse
       YQ 0.008856 lt {7.787 YQ mul 16 116 div add}
                      {YQ 0.33333333 exp} ifelse sub 500 mul def
/b*ref YQ 0.008856 lt {7.787 YQ mul 16 116 div add}
                      {YQ 0.33333333 exp} ifelse
       ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add}
                      {ZQ 0.33333333 exp} ifelse sub 200 mul def
             } if %xchart8=0 LabCh*-CIELAB

xchart8 1 eq {%xchart8=1 LabCh*=LABCh*
              /a*ref XQ YQ sub 250 mul def
              /b*ref YQ ZQ sub 100 mul def
             } if %xchart8=1 LabCh*=LABCh*

/C*ref a*ref dup mul
       b*ref dup mul add sqrt def
/h*ref b*ref a*ref 0.00001 add atan def
C*ref 0.05 le {/h*ref 0 def} if
} bind def %END proz_XYZ_LCh*

%*******************************************************************
/proz_LCh*_XYZ {%BEG proz_LCh*_XYZ
%input  LCh*ref of LabC*h (xchart8=0) or L*ABCh (xchart8=1)
%output XYZref, xyanref

xchart8 0 eq {%xchart8=0
/DecodeXYZ* {dup 6 29 div ge {dup dup mul mul}
            {4 29 div sub 108 841 div mul} ifelse} bind def
/a*ref C*ref h*ref cos mul def
/b*ref C*ref h*ref sin mul def
/X* {L*ref 16 add 116 div
     a*ref 500 div add} bind def
/Y* {L*ref 16 add 116 div} bind def
/Z* {L*ref 16 add 116 div
     b*ref 200 div sub} bind def
/Xref X* DecodeXYZ* XD65 mul def
/Yref Y* DecodeXYZ* YD65 mul def
/Zref Z* DecodeXYZ* ZD65 mul def
} if %xchart8=0

xchart8 1 eq {%xchart8=1
/DecodeXYZ* {dup 6 29 div ge {dup dup mul mul}
            {4 29 div sub 108 841 div mul} ifelse} bind def
/Y* {L*ref 16 add 116 div} bind def
/Yref Y* DecodeXYZ* YD65 mul def

/a*ref C*ref h*ref cos mul def
/b*ref C*ref h*ref sin mul def

/Xref a*ref 250 div XD65 mul Yref XD65 mul YD65 div add def
/Zref Yref ZD65 mul YD65 div b*ref 100 div ZD65 mul sub def
} if %xchart8=1

Xref 0.01 lt {/Xref 0.01 def} if
Yref 0.01 lt {/Yref 0.01 def} if
Zref 0.01 lt {/Zref 0.01 def} if

/SUM Xref Yref add Zref add 0.0001 add def
/xanref Xref SUM div def
/yanref Yref SUM div def

} bind def %END proz_LCh*_XYZ
%*************************************************************************
/proz_XYZnw_D65_xchart7_definition {%BEG proz_XYZnw_D65_xchart7_definition

% achromatic colours
/XLWD65100  95.04 def
/YLWD65100 100.00 def
/ZLWD65100 108.88 def

/XLN001 XLWD65100 100 div def
/YLN001 YLWD65100 100 div def
/ZLN001 ZLWD65100 100 div def

/YrN 0.01 def

/Xnref YrN XLN001 mul def
/Ynref YrN def
/Znref YrN ZLN001 mul def

/Xtref XYZnref_ISO9241-306 xchart7 3 mul 0 add get def 
/Ytref XYZnref_ISO9241-306 xchart7 3 mul 1 add get def
/Ztref XYZnref_ISO9241-306 xchart7 3 mul 2 add get def

/YNil Ytref def
/YNil001 YNil 100 div def

YNil001 6 29 div 3 exp ge
{/FYYn YNil001 0.3333 exp def}
{/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse
/L*Nil 116 FYYn mul 16 sub def

} bind def %END proz_XYZnw_D65_xchart7_definition

%**************************************************************
/proz_XYZ*5in_XYZ*5ou {%BEG proz_XYZ*5in_XYZ*5ou
%for 12 colours x 5 components
%input  XYZ*5in, %output LCh*5ou
%only for xchart5=1 and for 12 colours in 7 hue planes and 2 achromatic
 
%normalization to Ynor=18
xchart9 1 eq {%xchart9=1
        /Xnor XD65 0.18 mul def
        /Ynor YD65 0.18 mul def
        /Znor ZD65 0.18 mul def

        /Xfac1 Xnor Xnor Xtref add div def
        /Yfac1 Ynor Ynor Ytref add div def
        /Zfac1 Znor Znor Ztref add div def

        XYZ*5ou i120 XYZ*5in i120 get Xnor sub Xfac1 mul Xnor add put
        XYZ*5ou i121 XYZ*5in i121 get Ynor sub Yfac1 mul Ynor add put
        XYZ*5ou i122 XYZ*5in i122 get Znor sub Zfac1 mul Znor add put
} if %xchart9=1

%normalization to Ynor=88.6
xchart9 0 eq {%xchart9=0
        /Xnor XD65 0.886 mul def
        /Ynor YD65 0.886 mul def
        /Znor ZD65 0.886 mul def

        /Xfac2 Xnor Xtref sub Xnor div def
        /Yfac2 Ynor Ytref sub Ynor div def
        /Zfac2 Znor Ztref sub Znor div def

        XYZ*60rcn i120 XYZ*60rc i120 get Xfac2 mul Xtref add put
        XYZ*60rcn i121 XYZ*60rc i121 get Yfac2 mul Ytref add put
        XYZ*60rcn i122 XYZ*60rc i122 get Zfac2 mul Ztref add put
} if %xchart9=0

} bind def %END proz_XYZ*60rc_XYZ*60rcn
%***********************************************************
/proz_sRGB_rgb*36X_definitions {%BEG proz_sRGB_rgb*36X_definitions

/XYZ*WCGa_d_0000_0886 36 array def %d, Yw=88,6, Yn=2,50
/XYZ*WCGa_d_0000_0886
[056.43 023.27 000.00 %0 Rd %ANH9_Y10-7N,201003, fehl? Zmin=2.72
 069.24 083.34 002.48 %1 Yd
 012.81 060.07 002.48 %2 Gd
 027.77 066.32 096.48 %3 Cd
 014.96 005.25 094.00 %4 Bd
 071.39 028.52 094.00 %5 Md
 056.43 023.27 000.00 %6 Rd %for hue circle
 000.01 000.01 000.01 %7 N0
 084.21 088.60 096.48 %8 W0
 000.01 000.01 000.01 %9 N1
 095.05 100.00 108.90 %10 W1
 017.11  18.00  19.60 %11 Z1
] def

/XYZ*sRGB_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00
/XYZ*sRGB_d_0000_0886
[036.54 018.84 001.71 %0 Rd %ANH9_Y10-3N,201012
 076.99 092.78 013.85 %1 Yd
 035.76 071.52 011.91 %2 Gd
 053.81 078.74 106.98 %3 Cd
 018.05 007.22 095.06 %4 Bd
 059.28 028.48 096.99 %5 Md
 036.54 018.84 001.71 %6 Rd %for hue circle
 000.01 000.01 000.01 %7 N0
 084.21 088.60 096.48 %8 W0
 000.01 000.01 000.01 %9 N1
 095.05 100.00 108.90 %10 W1
 017.11  18.00  19.60 %11 Z1
] def

/XYZ*Ostw_d_0000_1000 36 array def %m, Yw=100,00, Yn=0,00
/XYZ*Ostw_d_0000_1000
[062.40 041.75 000.76 %0 Rm 561_405  589 %ANI6_Y10-7N,201012
 076.68 082.00 001.27 %1 Ym 520_520c 569
 023.83 065.32 015.00 %2 Gm 475_473  528c
 032.63 058.24 108.12 %3 Cm 405_561  483
 018.36 017.99 107.61 %4 Bm 519c-519 471
 071.20 034.67 093.88 %5 Mm 573_475  528c
 062.40 041.75 000.76 %6 Rm 561_405  589 %for hue circle
 000.01 000.01 000.01 %7 N0
 095.05 100.00 108.90 %8 W0
 000.01 000.01 000.01 %9 N1
 107.29 112.88 122.24 %10 W1
  19.31  20.31  22.00 %11 Z1
] def

/XYZ*Offs_d_0000_0886 36 array def %d, Yw=88,60, Yn=0,00
/XYZ*Offs_d_0000_0886
[029.01 016.24 004.26 %0 Rd %ANJ7_Y11-1N,201012
 063.74 072.69 008.27 %1 Yd
 008.53 020.05 009.58 %2 Gd
 018.74 026.27 069.02 %3 Cd
 006.22 004.51 022.65 %4 Bd
 032.46 016.95 023.04 %5 Md
 029.01 016.24 004.26 %6 Rd %for hue circle
 000.01 000.01 000.01 %7 N0
 084.21 088.60 096.48 %8 W0
 000.01 000.01 000.01 %9 N1
 095.05 100.00 108.90 %10 W1
 017.11  18.00  19.60 %11 Z1
] def

/rgb*36X 36 array def
/rgb*36X
[1 0 0 %0
 1 1 0 %1
 0 1 0 %2
 0 1 1 %3
 0 0 1 %4
 1 0 1 %5
 1 0 0 %6
 0.00 0.00 0.00 %7 N0
 1.00 1.00 1.00 %8 W0
 0.00 0.00 0.00 %9 N1
 1.13 1.13 1.13 %10 W1
 0.18 0.18 0.18 %11 Z1
] def

/tex*36X 36 array def
/tex*36X
[(Rot)     (red)     (R) %0
 (Gelb)    (yellow)  (Y) %1
 (Gr\374n) (green)   (G) %2
 (Cyan)    (cyan)    (C) %3
 (Blau)    (blue)    (B) %4
 (Magenta) (magenta) (M) %5
 (Rot)     (red)     (R) %6
 (Schwarz) (black)   (N) %7
 (Wei\337) (white)   (W) %8
 (Schwarz) (black)   (N1) %9
 (Wei\337) (white)   (W1) %10
 (Grau)    (grey)    (Z1) %11
] def

/XYZnref_ISO9241-306 24 array def
/XYZnref_ISO9241-306 [ %XYZnref wit contrast step according to ISO 9241-306:2018
00.01 00.01 00.01 %0 0288:1
00.60 00.63 00.69 %1 0144:1
01.20 01.26 01.37 %2 0072:1
02.40 02.52 02.74 %3 0036:1 %standard
04.79 05.04 05.49 %4 0018:1
08.58 10.08 10.98 %5 0009:1
19.16 20.16 21.95 %6 04,5:1
38.32 40.32 43.90 %7 2,25:1
] def

/Ynref_ISO9241-306 8 array def
0 1 7 {/i exch def %i=0,7
       /i31 i 3 mul 1 add def
       Ynref_ISO9241-306 i XYZnref_ISO9241-306 i31 get put
      } for %i=0,7

0 1 11 {/sISO exch def
        /i30 sISO 3 mul def
        /i31 i30 1 add def
        /i32 i30 2 add def
        /i50 sISO 5 mul def
        /i51 i50 1 add def
        /i52 i50 2 add def
        /i53 i50 3 add def
        /i54 i50 4 add def
        xchart4 0 eq {%xchart4=0
        XYZ*60rc i50 XYZ*sRGB_d_0000_0886 i30 get put
        XYZ*60rc i51 XYZ*sRGB_d_0000_0886 i31 get put
        XYZ*60rc i52 XYZ*sRGB_d_0000_0886 i32 get put
                     } if %xchart4=0
        xchart4 1 eq {%xchart4=1
        XYZ*60rc i50 XYZ*WCGa_d_0000_0886 i30 get put
        XYZ*60rc i51 XYZ*WCGa_d_0000_0886 i31 get put
        XYZ*60rc i52 XYZ*WCGa_d_0000_0886 i32 get put
                     } if %xchart4=1
        xchart4 2 eq {%xchart4=2
        XYZ*60rc i50 XYZ*Offs_d_0000_0886 i30 get put
        XYZ*60rc i51 XYZ*Offs_d_0000_0886 i31 get put
        XYZ*60rc i52 XYZ*Offs_d_0000_0886 i32 get put
                     } if %xchart4=2
        xchart4 3 eq {%xchart4=3
        XYZ*60rc i50 XYZ*Ostw_d_0000_1000 i30 get 0.8860 mul put
        XYZ*60rc i51 XYZ*Ostw_d_0000_1000 i31 get 0.8860 mul put
        XYZ*60rc i52 XYZ*Ostw_d_0000_1000 i32 get 0.8860 mul put
                     } if %xchart4=3

        /SUM XYZ*60rc i50 get XYZ*60rc i51 get add
                              XYZ*60rc i52 get add 0.0001 add def
        XYZ*60rc i53 XYZ*60rc i50 get SUM div put
        XYZ*60rc i54 XYZ*60rc i51 get SUM div put
      
        %will be replaced, if xchart5=1
        XYZ*60rcn i50 XYZ*60rc i50 get put
        XYZ*60rcn i51 XYZ*60rc i51 get put
        XYZ*60rcn i52 XYZ*60rc i52 get put
        XYZ*60rcn i53 XYZ*60rc i53 get put
        XYZ*60rcn i54 XYZ*60rc i54 get put
       } for %i=0,11

} bind def %END proz_sRGB_rgb*36X_definitions
%***************************************************************
/proz_out_text_ANW_definition {%BEG proz_out_text_ANW_definition
%loop for maximal 5 colours +N +W
0 1 2 {/j exch def %j=0,2 %three components
       /i3j xchartl 3 mul j add def
       rgb*3A j rgb*36X i3j get put
       tex*3A j tex*36X i3j get put
      } for %j=0,2

0 1 4 {/j exch def %j=0,4 %three components
       /i5j xchartl 5 mul j add def
       XYZ*5A  j XYZ*60rc  i5j get put
       LCh*5A  j LCh*60  i5j get put
       XYZ*5An j XYZ*60rcn i5j get put
       LCh*5An j LCh*60n i5j get put
      } for %j=0,4

0 1 2 {/i exch def %i=0,2
       rgb*3N i rgb*36X   i 21 add get put %8x3
       tex*3N i tex*36X   i 21 add get put
       rgb*3W i rgb*36X   i 24 add get put %9x3
       tex*3W i tex*36X   i 24 add get put
      } for %i=0,2

0 1 4 {/i exch def %i=0,4
       XYZ*5N  i XYZ*60rc i 35 add get put %8x5
       LCh*5N  i LCh*60 i 35 add get put
       XYZ*5W  i XYZ*60rc i 40 add get put %9x5
       LCh*5W  i LCh*60 i 40 add get put
       XYZ*5Nn i XYZ*60rcn i 35 add get put %8x5
       LCh*5Nn i LCh*60n i 35 add get put
       XYZ*5Wn i XYZ*60rcn i 40 add get put %9x5
       LCh*5Wn i LCh*60n i 40 add get put
      } for %i=0,4

} bind def %END proz_out_text_ANW_definition
%***********************************************************************
/cviht {dup 0 ge {0.49 add}{0.49 sub} ifelse cvi} def
/cvishow {dup 0 ge {0.5 add} {0.5 sub} ifelse
          cvi 6 string cvs show} def
/cvsshow1 {dup 0 ge {0.05 add} {0.05 sub} ifelse
           10 mul cvi 0.1 mul 7 string cvs show} def
/cvsshow2 {dup 0 ge {0.005 add} {0.005 sub} ifelse
           100 mul cvi 0.01 mul 7 string cvs show} def
/cvsshow3 {dup 0 ge {0.0005 add} {0.0005 sub} ifelse
           1000 mul cvi 0.001 mul 7 string cvs show} def
           
%/tspace {dup abs 1.0 le {(   ) show} if
%         dup dup -1.0 le exch -10 gt and {(  ) show} if
%         dup dup 1.0 gt exch  10 lt and {(   ) show} if
%         dup dup 1.0 gt exch  10 ge and {( ) show} if
%            } bind def
/tspace {} bind def

/trushow {tspace 0.005 add 100 mul truncate 100 div
          10 string cvs show} bind def

/troshow {0.005 add 100 mul truncate 100 div
          10 string cvs show} bind def

/trushow4 {0.00005 add 10000 mul truncate 10000 div
           10 string cvs show} 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 {3 lanind eq {show} {pop} ifelse} bind def
/showfr {2 lanind eq {show} {pop} ifelse} bind def
/showit {4 lanind eq {show} {pop} ifelse} bind def
/showjp {5 lanind eq {show} {pop} ifelse} bind def
/showm  {6 lanind eq {show} {pop} ifelse} bind def
 
/lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def}
               {/lanind1 0 def /lanind2 0 def} ifelse
/xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def}
               {/xcolor1 0 def /xcolor2 0 def} ifelse
/xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def}
               {/xchart1 0 def /xchart2 0 def} ifelse
/lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage
/xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage
/xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage
gsave
%LANINDL2 END

gsave

/xchart4 0 def %0: sRGB,   1: WCGa    3: Offs, 4:Ostw
/xchart6 1 def %0: LCh*-XYZ, 1: XYZ-components
/xchart7 4 def %0 .. 7 for contrast steps
/xchart8 0 def %0: LabC*h, 1: L*ABCh
/xchart9 0 def %0: Yw=89, 1: Yz=18

%produces XYZ*60rc and XYZ*60rcn
proz_sRGB_rgb*36X_definitions
%uses XYZ*60rc
proz_XYZnw_D65_xchart7_definition

/ISYSTEM 1 def

/xchartl xchart1 def

/xchartl 1 def

gsave

/xchart xchartl xchartl 3 idiv 3 mul sub def
/xcolor xchartl 3 idiv def

%start with XYZ_TLS00 for L*N=0


0 1 11 {/sISO exch def
        /i30 sISO 3 mul def
        /i31 i30 1 add def
        /i32 i30 2 add def

        /i50 sISO 5 mul def
        /i51 i50 1 add def
        /i52 i50 2 add def
        /i53 i50 3 add def
        /i54 i50 4 add def

        /Xaref XYZ*60rc i50 get def
        /Yaref XYZ*60rc i51 get def
        /Zaref XYZ*60rc i52 get def

        %input XYZaref, output LChab*ref, same name in any case
        %output LabC*h (xchart8=0) or LABC*h (xchart8=1)
        proz_XYZ_LCh*

        LCh*60rc i50 L*ref put
        LCh*60rc i51 C*ref put
        LCh*60rc i52 h*ref put
        LCh*60rc i53 a*ref put
        LCh*60rc i54 b*ref put

       } for %i=0,11

/jN 07 5 mul def
/L*N LCh*60rc jN get def
/A*N LCh*60rc jN 1 add get def
/B*N LCh*60rc jN 2 add get def

/jW 08 5 mul def
/L*W LCh*60rc jW get def
/A*W LCh*60rc jW 1 add get def
/B*W LCh*60rc jW 2 add get def

/YN XYZ*60rc jN 1 add get def

% achromatic colours
/XLWD65100  95.04 def
/YLWD65100 100.00 def
/ZLWD65100 108.88 def

/XLW089 XYZ*60rc 24 get def
/YLW089 XYZ*60rc 25 get def
/ZLW089 XYZ*60rc 26 get def

/XLN001 XLWD65100 100 div def
/YLN001 YLWD65100 100 div def
/ZLN001 ZLWD65100 100 div def


4 /Times-ISOL1 FS
72 86 moveto
( AGH81-1N, ) show

72 90 translate

0.01 MM dup scale
/xwide 11350 def
/ywide 04000 def

15 setlinewidth
1 setgray
0 0  moveto xwide 0 rlineto 0 ywide rlineto
        xwide neg 0 rlineto closepath fill
0 setgray
0 0  moveto xwide 0 rlineto 0 ywide rlineto
        xwide neg 0 rlineto closepath stroke

/xposi 13 array def
/xposi [%BEG xposi
%0   1    2    3    4    5    6    7    8    9    10   11    12
%r   g    b    L*   C*   h    a*   b*   X    Y    Z    x     y
0800 1400 2000 2600 3500 4500 5200 6200 7200 8000 8800 9600 10400
       ] def %xposi

0 1 11 {/i exch def
        /i50 i 5 mul def
        /i51 i 5 mul 1 add def
        /i52 i 5 mul 2 add def
        /i53 i 5 mul 3 add def
        /i54 i 5 mul 4 add def

        LCh*60ra i50 LCh*60rc i50 get put
        LCh*60ra i51 LCh*60rc i51 get put
        LCh*60ra i52 LCh*60rc i52 get put
        LCh*60ra i53 LCh*60rc i53 get put
        LCh*60ra i54 LCh*60rc i54 get put

        XYZ*60ra  i50 XYZ*60rc  i50 get put
        XYZ*60ra  i51 XYZ*60rc  i51 get put
        XYZ*60ra  i52 XYZ*60rc  i52 get put
        XYZ*60ra  i53 XYZ*60rc  i53 get put
        XYZ*60ra  i54 XYZ*60rc  i54 get put
       } for %i=0,11

/Xwref089 XYZ*60ra 40 get def
/Ywref089 XYZ*60ra 41 get def
/Zwref089 XYZ*60ra 42 get def

/YrN 0.01 def

/Xnref089 YrN XLN001 mul def
/Ynref089 YrN def
/Znref089 YrN ZLN001 mul def

0 1 11 {/i exch def
         /i50 i 5 mul def
         /i51 i 5 mul 1 add def
         /i52 i 5 mul 2 add def
         /i53 i 5 mul 3 add def
         /i54 i 5 mul 4 add def

         XYZ*60na i50 XYZ*60ra i50 get Xnref089 sub put
         XYZ*60na i51 XYZ*60ra i51 get Ynref089 sub put
         XYZ*60na i52 XYZ*60ra i52 get Znref089 sub put
         
         /SUM XYZ*60na i50 get XYZ*60na i51 get add
                               XYZ*60na i52 get add 0.0001 add def
         XYZ*60na i53 XYZ*60na i50 get SUM div put
         XYZ*60na i54 XYZ*60na i51 get SUM div put

         /Xaref XYZ*60na i50 get def
         /Yaref XYZ*60na i51 get def
         /Zaref XYZ*60na i52 get def

         %input XYZaref, output LChab*ref, same name in any case
         %output LabC*h (xchart8=0) or LABC*h (xchart8=1)
         proz_XYZ_LCh*

         LCh*60na i50 L*ref put
         LCh*60na i51 C*ref put
         LCh*60na i52 h*ref put
         LCh*60na i53 a*ref put
         LCh*60na i54 b*ref put

        } for %i=0,11

/CLab* 14 array def
/CL*AB 14 array def
/CLnam 14 array def
%       0    1   2   3    4    5    6    7    8   9   10  11  12
/CLab* [( r) (g) (b) (L*) (C*) (h) (a*)  (b*) (X) (Y) (Z) (x) (y)] def
/CL*AB [( r) (g) (b) (L*) (C)  (h) (A)   (B)  (X) (Y) (Z) (x) (y)] def

/ILab* 14 array def
/IL*AB 14 array def
/ILind 14 array def
%       0    1   2   3   4      5      6   7   8   9   10  11  12 
/ILab* [( d) (d) (d) (d) (ab,d) (ab,d) (d) (d) (d) (d) (d) (d) (d)] def
/IL*AB [( d) (d) (d) (d) (AB,d) (AB,d) (d) (d) (d) (d) (d) (d) (d)] def

0 1 12 {/i exch def %i=0,12
        xchart8 0 eq {CLnam i CLab* i get put
                      ILind i ILab* i get put}
                     {CLnam i CL*AB i get put
                      ILind i IL*AB i get put} ifelse
       } for %i=0,12

/YrN 2.52 def

%Reference black and white         
xchart7 0 eq {/Xtref089 0.00 def
         /Ytref089 0.00 def
         /Ztref089 0.00 def
         /PLref (OLS00) def
         /TLref (TLS00) def} if
         
xchart7 1 eq {/Xtref089 YrN 0.25 mul XLN001 mul def
         /Ytref089 YrN 0.25 mul def
         /Ztref089 YrN 0.25 mul ZLN001 mul def
         /PLref (OLS06) def
         /TLref (TLS06) def} if
         
xchart7 2 eq {/Xtref089 YrN 0.50 mul XLN001 mul def
         /Ytref089 YrN 0.50 mul def
         /Ztref089 YrN 0.50 mul ZLN001 mul def
         /PLref (OLS11) def
         /TLref (TLS11) def} if
         
xchart7 3 eq {/Xtref089 YrN 1.00 mul XLN001 mul def
         /Ytref089 YrN 1.00 mul def
         /Ztref089 YrN 1.00 mul ZLN001 mul def
         /PLref (OLS18) def
         /TLref (TLS18) def} if
         
xchart7 4 eq {/Xtref089 YrN 2.00 mul XLN001 mul def
         /Ytref089 YrN 2.00 mul def
         /Ztref089 YrN 2.00 mul ZLN001 mul def
         /PLref (OLS27) def
         /TLref (TLS27) def} if
         
xchart7 5 eq {/Xtref089 YrN 4.00 mul XLN001 mul def
         /Ytref089 YrN 4.00 mul def
         /Ztref089 YrN 4.00 mul ZLN001 mul def
         /PLref (OLS38) def
         /TLref (TLS38) def} if
         
xchart7 6 eq {/Xtref089 YrN 8.00 mul XLN001 mul def
         /Ytref089 YrN 8.00 mul def
         /Ztref089 YrN 8.00 mul ZLN001 mul def
         /PLref (OLS52) def
         /TLref (TLS52) def} if
         
xchart7 7 eq {/Xtref089 YrN 16.00 mul XLN001 mul def
         /Ytref089 YrN 16.00 mul def
         /Ztref089 YrN 16.00 mul ZLN001 mul def
         /PLref (OLS70) def
         /TLref (TLS70) def} if

/YNil Ytref089 def
/YNil001 YNil 100 div def

YNil001 6 29 div 3 exp ge
{/FYYn YNil001 0.3333 exp def}
{/FYYn 841 108 div YNil001 mul 4 29 div add def} ifelse
/L*Nil 116 FYYn mul 16 sub def

%**************************************************************
/proz_XYZiref_XYZaref {%BEG proz_XYZiref_XYZaref
%for 12 colours x 5 components
%input  XYZiref, %output XYZaref
%only for xchart5=1 and for 12 colours in 7 hue planes and 2 achromatic
 
%normalization to Ynor=18
xchart9 1 eq {%xchart9=1
        /Xnor XD65 0.18 mul def
        /Ynor YD65 0.18 mul def
        /Znor ZD65 0.18 mul def

        /Xfac1 Xnor Xnor Xtref add div def
        /Yfac1 Ynor Ynor Ytref add div def
        /Zfac1 Znor Znor Ztref add div def

        /Xaref Xiref Xnor sub Xfac1 mul Xnor add def
        /Yaref Yiref Ynor sub Yfac1 mul Ynor add def
        /Zaref Ziref Znor sub Zfac1 mul Znor add def
} if %xchart9=1

%normalization to Ynor=88.6
xchart9 0 eq {%xchart9=0
        /Xnor XD65 0.886 mul def
        /Ynor YD65 0.886 mul def
        /Znor ZD65 0.886 mul def

        /Xfac2 Xnor Xtref sub Xnor div def
        /Yfac2 Ynor Ytref sub Ynor div def
        /Zfac2 Znor Ztref sub Znor div def

        /Xaref Xiref Xfac2 mul Xtref add def
        /Yaref Yiref Yfac2 mul Ytref add def
        /Zaref Ziref Zfac2 mul Ztref add def
} if %xchart9=0

} bind def %END proz_XYZiref_XYZaref
%***********************************************************

0 1 11 {/i exch def
        /i50 i 5 mul def
        /i51 i 5 mul 1 add def
        /i52 i 5 mul 2 add def
        /i53 i 5 mul 3 add def
        /i54 i 5 mul 4 add def

        /Xiref XYZ*60ra i50 get def
        /Yiref XYZ*60ra i51 get def
        /Ziref XYZ*60ra i52 get def

        %input  XYZiref, %output XYZaref
        proz_XYZiref_XYZaref

        XYZ*60na i50 Xaref Xtref sub put
        XYZ*60na i51 Yaref Ytref sub put
        XYZ*60na i52 Zaref Ztref sub put

        XYZ*60la i50 Xaref put
        XYZ*60la i51 Yaref put
        XYZ*60la i52 Zaref put
        /SUM Xaref Yaref add Zaref add 0.0001 add def
        XYZ*60la i53 Xaref SUM div put
        XYZ*60la i54 Yaref SUM div put

        %input XYZaref, output LChab*ref, same name in any case
        %output LabC*h (xchart8=0) or LABC*h (xchart8=1)
        proz_XYZ_LCh*

        LCh*60la i50 L*ref put
        LCh*60la i51 C*ref put
        LCh*60la i52 h*ref put
        LCh*60la i53 a*ref put
        LCh*60la i54 b*ref put

     } for %i=0,11

/iy 3450 def
050 iy 300 add moveto
TBK
xchart7 0 eq {(TLS00) show} if
xchart7 1 eq {(TLS06) show} if
xchart7 2 eq {(TLS11) show} if
xchart7 3 eq {(TLS18) show} if
xchart7 4 eq {(TLS27) show} if
xchart7 5 eq {(TLS38) show} if
xchart7 6 eq {(TLS52) show} if
xchart7 7 eq {(TLS70) show} if

TBK
( Reflection colorimetry, System ) showen
(\255Reflexionsfarbmetrik, System ) showde
xchart4 0 eq {(sRGB, ) show}
             {(WCGa, ) show} ifelse

xchart8 0 eq {TBK (CIELAB\255) show TBIK (LabC*h, ) show}
             {TBK (L*ABJND\255) show TBIK (L*ABCh, ) show} ifelse

%(XYZ, ) show
TBIK
(Y) show
0 -40 rmoveto TBS (Nn) show 0 40 rmoveto 
TBK ( = ) show YNil cvsshow2
TBK
(, ) show
TBIK
(L*) show
0 -40 rmoveto TBS (Nn) show 0 40 rmoveto
TBK ( = ) show L*Nil cvsshow2
TBIK
(, Y) show
0 -40 rmoveto TBS
xchart9 0 eq {(Wa) show}{(Za) show} ifelse 0 40 rmoveto
TBK ( = ) show
xchart9 0 eq {(88,6) show}
             {(18,0) show} ifelse

0 iy 200 add moveto xwide 0 rlineto stroke

/iy iy 50 sub def
100 iy moveto
lanind 0 eq {-60 0 rmoveto (Farbe) TBK show} if
lanind 1 eq {-70 0 rmoveto (Colour) TBK show} if
lanind 2 eq {-80 0 rmoveto (Couleur) TBK show} if

%known: xpos, CLnam, Cind
xchart6 0 eq {%xchart6=0
              0 1 12 {/i exch def %i=0,12
                      xposi i get iy moveto CLnam i get TBIK show
                      0 -40 rmoveto TBS ILind  i get 0 40 rmoveto
                     } for %i=0,12
             } if %xchart6=0
xchart6 1 eq {%xchart6=1
              0 1 2 {/i exch def %i=0,2
                      xposi i get iy moveto CLnam i get TBIK show
                      0 -40 rmoveto TBS ILind  i get 0 40 rmoveto
                     } for %i=0,2
             } if %xchart6=1
xchart6 1 eq {%xchart6=1
              11 1 12 {/i exch def %i=11,12
                       xposi i get iy moveto CLnam i get TBIK show
                       0 -40 rmoveto TBS ILind  i get 0 40 rmoveto
                      } for %i=11,12
             } if %xchart6=1
xchart6 1 eq {%xchart6=1
              xposi 4 get iy moveto CLnam 08 get TBIK show
              0 -40 rmoveto TBS ILind  8 get 0 40 rmoveto
              xposi 4 get 2300 add iy moveto CLnam 09 get TBIK show
              0 -40 rmoveto TBS ILind  9 get 0 40 rmoveto
              xposi 4 get 4600 add iy moveto CLnam 10 get TBIK show
              0 -40 rmoveto TBS ILind  9 get 0 40 rmoveto
             } if %xchart6=1

0 1 11 {/i exch def
       /i30 i 3 mul def
       /i31 i 3 mul 1 add def
       /i32 i 3 mul 2 add def

       /i50 i 5 mul def
       /i51 i 5 mul 1 add def
       /i52 i 5 mul 2 add def
       /i53 i 5 mul 3 add def
       /i54 i 5 mul 4 add def

        /iy 3100 i 5 le {i} {i 1 sub} ifelse 300 mul sub def
        i 6 ne {%i 6 ne
        100 iy moveto ( ) TBIK LABN i get show
        TBS 0 -40 rmoveto (d) show 0 40 rmoveto

        TK
        xposi 00 get iy moveto rgb*36X i30 get cvsshow3
        xposi 01 get iy moveto rgb*36X i31 get cvsshow3
        xposi 02 get iy moveto rgb*36X i32 get cvsshow3

xchart6 0 eq {%xchart6=0        
        xposi 03 get iy moveto LCh*60la i50 get trushow
        xposi 04 get iy moveto LCh*60la i51 get trushow
        xposi 05 get iy moveto LCh*60la i52 get cvishow
        xposi 06 get iy moveto LCh*60la i53 get trushow
        xposi 07 get iy moveto LCh*60la i54 get trushow

        xposi 08 get iy moveto XYZ*60la i50 get trushow
%                     (\050=) nshow
%                     XYZ*60la i50 get Xtref089 sub troshow (+) show
%                     Xtref089 troshow (\051) show

        xposi 09 get iy moveto XYZ*60la i51 get trushow
%                     (\050=) nshow
%                     XYZ*60la i51 get Ytref089 sub troshow (+) show
%                     Ytref089 troshow (\051) show

        xposi 10 get iy moveto XYZ*60la i52 get trushow
%                     (\050=) nshow
%                     XYZ*60la i52 get Ztref089 sub troshow (+) show
%                     Ztref089 troshow (\051) show
          } if %xchart6=0

xchart6 1 eq {%xchart6=1

        xposi 03 get iy moveto XYZ*60la i50 get trushow
                     (\050=) show
                     XYZ*60la i50 get Xtref089 sub troshow (+) show
                     Xtref089 troshow (\051) show

        xposi 03 get 2300 add iy moveto XYZ*60la i51 get trushow
                     (\050=) show
                     XYZ*60la i51 get Ytref089 sub troshow (+) show
                     Ytref089 troshow (\051) show

        xposi 03 get 4600 add iy moveto XYZ*60la i52 get trushow
                     (\050=) show
                     XYZ*60la i52 get Ztref089 sub troshow (+) show
                     Ztref089 troshow (\051) show
          } if %xchart6=1

        xposi 11 get iy moveto XYZ*60la i53 get trushow4
        xposi 12 get iy moveto XYZ*60la i54 get trushow4

                    } if %i 6 ne
       } for

showpage

%%Trailer