%!PS-Adobe-3.0 EPSF-3.0 IG860-7A
%%BoundingBox: 70 83 800 610

%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: Image Technology)
  /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1)
  /Subject (goto: http://www.ps.bam.de or http://130.149.60.445/~farbmetrik)
  /Keywords (image reproduction, colour devices)
  /Creator (klaus.richter@mac.com)
  /CreationDate (D:2009090112000)
  /ModDate (D:2009090112000)
/DOCINFO pdfmark07
[ /View [ /FitB ]
/DOCVIEW pdfmark07
%END  PDFDE011

/ColSpxL 0 def /DEintp 1 def %Early binding
/sggray where      {pop /slgray {sggray} bind def}
                       {/slgray {setgray} bind def} ifelse
/sgcmykcolor where {pop /slcmykcolor {sgcmykcolor} bind def}
                       {/slcmykcolor {setcmykcolor} bind def} ifelse
/sgrgbcolor where  {pop /slrgbcolor {sgrgbcolor} bind def}
                       {/slrgbcolor {setrgbcolor} bind def} ifelse
/ColSpxG where  {pop /ColSpx {ColSpxG} bind def}
                    {/ColSpx {ColSpxL} bind def} ifelse
                  
/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-Bold findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/CourierB-ISOL1 exch definefont pop

/TK {250 /Times-ISOL1 FS} bind def
/TM {300 /Times-ISOL1 FS} bind def
/TG {350 /Times-ISOL1 FS} bind def

/TIK {250 /TimesI-ISOL1 FS} bind def
/TIM {300 /TimesI-ISOL1 FS} bind def
/TIG {350 /TimesI-ISOL1 FS} bind def

/TBK {250 /TimesB-ISOL1 FS} bind def
/TBM {300 /TimesB-ISOL1 FS} bind def
/TBG {350 /TimesB-ISOL1 FS} bind def

/TBIK {250 /TimesBI-ISOL1 FS} bind def
/TBIM {300 /TimesBI-ISOL1 FS} bind def
/TBIG {350 /TimesBI-ISOL1 FS} bind def

/CKK {200 /Courier-ISOL1 FS} bind def
/CK {250 /Courier-ISOL1 FS} bind def
/CM {300 /Courier-ISOL1 FS} bind def
/CG {350 /Courier-ISOL1 FS} bind def

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

%*****************************************************************************
%BEG IG86Y/Y10-7A.EPS, ident. for NP-(*ioL), FP-files (*ioL) 20090901
%*****************************************************************************
%Data (FRS09_92a) def

/proc_LAB*ioL {%BEG Procedure proc_LAB*ioL

%requires ISRL*ioL=0,1,3

/RJGBLAB* 12 array def
/RJGBLAB*[
  39.92  58.74  27.99 % R CIE No.09 elementary colours in LAB, D65
  81.26  -2.89  71.56 % J CIE No.10
  52.23 -42.42  13.60 % G CIE No.11
  30.57   1.41 -46.47 % B CIE No.12
] def

/LAB*  132 array def %12x3=36 including N,W + 16x3=48 elementary system + 16x3=48 device system
/LAB*a 132 array def
/LAB*Hx 13 array def %0_to_6 8_to_12 for device and elemetary colours

/LAB*00 24 array def
/LAB*01 24 array def
/LAB*02 24 array def
/LAB*03 24 array def
/LAB*04 24 array def
/LAB*05 24 array def
/LAB*06 24 array def
/LAB*07 24 array def

/LAB*TE %not used
[(ORS18) (TLS00) (FRS06) (TSL18) (NLS00) (NLS18) (SRS18) (TLS70)
 (TLS00) (TLS06) (TLS11) (TLS18) (TLS27) (TLS38) (TLS52) (TLS70)
 (OLS00) (OLS06) (OLS11) (OLS18) (OLS27) (OLS38) (OLS52) (OLS70)] def

%FRS09_92.DAT: measured data are not dapated here; 55 lines, 141:195
ISRL*ioL 0 eq { %ISRL*ioL=0
/LAB*00 [%D=Device OYLCVMO+NW %for Offset Reflective System (ORS18)
%47.94  65.31  52.07 %O   0
%90.37 -11.16  96.17 %Y   1
%50.90 -62.97  36.71 %L   2
%58.62 -30.63 -42.75 %C   3  %see TABle 1 of ISO/IEC 15775:1999-12
%25.72  31.45 -44.36 %V   4 
%48.13  75.20 -6.80  %M   5
%18.01  0.50  -0.47  %N   7 
%95.41 -0.99   4.76  %W   8

%ZE45N_CM_OF_080602_1080.TXT, 1080 colours, 20080602, Matching OFF $ (FRS09_92)
%100 x LAB* %#1000 x (r g b c m y 0) %nr. pos $
0035.06 0060.53 0039.66 %#1000 0000 0000 0000 1000 1000 0000 %0648 S19 %O1 0 $
0083.77 -004.50 0103.15 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y1 1 $
0044.13 -062.11 0043.56 %#0000 1000 0000 1000 0000 1000 0000 %0072 I01 %L1 2 $
0052.66 -028.56 -036.99 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C1 3 $
0014.15 0050.78 -062.60 %#0000 0000 1000 1000 1000 0000 0000 %0008 A09 %V1 4 $
0037.37 0079.18 -037.93 %#1000 0000 1000 0000 1000 0000 0000 %0656 S27 %M1 5 $
0008.58 0000.46 -003.35 %#0000 0000 0000 1000 1000 1000 0000 %0000 A01 %N1 6 $
0092.02 0000.69 -006.48 %#1000 1000 1000 0000 0000 0000 0000 %0728 a27 %W1 7 $
%$
%0035.87 0060.76 0039.80 %#1000 0000 0000 0000 1000 1000 0000 %0801 j01 %O2 0 $
%0083.76 -004.64 0102.56 %#1000 1000 0000 0000 0000 1000 0000 %0882 j10 %Y2 1 $
%0043.65 -062.07 0043.08 %#0000 1000 0000 1000 0000 1000 0000 %0963 j19 %L2 2 $
%0052.82 -028.73 -036.80 %#0000 1000 1000 1000 0000 0000 0000 %0737 b09 %C2 3 $
%0013.33 0052.23 -063.40 %#0000 0000 1000 1000 1000 0000 0000 %0818 b18 %V2 4 $
%0037.56 0079.25 -037.75 %#1000 0000 1000 0000 1000 0000 0000 %0899 b27 %M2 5 $
%0008.16 0000.62 -003.84 %#0000 0000 0000 1000 1000 1000 0000 %0809 j09 %N2 6 $
%0092.07 0000.62 -006.26 %#1000 1000 1000 0000 0000 0000 0000 %0729 b01 %W2 7 $
%$

%ZE45N_CM_OF_080602_1080.TXT, 1080 colours, 20080602, Matching OFF $ (FRS09_92a)
%100 x LAB*a %#1000 x (r g b c m y 0) %nr. pos $
%0035.06 0059.99 0044.01 %#1000 0000 0000 0000 1000 1000 0000 %0648 S19 %O1 0 $
%0083.77 -005.16 0109.32 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y1 1 $
%0044.13 -062.67 0048.25 %#0000 1000 0000 1000 0000 1000 0000 %0072 I01 %L1 2 $
%0052.66 -029.15 -031.98 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C1 3 $
%0014.15 0050.30 -059.03 %#0000 0000 1000 1000 1000 0000 0000 %0008 A09 %V1 4 $
%0037.37 0078.64 -033.49 %#1000 0000 1000 0000 1000 0000 0000 %0656 S27 %M1 5 $
%0008.58 0000.00 0000.00 %#0000 0000 0000 1000 1000 1000 0000 %0000 A01 %N1 6 $
%0092.02 0000.00 0000.00 %#1000 1000 1000 0000 0000 0000 0000 %0728 a27 %W1 7 $
%$
%0035.87 0060.13 0044.44 %#1000 0000 0000 0000 1000 1000 0000 %0801 j01 %O2 0 $
%0083.76 -005.27 0108.59 %#1000 1000 0000 0000 0000 1000 0000 %0882 j10 %Y2 1 $
%0043.65 -062.69 0047.95 %#0000 1000 0000 1000 0000 1000 0000 %0963 j19 %L2 2 $
%0052.82 -029.35 -031.67 %#0000 1000 1000 1000 0000 0000 0000 %0737 b09 %C2 3 $
%0013.33 0051.60 -059.41 %#0000 0000 1000 1000 1000 0000 0000 %0818 b18 %V2 4 $
%0037.56 0078.62 -033.06 %#1000 0000 1000 0000 1000 0000 0000 %0899 b27 %M2 5 $
%0008.16 0000.00 0000.00 %#0000 0000 0000 1000 1000 1000 0000 %0809 j09 %N2 6 $
%0092.07 0000.00 0000.00 %#1000 1000 1000 0000 0000 0000 0000 %0729 b01 %W2 7 $
%$

] def %OYLCVMO+NW

/LAB*01 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS00)
50.50  76.92  64.55 %O   0
92.66 -20.70  90.75 %Y   1
83.63 -82.76  79.90 %L   2
86.88 -46.17 -13.56 %C   3  %see TABle 1 of ISO/IEC 15775:1999-12
30.39  76.06 -103.6 %V   4 corected
57.30  94.35 -58.42 %M   5 corected
00.01   0.00   0.00 %N   7 corected
95.41   0.00   0.00 %W   8
] def %OYLCVMO+NW

/LAB*02 [%D=Device OYLCVMO+NW %for Device Reflective System (FRS06. FUJI)
32.57  61.14  43.72 %8-0-0 O-W 0 olv* setrgbcolor  64
82.73  -3.51 109.24 %8-8-0 Y-W 1 olv* setrgbcolor  32
39.43 -62.87  42.80 %0-8-0 L-W 2 olv* setrgbcolor  80
47.86 -27.73 -37.62 %0-8-8 C-W 3 olv* setrgbcolor   0 actual printer
10.16  53.56 -62.92 %0-0-8 V-W 4 olv* setrgbcolor  96
34.50  79.53 -36.77 %8-0-8 M-W 5 olv* setrgbcolor  16
06.25  -1.63  -1.73 %0-0-0 N-W 6 olv* setrgbcolor  48
91.97  -0.18  -5.11 %8-8-8 A-W 7 olv* setrgbcolor
] def %OYLCVMO+NW

/LAB*03 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS18)
52.76  71.63  49.88 %O   0
92.74 -20.03  84.97 %Y   1
84.00 -78.99  73.94 %L   2
87.14 -44.42 -13.12 %C   3 %see TABle 1 of ISO/IEC 15775:1999-12
35.47  64.92 -95.07 %V   4 %see TABle X of ISO/IEC TR 24705:2005-10
59.01  89.33 -55.68 %M   5 %see Annex A, www.ps.bam.de/RLABE.PDF
18.01   0.00   0.00 %N   6 Yr=2.52
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*04 [%Natural symmetric Luminous System OYLCVMO+NW (NLS00)
31.81  82.62  47.70 %O   0 95.40/2 = 47.70
63.61  00.00  95.40 %Y   1 C*ab = 95.40
31.81 -82.62  47.70 %L   2 0.866 C*ab = 0.866 * 95.40 = 82.62
63.61 -82.62 -47.70 %C   3 delta L*=25.8
31.81  00.00 -95.40 %V   4 43.81=00.01+31.80
63.61  82.62 -47.70 %M   5 69.61=00.01+2*31.80
00.01   0.00   0.00 %N   6 95.40/3 = 31.80
95.41   0.00   0.00 %W   7 95.40*(2/3) = 63.60
] def %CVMOYLC+NW

/LAB*05 [%Natural symmetric Luminous System OYLCVMO+NW (NLS18)
43.81  67.03  38.70 %O   0 77.40/2 = 38.70
69.61  00.00  77.40 %Y   1 C*ab = 77.40
43.81 -67.03  38.70 %L   2 0.866 C*ab = 67.03
69.61 -67.03 -38.70 %C   3 delta L*=25.8
43.81  00.00 -77.40 %V   4 43.81=18.01+25.80
69.61  67.03 -38.70 %M   5 69.61=18.01+2*25.80
18.01   0.00   0.00 %N   6 18.01+77.40/3 = 18.01+25.80=43.81
95.41   0.00   0.00 %W   7 18.01+77.40*(2/3) = 18.01+51.60=69.61
] def %CVMOYLC+NW

/LAB*06 [%Symmetric Reflective System OYLCVMO+NW (SRS18) 
56.71  67.03  38.70 %O   0 18.01 + 77.40*0.5 = 18.01 + 38.70 = 56.71
56.71  00.00  77.40 %Y   1 C*ab = 77.40
56.71 -67.03  38.70 %L   2 0.866 C*ab = 67.03
56.71 -67.03 -38.70 %C   3 delta L*=25.8
56.71  00.00 -77.40 %V   4 43.81=18.01+25.80
56.71  67.03 -38.70 %M   5 69.61=18.01+2*25.80
18.01   0.00   0.00 %N   6
95.41   0.00   0.00 %W   7 95.41=18.01+3*25.80
] def %CVMOYLC+NW

/LAB*07 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS70)
76.43  26.27  10.57 %O   0
93.93 -10.77  34.63 %Y   1
89.32 -35.81  27.64 %L   2
90.93 -21.96  -7.08 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
72.10  15.76 -35.64 %V   4
78.50  37.52 -25.24 %M   5
69.70   0.00   0.00 %N   6 Yr=40.32
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

} if %ISRL*ioL=0

ISRL*ioL 1 eq { %ISRL*ioL=1

/LAB*00 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS00)
50.50  76.91  64.55 %O   0
92.66 -20.68  90.75 %Y   1
83.62 -82.74  79.90 %L   2
86.88 -46.15 -13.54 %C   3 %see TABle 1 of ISO/IEC 15775:1999-12
30.39  76.06 -103.6 %V   4 %see TABle X of ISO/IEC TR 24705:2005-10
57.31  94.35 -58.40 %M   5 %see Annex A, www.ps.bam.de/RLABE.PDF
00.01   0.00   0.00 %N   6 Yr=0.00
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*01 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS06)
51.08  75.54  59.69 %O   0
92.68 -20.51  89.24 %Y   1
83.72 -81.79  78.32 %L   2
86.94 -45.72 -13.43 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
31.77  72.91 -101.3 %V   4
57.74  93.06 -57.71 %M   5 
05.69   0.00   0.00 %N   6 Yr=0.63
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*02 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS11)
51.65  74.20  55.83 %O   0
92.70 -20.35  87.77 %Y   1
83.81 -80.85  76.81 %L   2
87.01 -45.28 -13.33 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
33.06  70.03 -99.09 %V   4
58.17  91.80 -57.03 %M   5 
10.99   0.00   0.00 %N   6 Yr=1.26
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*03 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS18)
52.76  71.63  49.88 %O   0
92.74 -20.03  84.97 %Y   1
84.00 -78.99  73.94 %L   2
87.14 -44.42 -13.12 %C   3 %see TABle 1 of ISO/IEC 15775:1999-12
35.47  64.92 -95.07 %V   4 %see TABle X of ISO/IEC TR 24705:2005-10
59.01  89.33 -55.68 %M   5 %see Annex A, www.ps.bam.de/RLABE.PDF
18.01   0.00   0.00 %N   6 Yr=2.52
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*04 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS27)
54.88  66.84  41.69 %O   0
92.82 -19.39  79.81 %Y   1
84.37 -75.39  68.76 %L   2
87.40 -42.72 -12.70 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
39.70  56.66 -88.02 %V   4
60.64  84.61 -53.08 %M   5 
26.85   0.00   0.00 %N   6 Yr=5.04
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*05 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS38)
58.77  58.45  31.73 %O   0
92.98 -18.11  70.81 %Y   1
85.11 -68.58  60.02 %L   2
87.92 -39.42 -11.87 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
46.64  44.93 -76.56 %V   4
63.71  75.92 -48.22 %M   5 
37.99   0.00   0.00 %N   6 Yr=10.08
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*06 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS52)
65.53  45.06  20.98 %O   0
93.30 -15.61  56.27 %Y   1
86.55 -56.31  46.52 %L   2
88.94 -33.19 -10.24 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
57.17  30.66 -59.40 %V   4
69.22  60.95 -39.57 %M   5
52.02   0.00   0.00 %N   6 Yr=20.16
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*07 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS70)
76.43  26.27  10.57 %O   0
93.93 -10.77  34.63 %Y   1
89.32 -35.81  27.64 %L   2
90.93 -21.96  -7.08 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
72.10  15.76 -35.64 %V   4
78.50  37.52 -25.24 %M   5 
69.70   0.00   0.00 %N   6 Yr=40.32
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

} if %ISRL*ioL=1

ISRL*ioL 2 eq { %ISRL*ioL=2

/LAB*00 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS00)
45.14  71.37  75.54 %O   0
90.22 -10.60  99.51 %Y   1
48.45 -73.19  42.21 %L   2
56.88 -33.11 -47.41 %C   3 %see TABle 1 of ISO/IEC 15775:1999-12
16.48  45.84 -56.22 %V   4 %see TABle X of ISO/IEC TR 24705:2005-10
45.36  81.85  -9.29 %M   5 %see Annex A, www.ps.bam.de/RLABE.PDF
00.01   0.00   0.00 %N   6 Yr=0.00
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*01 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS06)
45.87  69.79  66.99 %O   0
90.25 -10.51  97.42 %Y   1
49.08 -70.28  40.08 %L   2
57.33 -32.38 -46.80 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
19.26  40.73 -52.47 %V   4
46.07  80.12  -9.04 %M   5
05.69   0.00   0.00 %N   6 Yr=0.63
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*02 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS11)
46.57  68.27  59.62 %O   0
90.29 -10.43  95.45 %Y   1
49.70 -67.60  38.19 %L   2
57.76 -31.68 -46.19 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
21.67  36.81 -49.37 %V   4
46.77  78.45  -8.80 %M   5
10.99   0.00   0.00 %N   6 Yr=1.26
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*03 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS18)
47.94  65.39  50.52 %O   0
90.37 -10.26  91.75 %Y   1
50.90 -62.83  34.96 %L   2
58.62 -30.34 -45.01 %C   3 %see TABle 1 of ISO/IEC 15775:1999-12
25.72  31.10 -44.40 %V   4 %see TABle X of ISO/IEC TR 24705:2005-10
48.13  75.28  -8.36 %M   5 %see Annex A, www.ps.bam.de/RLABE.PDF
18.01   0.00   0.00 %N   6 Yr=2.52
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*04 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS27)
50.51  60.17  40.13 %O   0
90.52  -9.92  85.20 %Y   1
53.18 -55.04  30.00 %L   2
60.28 -27.91 -42.75 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
32.06  24.02 -37.32 %V   4
50.68  69.50  -7.57 %M   5 
26.85   0.00   0.00 %N   6 Yr=5.04
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*05 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS38)
55.13  51.42  29.16 %O   0
90.83  -9.25  74.37 %Y   1
57.35 -43.84  23.35 %L   2
63.39 -23.83 -38.56 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
41.26  16.67 -28.49 %V   4
55.27  59.74  -6.32 %M   5 
37.99   0.00   0.00 %N   6 Yr=10.08
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*06 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS52)
62.90  38.38  18.55 %O   0
91.44  -7.95  57.91 %Y   1
64.49 -30.06  15.67 %L   2
68.98 -17.74 -31.24 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
53.87  10.09 -18.84 %V   4
63.00  44.96  -4.56 %M   5
52.02   0.00   0.00 %N   6 Yr=20.16
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*07 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS70)
75.01  21.53   9.07 %O   0
92.64  -5.45  34.85 %Y   1
75.86 -15.50   7.96 %L   2
78.37  -9.90 -19.51 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
70.54   4.74  -9.47 %V   4
75.07  25.47  -2.46 %M   5 
69.70   0.00   0.00 %N   6 Yr=40.32
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

} if %ISRL*ioL=2

0 1 11 {/sISO exch def %sISO=0,11
        /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def
        sISO 7 le { %sISO=0,7
        ISIO*ioL 0 eq { %ORS18/TLS00/OLS00
        LAB* i30 LAB*00 i30 get put
        LAB* i31 LAB*00 i31 get put
        LAB* i32 LAB*00 i32 get put
                    } if
        ISIO*ioL 1 eq { %TLS00/TLS06/OLS06
        LAB* i30 LAB*01 i30 get put
        LAB* i31 LAB*01 i31 get put
        LAB* i32 LAB*01 i32 get put
                    } if
        ISIO*ioL 2 eq { %FRS06/TLS11/OLS11
        LAB* i30 LAB*02 i30 get put
        LAB* i31 LAB*02 i31 get put
        LAB* i32 LAB*02 i32 get put
                    } if
        ISIO*ioL 3 eq { %TLS18/TLS18/OLS18
        LAB* i30 LAB*03 i30 get put
        LAB* i31 LAB*03 i31 get put
        LAB* i32 LAB*03 i32 get put
                    } if
        ISIO*ioL 4 eq { %NLS00/TSL28/OLS28
        LAB* i30 LAB*04 i30 get put
        LAB* i31 LAB*04 i31 get put
        LAB* i32 LAB*04 i32 get put
                    } if
        ISIO*ioL 5 eq { %NRS18/TLS38/OLS38
        LAB* i30 LAB*05 i30 get put
        LAB* i31 LAB*05 i31 get put
        LAB* i32 LAB*05 i32 get put
                    } if
        ISIO*ioL 6 eq { %SRS18/TLS50/OLS50
        LAB* i30 LAB*06 i30 get put
        LAB* i31 LAB*06 i31 get put
        LAB* i32 LAB*06 i32 get put
                    } if
        ISIO*ioL 7 eq { %TLS70/TLS70/OLS70
        LAB* i30 LAB*07 i30 get put
        LAB* i31 LAB*07 i31 get put
        LAB* i32 LAB*07 i32 get put
                    } if
       } %sISO=0,7
       {%sISO=8,11
        %Definition 8 to 11 (24 to 35=33+2)
        /jISO sISO 8 sub def /j30 jISO 3 mul def 
        /j31 j30 1 add def /j32 j30 2 add def
        LAB* i30 RJGBLAB* j30 get put
        LAB* i31 RJGBLAB* j31 get put
        LAB* i32 RJGBLAB* j32 get put
        LAB*a i30 LAB* i30 get put
        LAB*a i31 LAB* i31 get put
        LAB*a i32 LAB* i32 get put
       } ifelse
       } for %sISO=0,11

% possible change of LAB*a according to reduced gamut
%LAB* = 20 for Black N
%LAB* = 95 for White W
%cfakt = (95 - 20)/(95.41 - 18.01) = 0.969
%LAB*L*Nn = 20 for Black N instead of LAB*L*N = 18,01
%LAB*L*Wn = 95 for White W instead of LAB*L*W = 95,41
%LAB*L*Zn = 20+(95-20)/2=57,5 for Grey Z instead of
%LAB*L*Z  = 18,01+(95,41-18,01)/2=56,71
%L*neu = L*alt + (1 - cfakt
%For achromatic
%deltaLmean = 57,5 (1-c*neu); 56,71 (1-c*alt)
%deltaLmimu = 20,0 (1-c*neu); 18,01 (1-c*alt)
%deltaLplus = 95,0 (1-c*neu); 95,41 (1-c*alt)
%For chromatic M
%deltaLmean = L*Ma,neu; L*Ma,alt = known
%C*Ma,alt known, C*Ma,neu known

/L*Nio LAB* 18 get def
/A*Nio LAB* 19 get def
/B*Nio LAB* 20 get def
/L*Wio LAB* 21 get def
/A*Wio LAB* 22 get def
/B*Wio LAB* 23 get def

/L*Wioref 92.0 def
/L*Nioref 09.0 def
/cfakt 1 def
%/cfakt L*Wioref L*Nioref sub L*Wio L*Nio sub div def

cfakt 1 ne {%cfakt#1
%change of lightness for Maximum colour
/l*CIEN L*Nioref L*Nio sub L*Wio L*Nio sub div def
/l*CIEW L*Wioref L*Nio sub L*Wio L*Nio sub div def
LAB* 18 L*Nioref put %defined change of lightness and chroma a*,b* for N
LAB* 19 A*Nio A*Wio A*Nio sub l*CIEN  mul add put
LAB* 20 B*Nio B*Wio B*Nio sub l*CIEN  mul add put
LAB* 21 L*Wioref put %defined change of lightness and chroma a*,b* for W
LAB* 22 A*Nio A*Wio A*Nio sub l*CIEW  mul add put
LAB* 23 B*Nio B*Wio B*Nio sub l*CIEW  mul add put

%change of chroma by factor cfakt
0 1 07 {/iISO exch def
        /i30 iISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def
        LAB* i30 LAB* i30 get put
        LAB* i31 LAB* i31 get cfakt mul put
        LAB* i32 LAB* i32 get cfakt mul put
       } for
} if %cfakt#1

/L*Nior LAB* 18 get def %r=reference for reverse transform
/A*Nior LAB* 19 get def
/B*Nior LAB* 20 get def
/L*Wior LAB* 21 get def
/A*Wior LAB* 22 get def
/B*Wior LAB* 23 get def

0 1 7 {/iISO exch def %iISO=0,7
       /i30 iISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def
       /l*CIE LAB* i30 get L*Nior sub L*Wior L*Nior sub div def
       /a*sr A*Wior A*Nior sub l*CIE mul def
       /b*sr B*Wior B*Nior sub l*CIE mul def
       LAB*a i30 LAB* i30 get put
       LAB*a i31 LAB* i31 get A*Nior sub a*sr sub put
       LAB*a i32 LAB* i32 get B*Nior sub b*sr sub put
      } for

/L*Nio LAB*a 18 get def %=18.01
/A*Nio LAB*a 19 get def %=0
/B*Nio LAB*a 20 get def %=0

/L*Wio LAB*a 21 get def %=95.41
/A*Wio LAB*a 22 get def %=0
/B*Wio LAB*a 23 get def %=0

/A*Dio A*Wio A*Nio sub def %=0
/B*Dio B*Wio B*Nio sub def %=0

/cLAB*s0 3 array def %C cyan blue
/vLAB*s0 3 array def %V violet blue
/mLAB*s0 3 array def %M magenta red
/oLAB*s0 3 array def %O orange red
/yLAB*s0 3 array def %Y yellow
/lLAB*s0 3 array def %L leaf green
/nLAB*s0 3 array def %N black
/wLAB*s0 3 array def %W white
/rLAB*s0 3 array def %R elementary red
/jLAB*s0 3 array def %J elementary yellow
/gLAB*s0 3 array def %G elementary green
/bLAB*s0 3 array def %B elementary blue

%Determine Matrix data input or output data
oLAB*s0 0 LAB*a  0 get L*Nio sub put
oLAB*s0 1 LAB*a  1 get put
oLAB*s0 2 LAB*a  2 get put

yLAB*s0 0 LAB*a  3 get L*Nio sub put
yLAB*s0 1 LAB*a  4 get put
yLAB*s0 2 LAB*a  5 get put

lLAB*s0 0 LAB*a  6 get L*Nio sub put
lLAB*s0 1 LAB*a  7 get put
lLAB*s0 2 LAB*a  8 get put

cLAB*s0 0 LAB*a  9 get L*Nio sub put
cLAB*s0 1 LAB*a 10 get put 
cLAB*s0 2 LAB*a 11 get put 

vLAB*s0 0 LAB*a 12 get L*Nio sub put
vLAB*s0 1 LAB*a 13 get put 
vLAB*s0 2 LAB*a 14 get put 

mLAB*s0 0 LAB*a 15 get L*Nio sub put 
mLAB*s0 1 LAB*a 16 get put 
mLAB*s0 2 LAB*a 17 get put 

nLAB*s0 0 LAB*a 18 get L*Nio sub put 
nLAB*s0 1 LAB*a 19 get put 
nLAB*s0 2 LAB*a 20 get put 

wLAB*s0 0 LAB*a 21 get L*Nio sub put 
wLAB*s0 1 LAB*a 22 get put 
wLAB*s0 2 LAB*a 23 get put

rLAB*s0 0 LAB*a 24 get L*Nio sub put
rLAB*s0 1 LAB*a 25 get put 
rLAB*s0 2 LAB*a 26 get put 

jLAB*s0 0 LAB*a 27 get L*Nio sub put 
jLAB*s0 1 LAB*a 28 get put 
jLAB*s0 2 LAB*a 29 get put 

gLAB*s0 0 LAB*a 30 get L*Nio sub put 
gLAB*s0 1 LAB*a 31 get put 
gLAB*s0 2 LAB*a 32 get put 

bLAB*s0 0 LAB*a 33 get L*Nio sub put 
bLAB*s0 1 LAB*a 34 get put 
bLAB*s0 2 LAB*a 35 get put

% Determine the input or output angle in the A* B* plane
% of each of the colours defined above
/C*Ang cLAB*s0 2 get cLAB*s0 1 get 0.0001 add atan def
/V*Ang vLAB*s0 2 get vLAB*s0 1 get 0.0001 add atan def
/M*Ang mLAB*s0 2 get mLAB*s0 1 get 0.0001 add atan def
/O*Ang oLAB*s0 2 get oLAB*s0 1 get 0.0001 add atan def
/Y*Ang yLAB*s0 2 get yLAB*s0 1 get 0.0001 add atan def
/L*Ang lLAB*s0 2 get mLAB*s0 1 get 0.0001 add atan def
/N*Ang 0 def
/W*Ang 0 def
/R*Ang rLAB*s0 2 get rLAB*s0 1 get 0.0001 add atan def
/J*Ang jLAB*s0 2 get jLAB*s0 1 get 0.0001 add atan def
/G*Ang gLAB*s0 2 get gLAB*s0 1 get 0.0001 add atan def
/B*Ang bLAB*s0 2 get bLAB*s0 1 get 0.0001 add atan def

%6+1 hue angles for 6 device colour      (index 0 to 06)
%4+1 hue angles for 4 elementary colours (index 8 to 12)
%no. 6 and 7 originaly achromatic
0 1 11 {/iHx exch def
        /i1x iHx 3 mul 1 add def
        /i2x i1x 1 add def
        LAB*Hx iHx LAB*a i2x get LAB*a i1x get 0.000001 add atan put
       } for
LAB*Hx 06 LAB*Hx 00 get 360 add put
LAB*Hx 12 LAB*Hx 08 get 360 add put

%6 Hue angles of elementary and intermediate colours e=RJGCgbBMbr
/LAB*He 7 array def
LAB*He 0 LAB*Hx 08 get put %R
LAB*He 1 LAB*Hx 09 get put %J
LAB*He 2 LAB*Hx 10 get put %G
LAB*He 3 LAB*Hx 10 get LAB*Hx 11 get add 0.5 mul put %Cgb
LAB*He 4 LAB*Hx 11 get put %B
LAB*He 5 LAB*Hx 11 get LAB*Hx 08 get 360 add add 0.5 mul put %Mbr
LAB*He 6 LAB*Hx 08 get 360 add put %R(+360)

%6 Hue angles of device and intermediate colours d=OYLCVMO
/LAB*Hd 7 array def
LAB*Hd 0 LAB*Hx 00 get put %O
LAB*Hd 1 LAB*Hx 01 get put %Y
LAB*Hd 2 LAB*Hx 02 get put %L
LAB*Hd 3 LAB*Hx 03 get put %C
LAB*Hd 4 LAB*Hx 04 get put %V
LAB*Hd 5 LAB*Hx 05 get put %M
LAB*Hd 6 LAB*Hx 00 get 360 add put %O(+360)

/ColeiNames 16 array def
/ColeiNames [(r00j) (r25j) (r50j) (r75j)
             (j00g) (j25g) (j50g) (j75g)
             (g00b) (g25b) (g50b) (g75b)
             (b00r) (b25r) (b50r) (b75r)
            ] def
          
/ColdiNames 16 array def
/ColdiNames [(o00y) (o25y) (o50y) (o75y)
             (y00l) (y25l) (y50l) (y75l)
             (l00c) (l50c) (c00v) (c50v)
             (v00m) (v50m) (m00o) (m50o)
            ] def

/L*diMa 16 array def %LAB*diMa
/A*diMa 16 array def
/B*diMa 16 array def
/o3*ddiMa 16 array def %olv3*ddiMa
/l3*ddiMa 16 array def
/v3*ddiMa 16 array def
/u*ddiMa1 16 array def %u*ddiMax
/u*ddiMai 16 array def
/u*ddiMa2 16 array def
/o3*deiMa 16 array def %olv3*deiMa
/l3*deiMa 16 array def
/v3*deiMa 16 array def
/u*deiMa1 16 array def %u*deiMax
/u*deiMai 16 array def
/u*deiMa2 16 array def

/L*eiMa 16 array def %LAB*eiMa
/A*eiMa 16 array def
/B*eiMa 16 array def
/o3*eeiMa 16 array def %olv3*eeiMa
/l3*eeiMa 16 array def
/v3*eeiMa 16 array def
/u*eeiMa1 16 array def %u*eeiMax
/u*eeiMai 16 array def
/u*eeiMa2 16 array def
/o3*ediMa 16 array def %olv3*ediMa
/l3*ediMa 16 array def
/v3*ediMa 16 array def
/u*ediMa1 16 array def %u*ediMax
/u*ediMai 16 array def
/u*ediMa2 16 array def

%/L*xiMa 16 array def %LAB*xiMa x=d/e
%/A*xiMa 16 array def
%/B*xiMa 16 array def
%/o3*xxiMa 16 array def %olv3*xxiMa xx=dd/ee
%/l3*xxiMa 16 array def
%/v3*xxiMa 16 array def
/u*xxiMa1 16 array def %u*xxiMax xx=dd/ee
/u*xxiMai 16 array def
/u*xxiMa2 16 array def
%/o3*xyiMa 16 array def %olv3*xxiMa xy=de/ed
%/l3*xyiMa 16 array def
%/v3*xyiMa 16 array def
%/u*xyiMa1 16 array def %u*xxiMax xy=de/ed
%/u*xyiMai 16 array def
%/u*xyiMa2 16 array def

%Definition LAB*diMa, olv3*deiMa, u*deiMax (all 00 to 15) by equal device (d) hue angle difference
%between O and Y, Y and L, L and C, C and V, V and M, and M and O
%Definition of OYLCVMO, 4 steps between OYL, 2 steps between LCVMO
0 1 15 {/iinx exch def %iinx=0,15
        %define device hue angle H*M of 16 hues
        iinx 00 eq {/H*M LAB*a 0 3 mul 2 add get LAB*a 0 3 mul 1 add get atan def} if
        iinx 01 eq {/H*M LAB*a 0 3 mul 2 add get LAB*a 0 3 mul 1 add get atan 0.75 mul
                         LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan 0.25 mul
                         add def} if
        iinx 02 eq {/H*M LAB*a 0 3 mul 2 add get LAB*a 0 3 mul 1 add get atan 0.50 mul
                         LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan 0.50 mul
                         add def} if
        iinx 03 eq {/H*M LAB*a 0 3 mul 2 add get LAB*a 0 3 mul 1 add get atan 0.25 mul
                         LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan 0.75 mul
                         add def} if
        iinx 04 eq {/H*M LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan def} if
        iinx 05 eq {/H*M LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan 0.75 mul
                         LAB*a 2 3 mul 2 add get LAB*a 2 3 mul 1 add get atan 0.25 mul
                         add def} if
        iinx 06 eq {/H*M LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan 0.50 mul
                         LAB*a 2 3 mul 2 add get LAB*a 2 3 mul 1 add get atan 0.50 mul
                         add def} if
        iinx 07 eq {/H*M LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan 0.25 mul
                         LAB*a 2 3 mul 2 add get LAB*a 2 3 mul 1 add get atan 0.75 mul
                         add def} if
        iinx 08 eq {/H*M LAB*a 2 3 mul 2 add get LAB*a 2 3 mul 1 add get atan def} if
        iinx 09 eq {/H*M LAB*a 2 3 mul 2 add get LAB*a 2 3 mul 1 add get atan 0.5 mul
                         LAB*a 3 3 mul 2 add get LAB*a 3 3 mul 1 add get atan 0.5 mul
                         add def} if
        iinx 10 eq {/H*M LAB*a 3 3 mul 2 add get LAB*a 3 3 mul 1 add get atan def} if
        iinx 11 eq {/H*M LAB*a 3 3 mul 2 add get LAB*a 3 3 mul 1 add get atan 0.5 mul
                         LAB*a 4 3 mul 2 add get LAB*a 4 3 mul 1 add get atan 0.5 mul
                         add def} if
        iinx 12 eq {/H*M LAB*a 4 3 mul 2 add get LAB*a 4 3 mul 1 add get atan def} if
        iinx 13 eq {/H*M LAB*a 4 3 mul 2 add get LAB*a 4 3 mul 1 add get atan 0.5 mul
                         LAB*a 5 3 mul 2 add get LAB*a 5 3 mul 1 add get atan 0.5 mul
                         add def} if
        iinx 14 eq {/H*M LAB*a 5 3 mul 2 add get LAB*a 5 3 mul 1 add get atan def} if
        iinx 15 eq {/H*M LAB*a 5 3 mul 2 add get LAB*a 5 3 mul 1 add get atan 0.5 mul
                         LAB*a 0 3 mul 2 add get LAB*a 0 3 mul 1 add get atan 360 add 0.5 mul
                         add def} if
        proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioL
        %stores LAB*diMa
        L*diMa iinx L*Ma put
        A*diMa iinx A*Ma put
        B*diMa iinx B*Ma put
        %stores olv3*ddiMa 
        o3*ddiMa iinx o3*ddMa put
        l3*ddiMa iinx l3*ddMa put
        v3*ddiMa iinx v3*ddMa put 
        %stores u*ddiMax 
        u*ddiMa1 iinx u*ddMa1 put
        u*ddiMai iinx u*ddMai put
        u*ddiMa2 iinx u*ddMa2 put
        %stores olv3*deiMa 
        o3*deiMa iinx o3*deMa put
        l3*deiMa iinx l3*deMa put
        v3*deiMa iinx v3*deMa put 
        %stores u*deiMax 
        u*deiMa1 iinx u*deMa1 put
        u*deiMai iinx u*deMai put
        u*deiMa2 iinx u*deMa2 put
       } for %iinx=0,15

%Definition LAB*eiMa, olv3*ediMa, u*ediMax (all 00 to 15) by equal elementary (e) hue angle difference
%between R and J, J and G, G and B, and B and R
 0 1 03 {/ik exch def %ik=0,3
         /H*1 RJGBLAB* ik 3 mul 2 add get
              RJGBLAB* ik 3 mul 1 add get 0.00001 add atan def
         ik 2 le {/ik2b ik 3 mul 5 add def} {/ik2b 2 def} ifelse
         /ik2a ik2b 1 sub def  
         /H*2 RJGBLAB* ik2b get RJGBLAB* ik2a get 0.00001 add atan def
         ik 3 eq {/H*2 H*2 360 add def} if
 0 1 03 {/ij exch def %ij=1,3
         ij 0 eq {/a0 1.00 def /b0 0.00 def} if
         ij 1 eq {/a0 0.75 def /b0 0.25 def} if
         ij 2 eq {/a0 0.50 def /b0 0.50 def} if
         ij 3 eq {/a0 0.25 def /b0 0.75 def} if
         /H*M a0 H*1 mul b0 H*2 mul add def
         H*M 360 ge {/H*M H*M 360 sub def} if
         proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioL
         /iinx ik 4 mul ij add def
         %stores LAB*eiMa
         L*eiMa iinx L*Ma put
         A*eiMa iinx A*Ma put
         B*eiMa iinx B*Ma put
         %stores olv3*eeiMa 
         o3*eeiMa iinx o3*deMa put
         l3*eeiMa iinx l3*deMa put
         v3*eeiMa iinx v3*deMa put 
         %stores u*eeiMax 
         u*eeiMa1 iinx u*deMa1 put
         u*eeiMai iinx u*deMai put
         u*eeiMa2 iinx u*deMa2 put
         %stores olv3*ediMa 
         o3*ediMa iinx o3*ddMa put
         l3*ediMa iinx l3*ddMa put
         v3*ediMa iinx v3*ddMa put 
         %stores u*eeiMax 
         u*ediMa1 iinx u*ddMa1 put
         u*ediMai iinx u*ddMai put
         u*ediMa2 iinx u*ddMa2 put
        } for %ik=0,3
        } for %ij=0,3

0 1 15 {/i exch def %i=0,15
%L*xiMa i DEintp 0 eq {L*diMa}{L*eiMa} ifelse i get put %LAB*xiMa x=d/e
%A*xiMa i DEintp 0 eq {A*diMa}{A*eiMa} ifelse i get put
%B*xiMa i DEintp 0 eq {B*diMa}{B*eiMa} ifelse i get put
%o3*xxiMa i DEintp 0 eq {o3*ddiMa}{o3*eeiMa} ifelse i get put %olv3*xxiMa xx=dd/ee
%l3*xxiMa i DEintp 0 eq {l3*ddiMa}{l3*eeiMa} ifelse i get put
%v3*xxiMa i DEintp 0 eq {v3*ddiMa}{v3*eeiMa} ifelse i get put
u*xxiMa1 i DEintp 0 eq {u*ddiMa1}{u*eeiMa1} ifelse i get put %u*xxiMax xx=dd/ee
u*xxiMai i DEintp 0 eq {u*ddiMai}{u*eeiMai} ifelse i get put
u*xxiMa2 i DEintp 0 eq {u*ddiMa2}{u*eeiMa2} ifelse i get put
%o3*xyiMa i DEintp 0 eq {o3*deiMa}{o3*ediMa} ifelse i get put %olv3*xxiMa xy=de/ed
%l3*xyiMa i DEintp 0 eq {l3*deiMa}{l3*ediMa} ifelse i get put
%v3*xyiMa i DEintp 0 eq {v3*deiMa}{v3*ediMa} ifelse i get put
%u*xyiMa1 i DEintp 0 eq {u*deiMa1}{u*ediMa1} ifelse i get put %u*xxiMax xy=de/ed
%u*xyiMai i DEintp 0 eq {u*deiMai}{u*ediMai} ifelse i get put
%u*xyiMa2 i DEintp 0 eq {u*deiMa2}{u*ediMa2} ifelse i get put
       } for %i=0,15

} bind def %END Procedure proc_LAB*ioL

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

/proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioL {
%BEG procedure proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioL
%only for calculation without hue tables

%input  H*M (only hue (H) of Fa/Ma)
%input  LAB*a (6 adapted colours OYLCVM)
%input  nLAB*s0 (colour Black N for calculation of lab*l)
%input  wLAB*s0 (colour White W for achromatic axis)

%output LAB*Ma
%output olvi3*Ma
%output cmyn3*Ma

/L*Ha 50 def
/A*Ha 75 H*M cos mul def
/B*Ha 75 H*M sin mul def
/UXF1a wLAB*s0 1 get B*Ha mul wLAB*s0 2 get A*Ha mul sub def
/UXF2a wLAB*s0 2 get L*Ha mul wLAB*s0 0 get B*Ha mul sub def
/UXF3a wLAB*s0 0 get A*Ha mul wLAB*s0 1 get L*Ha mul sub def

/T1 0 def
/T2 0 def
0 1 5 {/ia exch def
       /ia30 ia 3 mul def
       ia 5 eq {/ia31 0 def} {/ia31 ia30 3 add def} ifelse
       /T1 LAB*a ia30       get UXF1a mul
           LAB*a ia30 1 add get UXF2a mul add
           LAB*a ia30 2 add get UXF3a mul add def
       /T2 LAB*a ia31       get UXF1a mul
           LAB*a ia31 1 add get UXF2a mul add
           LAB*a ia31 2 add get UXF3a mul add def
       T1 0 le {/T1X (N) def} {/T1X (P) def} ifelse
       T2 0 gt {/T2X (P) def} {/T2X (N) def} ifelse
       T1 0 le T2 0 gt and {/ia3END ia30 def exit} if
      } for

/L*11a LAB*a ia3END       get def
/A*11a LAB*a ia3END 1 add get def
/B*11a LAB*a ia3END 2 add get def
ia3END 15 ge {/ia3END -3 def} if
/L*21a LAB*a ia3END 3 add get def
/A*21a LAB*a ia3END 4 add get def
/B*21a LAB*a ia3END 5 add get def

/NENNER L*21a L*11a sub UXF1a mul
        A*21a A*11a sub UXF2a mul add
        B*21a B*11a sub UXF3a mul add def
/ZAEHLE L*21a UXF1a mul
        A*21a UXF2a mul add
        B*21a UXF3a mul add def
NENNER 0 ne {/ALPH ZAEHLE NENNER div def}
            {/ALPH 99999} ifelse

/L*Ma ALPH L*11a mul 1 ALPH sub L*21a mul add def
/A*Ma ALPH A*11a mul 1 ALPH sub A*21a mul add def
/B*Ma ALPH B*11a mul 1 ALPH sub B*21a mul add def
/C*Ma A*Ma dup mul B*Ma dup mul add 0.000001 add sqrt def
/H*Ma B*Ma A*Ma atan def

/H*abd B*Ha A*Ha 0.0001 add atan def
/H*abe H*abd def

%faktor and section in actual System (for example ORS18)
/jsecd -1 def

%main equations
%faktd = [col_angh - LAB*Hd(n)]/[LAB*Hd(n+1) - LAB*Hd(n)]
%col_angh = faktd [LAB*Hd(n+1) - LAB*Hd(n)] + LAB*Hd(n)

H*abd LAB*Hd 0 get lt {/H*abd H*abd 360 add def} if

0 1 5 {/nx exch def
       /np nx 1 add def
       H*abd LAB*Hd nx get ge 
       H*abd LAB*Hd np get lt and {/jsecd nx def
                                   /faktd H*abd LAB*Hd nx get sub
                                   LAB*Hd np get LAB*Hd nx get sub div def} if
      } for %nx=0,5

%1 0 0 %O  jsecd=0
%1 1 0 %Y  jsecd=1
%0 1 0 %L  jsecd=2
%0 1 1 %C  jsecd=3
%0 0 1 %V  jsecd=4
%1 0 1 %M  jsecd=5

jsecd -1 eq {STOPjsecd} if

/fakmd 1 faktd sub def
/o3*ddMa -1 def /l3*ddMa -1 def /v3*ddMa -1 def

jsecd 0 eq {%sector O->Y, o3*=1, l3*=0->1, v3*=0
            /o3*ddMa 1 def     /l3*ddMa faktd def /v3*ddMa 0 def
            /u*ddMa1 (o) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (y) def} if
jsecd 1 eq {%sector Y->L, o3*=1->0, l3*=1, v3*=0
            /o3*ddMa fakmd def /l3*ddMa 1 def     /v3*ddMa 0 def
            /u*ddMa1 (y) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (l) def} if
jsecd 2 eq {%sector L->C, o3*=0, l3*=1, v3*=0->1
            /o3*ddMa 0 def     /l3*ddMa 1 def     /v3*ddMa faktd def
            /u*ddMa1 (l) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (c) def} if
jsecd 3 eq {%sector C->V, o3*=0, l3*=0->1, v3*=1
            /o3*ddMa 0 def     /l3*ddMa fakmd def /v3*ddMa 1 def
            /u*ddMa1 (c) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (v) def} if
jsecd 4 eq {%sector V->M, o3*=0->1, l3*=0, v3*=1
            /o3*ddMa faktd def /l3*ddMa 0 def     /v3*ddMa 1 def
            /u*ddMa1 (v) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (m) def} if
jsecd 5 eq {%sector M->O, o3*=1, l3*=0, v3*=1->0
            /o3*ddMa 1 def     /l3*ddMa 0 def     /v3*ddMa fakmd def
            /u*ddMa1 (m) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (o) def} if

o3*ddMa -1 eq {STOPo3*ddMa1} if
l3*ddMa -1 eq {STOPl3*ddMa1} if
v3*ddMa -1 eq {STOPv3*ddMa1} if

/i3*ddMa 1 def
/c3*ddMa 1 o3*ddMa sub def
/m3*ddMa 1 l3*ddMa sub def
/y3*ddMa 1 v3*ddMa sub def
/n3*ddMa 0 def

%calculations for elementary (e) system:
%faktor and section in actual System (for example ORS18)
/jsece -1 def

%main equations
%fakte = [col_angh - LAB*He(n)]/[LAB*He(n+1) - LAB*He(n)]
%col_angh = fakte [LAB*He(n+1) - LAB*He(n)] + LAB*He(n)

H*abe LAB*He 0 get lt {/H*abe H*abe 360 add def} if

0 1 5 {/nx exch def
       /np nx 1 add def
       H*abe LAB*He nx get ge 
       H*abe LAB*He np get lt and {/jsece nx def
                                   /fakte H*abe LAB*He nx get sub
                                   LAB*He np get LAB*He nx get sub div def} if
      } for %nx=0,5

%1 0 0 %R  jsece=0
%1 1 0 %J  jsece=1
%0 1 0 %G  jsece=2
%0 1 1 %C'  jsece=3
%0 0 1 %B  jsece=4
%1 0 1 %R  jsece=5

jsece -1 eq {STOPjsece} if

/fakme 1 fakte sub def
/o3*deMa -1 def /l3*deMa -1 def /v3*deMa -1 def

jsece 0 eq {%sector O->Y, o3*=1, l3*=0->1, v*=0
            /o3*deMa 1 def     /l3*deMa fakte def /v3*deMa 0 def
            /u*dtMa1 (r) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (j) def
            /u*deMa1 (r) def /u*deMai fakte 99 mul cviht def /u*deMa2 (j) def} if
jsece 1 eq {%sector Y->L, o3*=1->0, l3*=1, v*=0
            /o3*deMa fakme def /l3*deMa 1 def     /v3*deMa 0 def
            /u*dtMa1 (j) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (g) def
            /u*deMa1 (j) def /u*deMai fakte 99 mul cviht def /u*deMa2 (g) def} if
jsece 2 eq {%sector L->C, o3*=0, l3*=1, v*=0->1
            /o3*deMa 0 def     /l3*deMa 1 def     /v3*deMa fakte def
            /u*dtMa1 (g) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (c') def
            /u*deMa1 (g) def /u*deMai fakte 99 mul 0.5 mul cviht def /u*deMa2 (b) def} if
jsece 3 eq {%sector C->V, o3*=0, l3*=0->1, v*=1
            /o3*deMa 0 def     /l3*deMa fakme def /v3*deMa 1 def
            /u*dtMa1 (c') def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (b) def
            /u*deMa1 (g) def /u*deMai fakte 99 mul 0.5 mul 50 add cviht def /u*deMa2 (b) def} if
jsece 4 eq {%sector V->M, o3*=0->1, l3*=0, v*=1
            /o3*deMa fakte def /l3*deMa 0 def     /v3*deMa 1 def
            /u*dtMa1 (b) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (m') def
            /u*deMa1 (b) def /u*deMai fakte 99 mul 0.5 mul cviht def /u*deMa2 (r) def} if
jsece 5 eq {%sector M->O, o3*=1, l3*=0, v*=1->0
            /o3*deMa 1 def     /l3*deMa 0 def     /v3*deMa fakme def
            /u*dtMa1 (m') def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (r) def
            /u*deMa1 (b) def /u*deMai fakte 99 mul 0.5 mul 50 add cviht def /u*deMa2 (r) def} if

o3*deMa -1 eq {STOPo3*Ma0} if
l3*deMa -1 eq {STOPl3*Ma0} if
v3*deMa -1 eq {STOPv3*Ma0} if

/i3*deMa 1 def
/c3*deMa 1 o3*deMa sub def
/m3*deMa 1 l3*deMa sub def
/y3*deMa 1 v3*deMa sub def
/n3*deMa 0 def

/lab*nMa 0.00 def
/lab*cMa 1.00 def
/lab*wMa 0.00 def
/lab*tMa 0.50 def
/lab*hMa H*Ma 360 div def
/lab*lMa L*Ma nLAB*s0 0 get sub
         wLAB*s0 0 get nLAB*s0 0 get sub 0.000001 add div def

} bind def
%END procedure proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioL

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

/proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL {
%BEG Procedure proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
%transfer from elementary data to device (ed) and elementary data (ee)
%For tLAB=1 Transfer to LAB*Ma and LAB*Fa

/v*s exch def /l*s exch def /o*s exch def

/i*p 0 def

%test if achromatic %W special case
%W: o*s, l*s, v*s = 1.00
1.0 o*s sub abs 0.001 le
1.0 l*s sub abs 0.001 le and
1.0 v*s sub abs 0.001 le and %W special case
{/i*p 6 def %W
 /c*rs 0 def /n*s 0 def /w*s 1 def /t*s 1 def
} if

%Test if achromatic %N special case
%N: o*n, l*n, v*n <= 0.01
o*s abs 0.001 le
l*s abs 0.001 le and
v*s abs 0.001 le and %N special case
{/i*p 6 def %N
 /c*rs 0 def /n*s 1 def /w*s 0 def /t*s 0 def
} if

%test if achromatic Grey sample
o*s l*s sub abs 0.001 le
l*s v*s sub abs 0.001 le and %Achromatic grey special case
{/i*p 6 def %Grey
 /c*rs 0 def /n*s 1 o*s sub def /w*s o*s def /t*s 1 n*s sub c*rs 0.5 mul sub def
} if

i*p 6 eq {%achromatic,chromatic colours
          /o3*edMa 1 def
          /l3*edMa 1 def
          /v3*edMa 1 def
          /o3*eeMa 1 def
          /l3*eeMa 1 def
          /v3*eeMa 1 def
          /u*edMa1 (o) def /u*edMai 0 def /u*edMa2 (y) def
          /u*etMa1 (r) def /u*etMai 0 def /u*etMa2 (j) def
          /u*eeMa1 (r) def /u*eeMai 0 def /u*eeMa2 (j) def
          /o3*ed o*s def
          /l3*ed l*s def
          /v3*ed v*s def
          /o3*ee o*s def
          /l3*ee l*s def
          /v3*ee v*s def
          } %achromatic i*p=6
          { %chromatic  i*p#6

o*s l*s ge o*s v*s ge and {/olv*smax o*s def
                           l*s v*s ge {%sector O->Y, o3*=1, l3*=0->1, v3*=0
                                       /olv*smin v*s def /olv*smean l*s def /jsecs 0 def}
                                      {%sector M->O, o3*=1, l3*=0, v3*=1->0
                                       /olv*smin l*s def /olv*smean v*s def /jsecs 5 def} ifelse
                          } if
l*s v*s ge l*s o*s ge and {/olv*smax l*s def
                           v*s o*s ge {%sector L->C, o3*=0, l3*=1, v3*=0->1
                                       /olv*smin o*s def /olv*smean v*s def /jsecs 2 def}
                                      {%sector Y->L, o3*=1->0, l3*=1, v3*=0
                                       /olv*smin v*s def /olv*smean o*s def /jsecs 1 def} ifelse
                          } if
v*s o*s ge v*s l*s ge and {/olv*smax v*s def
                           o*s l*s ge {%sector V->M, o3*=0->1, l3*=0, v3*=1
                                       /olv*smin l*s def /olv*smean o*s def /jsecs 4 def}
                                      {%sector C->V, o3*=0, l3*=0->1, v3*=1
                                       /olv*smin o*s def /olv*smean l*s def /jsecs 3 def
                                      } ifelse
                          } if

/c*rs olv*smax olv*smin sub def
/n*s 1 olv*smax sub def
/w*s 1 n*s sub c*rs sub def
/t*s 1 n*s sub c*rs 0.5 mul sub def

/b_a olv*smean olv*smax div def
/c_a olv*smin  olv*smax div def
/alpha 1 c_a sub def
/fakts b_a c_a sub alpha 0.00001 add div def
/fakms 1 fakts sub def

%jsecs interpreted as elementary hue angle

jsecs 0 eq {%sector O->Y, o3*=1, l3*=0->1, v3*=0
            /o3*eeMa 1 def     /l3*eeMa fakts def /v3*eeMa 0 def
            /H*Me LAB*He 0 get LAB*He 1 get LAB*He 0 get sub fakts mul add def
            /u*eeMa1 (o) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (y) def} if
jsecs 1 eq {%sector Y->L, o3*=1->0, l3*=1, v3*=0
            /o3*eeMa fakts def /l3*eeMa 1 def     /v3*eeMa 0 def
            /H*Me LAB*He 1 get LAB*He 2 get LAB*He 1 get sub fakms mul add def
            /u*eeMa1 (y) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (l) def} if
jsecs 2 eq {%sector L->C, o3*=0, l3*=1, v3*=0->1
            /o3*eeMa 0 def     /l3*eeMa 1 def     /v3*eeMa fakts def
            /H*Me LAB*He 2 get LAB*He 3 get LAB*He 2 get sub fakts mul add def
            /u*eeMa1 (l) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (c) def} if
jsecs 3 eq {%sector C->V, o3*=0, l3*=0->1, v3*=1
            /o3*eeMa 0 def     /l3*eeMa fakts def /v3*eeMa 1 def
            /H*Me LAB*He 3 get LAB*He 4 get LAB*He 3 get sub fakms mul add def
            /u*eeMa1 (c) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (v) def} if
jsecs 4 eq {%sector V->M, o3*=0->1, l3*=0, v3*=1
            /o3*eeMa fakts def /l3*eeMa 0 def     /v3*eeMa 1 def
            /H*Me LAB*He 4 get LAB*He 5 get LAB*He 4 get sub fakts mul add def
            /u*eeMa1 (v) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (m) def} if
jsecs 5 eq {%sector M->O, o3*=1, l3*=0, v3*=1->0
            /o3*eeMa 1 def     /l3*eeMa 0 def     /v3*eeMa fakts def
            /H*Me LAB*He 5 get LAB*He 6 get LAB*He 5 get sub fakms mul add def
            /u*eeMa1 (m) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (o) def} if
            
/i3*eeMa 1 def
/c3*eeMa 1 o3*eeMa sub def
/m3*eeMa 1 l3*eeMa sub def
/y3*eeMa 1 v3*eeMa sub def
/n3*eeMa 0 def

H*Me 360 ge {/H*Me H*Me 360 sub def} if

%H*Me = H*abd = H*abe for all hue angles
/H*abd H*Me def

%calculations for device (d) system:
%faktor and section in actual System (for example ORS18)
/jsece -1 def

%main equations
%faktd = [col_angh - LAB*Hd(n)]/[LAB*Hd(n+1) - LAB*Hd(n)]
%col_angh = faktd [LAB*Hd(n+1) - LAB*Hd(n)] + LAB*Hd(n)

H*abd LAB*Hd 0 get lt {/H*abd H*abd 360 add def} if

0 1 5 {/nx exch def
       /np nx 1 add def
       H*abd LAB*Hd nx get ge 
       H*abd LAB*Hd np get lt and {/jsecd nx def
                                   /faktd H*abd LAB*Hd nx get sub
                                   LAB*Hd np get LAB*Hd nx get sub div def} if
      } for %nx=0,5

%1 0 0 %O  jsecd=0
%1 1 0 %Y  jsecd=1
%0 1 0 %L  jsecd=2
%0 1 1 %C  jsecd=3
%0 0 1 %V  jsecd=4
%1 0 1 %O  jsecd=5

jsecd -1 eq {STOPjsecd} if

/fakmd 1 faktd sub def
/o3*edMa -1 def /l3*edMa -1 def /v3*edMa -1 def

jsecd 0 eq {%sector O->Y, o3*=1, l3*=0->1, v*=0
            /o3*edMa 1 def     /l3*edMa faktd def /v3*edMa 0 def
            /u*dtMa1 (o) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (y) def
            /u*edMa1 (o) def /u*edMai faktd 99 mul cviht def /u*edMa2 (y) def} if
jsecd 1 eq {%sector Y->L, o3*=1->0, l3*=1, v*=0
            /o3*edMa fakmd def /l3*edMa 1 def     /v3*edMa 0 def
            /u*dtMa1 (y) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (l) def
            /u*edMa1 (y) def /u*edMai faktd 99 mul cviht def /u*edMa2 (l) def} if
jsecd 2 eq {%sector L->C, o3*=0, l3*=1, v*=0->1
            /o3*edMa 0 def     /l3*edMa 1 def     /v3*edMa faktd def
            /u*dtMa1 (l) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (c) def
            /u*edMa1 (l) def /u*edMai faktd 99 mul 0.5 mul cviht def /u*edMa2 (c) def} if
jsecd 3 eq {%sector C->V, o3*=0, l3*=0->1, v*=1
            /o3*edMa 0 def     /l3*edMa fakmd def /v3*edMa 1 def
            /u*dtMa1 (c) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (v) def
            /u*edMa1 (c) def /u*edMai faktd 99 mul 0.5 mul 50 add cviht def /u*edMa2 (v) def} if
jsecd 4 eq {%sector V->M, o3*=0->1, l3*=0, v*=1
            /o3*edMa faktd def /l3*edMa 0 def     /v3*edMa 1 def
            /u*dtMa1 (v) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (m) def
            /u*edMa1 (v) def /u*edMai faktd 99 mul 0.5 mul cviht def /u*edMa2 (m) def} if
jsecd 5 eq {%sector M->O, o3*=1, l3*=0, v*=1->0
            /o3*edMa 1 def     /l3*edMa 0 def     /v3*edMa fakmd def
            /u*dtMa1 (m) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (o) def
            /u*edMa1 (v) def /u*edMai faktd 99 mul 0.5 mul 50 add cviht def /u*edMa2 (o) def} if

o3*edMa -1 eq {STOPo3*Ma0} if
l3*edMa -1 eq {STOPl3*Ma0} if
v3*edMa -1 eq {STOPv3*Ma0} if

/i3*edMa 1 def
/c3*edMa 1 o3*edMa sub def
/m3*edMa 1 l3*edMa sub def
/y3*edMa 1 v3*edMa sub def
/n3*edMa 0 def

/lab*nMa 0.00 def
/lab*cMa 1.00 def
/lab*wMa 0.00 def
/lab*tMa 0.50 def
/lab*hMa H*Ma 360 div def
/lab*lMa L*Ma nLAB*s0 0 get sub
         wLAB*s0 0 get nLAB*s0 0 get sub 0.000001 add div def

%/o3*ee o*s def %/o3*ee w*s o3*eeMa c*rs mul add def
%/l3*ee l*s def %/l3*ee w*s l3*eeMa c*rs mul add def
%/v3*ee v*s def %/v3*ee w*s v3*eeMa c*rs mul add def

/o3*ee w*s o3*eeMa c*rs mul add def
/l3*ee w*s l3*eeMa c*rs mul add def
/v3*ee w*s v3*eeMa c*rs mul add def

/o3*ed w*s o3*edMa c*rs mul add def
/l3*ed w*s l3*edMa c*rs mul add def
/v3*ed w*s v3*edMa c*rs mul add def

} ifelse %chromatic colour i*p#6

%For tLAB=1 Transfer to LAB*Ma and LAB*Fa
tLAB 1 eq {%tLAB = 1
i*p 6 eq
{ %achromatic,chromatic colours
/L*Ma L*Wio def
/A*Ma 0 def
/B*Ma 0 def
/H*Ma B*Ma A*Ma 0.0001 add atan def
/C*Ma 0 def
/L*Fa L*Nio L*Wio L*Nio sub w*s mul add def
/A*Fa 0 def
/B*Fa 0 def
/H*Fa B*Fa A*Fa 0.0001 add atan def
/C*Fa 0 def
} %achromatic i*p=6
{%chromatic  i*p#6
/H*M H*Me def %H*M allready defined
/L*Ha 50 def
/A*Ha 75 H*M cos mul def
/B*Ha 75 H*M sin mul def
/UXF1a wLAB*s0 1 get B*Ha mul wLAB*s0 2 get A*Ha mul sub def
/UXF2a wLAB*s0 2 get L*Ha mul wLAB*s0 0 get B*Ha mul sub def
/UXF3a wLAB*s0 0 get A*Ha mul wLAB*s0 1 get L*Ha mul sub def

/T1 0 def
/T2 0 def
0 1 5 {/ia exch def
       /ia30 ia 3 mul def
       ia 5 eq {/ia31 0 def} {/ia31 ia30 3 add def} ifelse
       /T1 LAB*a ia30       get UXF1a mul
           LAB*a ia30 1 add get UXF2a mul add
           LAB*a ia30 2 add get UXF3a mul add def
       /T2 LAB*a ia31       get UXF1a mul
           LAB*a ia31 1 add get UXF2a mul add
           LAB*a ia31 2 add get UXF3a mul add def
       T1 0 le {/T1X (N) def} {/T1X (P) def} ifelse
       T2 0 gt {/T2X (P) def} {/T2X (N) def} ifelse
       T1 0 le T2 0 gt and {/ia3END ia30 def exit} if
      } for

/L*11a LAB*a ia3END       get def
/A*11a LAB*a ia3END 1 add get def
/B*11a LAB*a ia3END 2 add get def
ia3END 15 ge {/ia3END -3 def} if
/L*21a LAB*a ia3END 3 add get def
/A*21a LAB*a ia3END 4 add get def
/B*21a LAB*a ia3END 5 add get def

/NENNER L*21a L*11a sub UXF1a mul
        A*21a A*11a sub UXF2a mul add
        B*21a B*11a sub UXF3a mul add def
/ZAEHLE L*21a UXF1a mul
        A*21a UXF2a mul add
        B*21a UXF3a mul add def
NENNER 0 ne {/ALPH ZAEHLE NENNER div def}
            {/ALPH 99999} ifelse

/L*Ma ALPH L*11a mul 1 ALPH sub L*21a mul add def
/A*Ma ALPH A*11a mul 1 ALPH sub A*21a mul add def
/B*Ma ALPH B*11a mul 1 ALPH sub B*21a mul add def
/C*Ma A*Ma dup mul B*Ma dup mul add 0.000001 add sqrt def
/H*Ma B*Ma A*Ma 0.0001 add atan def

%equations
%/c*rs olv*smax olv*smin sub def
%/n*s 1 olv*smax sub def
%/w*s 1 n*s sub c*rs sub def
%/t*s 1 n*s sub c*rs 0.5 mul sub def
%l* = t* + c* [L*M - L*N]/[L*W - L*N] - 0.5 c*
%l* = (L*Fa - L*Na) / (L*Wa - L*Na)
%L*Fa = l* (L*Wa - L*Na) + L*Na
%given L*Nio, L*Wio

/l*s t*s L*Ma L*Nio sub L*Wio L*Nio sub div c*rs mul add c*rs 0.5 mul sub def
/L*Fa L*Nio L*Wio L*Nio sub l*s mul add def
/C*Fa C*Ma c*rs mul def
/H*Fa H*Ma def
/A*Fa C*Fa H*Ma cos mul def
/B*Fa C*Fa H*Ma sin mul def

} ifelse %chromatic colour i*p#6
} if %tLAB = 1

} bind def %END Procedure proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL

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

/proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL { 
%BEG Procedure proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
%transfer from device data to device (dd) and elementary data (de)
%For tLAB=1 Transfer to LAB*Ma and LAB*Fa

/v*s exch def /l*s exch def /o*s exch def

/i*p 0 def

%test if achromatic %W special case
%W: o*s, l*s, v*s = 1.00
1.0 o*s sub abs 0.001 le
1.0 l*s sub abs 0.001 le and
1.0 v*s sub abs 0.001 le and %W special case
{/i*p 6 def %W
 /c*rs 0 def /n*s 0 def /w*s 1 def /t*s 1 def
} if

%Test if achromatic %N special case
%N: o*n, l*n, v*n <= 0.01
o*s abs 0.001 le
l*s abs 0.001 le and
v*s abs 0.001 le and %N special case
{/i*p 6 def %N
 /c*rs 0 def /n*s 1 def /w*s 0 def /t*s 0 def
} if

%test if achromatic Grey sample
o*s l*s sub abs 0.001 le
l*s v*s sub abs 0.001 le and %Achromatic grey special case
{/i*p 6 def %Grey
 /c*rs 0 def /n*s 1 o*s sub def /w*s o*s def /t*s 1 n*s sub c*rs 0.5 mul sub def
} if

i*p 6 eq {%achromatic,chromatic colours
          /o3*ddMa 1 def
          /l3*ddMa 1 def
          /v3*ddMa 1 def
          /o3*deMa 1 def
          /l3*deMa 1 def
          /v3*deMa 1 def
          /u*ddMa1 (o) def /u*ddMai 0 def /u*ddMa2 (y) def
          /u*dtMa1 (r) def /u*dtMai 0 def /u*dtMa2 (j) def
          /u*deMa1 (r) def /u*deMai 0 def /u*deMa2 (j) def
          /o3*dd o*s def
          /l3*dd l*s def
          /v3*dd v*s def
          /o3*de o*s def
          /l3*de l*s def
          /v3*de v*s def
          } %achromatic i*p=6
          { %chromatic  i*p#6

o*s l*s ge o*s v*s ge and {/olv*smax o*s def
                           l*s v*s ge {%sector O->Y, o3*=1, l3*=0->1, v3*=0
                                       /olv*smin v*s def /olv*smean l*s def /jsecd 0 def}
                                      {%sector M->O, o3*=1, l3*=0, v3*=1->0
                                       /olv*smin l*s def /olv*smean v*s def /jsecd 5 def} ifelse
                          } if
l*s v*s ge l*s o*s ge and {/olv*smax l*s def
                           v*s o*s ge {%sector L->C, o3*=0, l3*=1, v3*=0->1
                                       /olv*smin o*s def /olv*smean v*s def /jsecd 2 def}
                                      {%sector Y->L, o3*=1->0, l3*=1, v3*=0
                                       /olv*smin v*s def /olv*smean o*s def /jsecd 1 def} ifelse
                          } if
v*s o*s ge v*s l*s ge and {/olv*smax v*s def
                           o*s l*s ge {%sector V->M, o3*=0->1, l3*=0, v3*=1
                                       /olv*smin l*s def /olv*smean o*s def /jsecd 4 def}
                                      {%sector C->V, o3*=0, l3*=0->1, v3*=1
                                       /olv*smin o*s def /olv*smean l*s def /jsecd 3 def
                                      } ifelse
                          } if

/c*rs olv*smax olv*smin sub def
/n*s 1 olv*smax sub def
/w*s 1 n*s sub c*rs sub def
/t*s 1 n*s sub c*rs 0.5 mul sub def

/b_a olv*smean olv*smax div def
/c_a olv*smin  olv*smax div def
/alpha 1 c_a sub def
/faktd b_a c_a sub alpha 0.00001 add div def
/fakmd 1 faktd sub def

%jsecd interpreted as device angle

jsecd 0 eq {%sector O->Y, o3*=1, l3*=0->1, v3*=0
            /o3*ddMa 1 def     /l3*ddMa faktd def /v3*ddMa 0 def
            /H*M LAB*Hd 0 get LAB*Hd 1 get LAB*Hd 0 get sub faktd mul add def
            /u*ddMa1 (o) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (y) def} if
jsecd 1 eq {%sector Y->L, o3*=1->0, l3*=1, v3*=0
            /o3*ddMa faktd def /l3*ddMa 1 def     /v3*ddMa 0 def
            /H*M LAB*Hd 1 get LAB*Hd 2 get LAB*Hd 1 get sub fakmd mul add def
            /u*ddMa1 (y) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (l) def} if
jsecd 2 eq {%sector L->C, o3*=0, l3*=1, v3*=0->1
            /o3*ddMa 0 def     /l3*ddMa 1 def     /v3*ddMa faktd def
            /H*M LAB*Hd 2 get LAB*Hd 3 get LAB*Hd 2 get sub faktd mul add def
            /u*ddMa1 (l) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (c) def} if
jsecd 3 eq {%sector C->V, o3*=0, l3*=0->1, v3*=1
            /o3*ddMa 0 def     /l3*ddMa faktd def /v3*ddMa 1 def
            /H*M LAB*Hd 3 get LAB*Hd 4 get LAB*Hd 3 get sub fakmd mul add def
            /u*ddMa1 (c) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (v) def} if
jsecd 4 eq {%sector V->M, o3*=0->1, l3*=0, v3*=1
            /o3*ddMa faktd def /l3*ddMa 0 def     /v3*ddMa 1 def
            /H*M LAB*Hd 4 get LAB*Hd 5 get LAB*Hd 4 get sub faktd mul add def
            /u*ddMa1 (v) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (m) def} if
jsecd 5 eq {%sector M->O, o3*=1, l3*=0, v3*=1->0
            /o3*ddMa 1 def     /l3*ddMa 0 def     /v3*ddMa faktd def
            /H*M LAB*Hd 5 get LAB*Hd 6 get LAB*Hd 5 get sub fakmd mul add def
            /u*ddMa1 (m) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (o) def} if
            
/i3*ddMa 1 def
/c3*ddMa 1 o3*ddMa sub def
/m3*ddMa 1 l3*ddMa sub def
/y3*ddMa 1 v3*ddMa sub def
/n3*ddMa 0 def

H*M 360 ge {/H*M H*M 360 sub def} if

%H*M = H*abd = H*abe for all hue angles
/H*abe H*M def

%calculations for elementary (e) system:
%faktor and section in actual System (for example ORS18)
/jsece -1 def

%main equations
%fakte = [col_angh - LAB*He(n)]/[LAB*He(n+1) - LAB*He(n)]
%col_angh = fakte [LAB*He(n+1) - LAB*He(n)] + LAB*He(n)

H*abe LAB*He 0 get lt {/H*abe H*abe 360 add def} if

0 1 5 {/nx exch def
       /np nx 1 add def
       H*abe LAB*He nx get ge 
       H*abe LAB*He np get lt and {/jsece nx def
                                   /fakte H*abe LAB*He nx get sub
                                   LAB*He np get LAB*He nx get sub div def} if
      } for %nx=0,5

%1 0 0 %R  jsece=0
%1 1 0 %J  jsece=1
%0 1 0 %G  jsece=2
%0 1 1 %C'  jsece=3
%0 0 1 %B  jsece=4
%1 0 1 %R  jsece=5

jsece -1 eq {STOPjsece} if

/fakme 1 fakte sub def
/o3*deMa -1 def /l3*deMa -1 def /v3*deMa -1 def

jsece 0 eq {%sector O->Y, o3*=1, l3*=0->1, v*=0
            /o3*deMa 1 def     /l3*deMa fakte def /v3*deMa 0 def
            /u*dtMa1 (r) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (j) def
            /u*deMa1 (r) def /u*deMai fakte 99 mul cviht def /u*deMa2 (j) def} if
jsece 1 eq {%sector Y->L, o3*=1->0, l3*=1, v*=0
            /o3*deMa fakme def /l3*deMa 1 def     /v3*deMa 0 def
            /u*dtMa1 (j) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (g) def
            /u*deMa1 (j) def /u*deMai fakte 99 mul cviht def /u*deMa2 (g) def} if
jsece 2 eq {%sector L->C, o3*=0, l3*=1, v*=0->1
            /o3*deMa 0 def     /l3*deMa 1 def     /v3*deMa fakte def
            /u*dtMa1 (g) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (c') def
            /u*deMa1 (g) def /u*deMai fakte 99 mul 0.5 mul cviht def /u*deMa2 (b) def} if
jsece 3 eq {%sector C->V, o3*=0, l3*=0->1, v*=1
            /o3*deMa 0 def     /l3*deMa fakme def /v3*deMa 1 def
            /u*dtMa1 (c') def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (b) def
            /u*deMa1 (g) def /u*deMai fakte 99 mul 0.5 mul 50 add cviht def /u*deMa2 (b) def} if
jsece 4 eq {%sector V->M, o3*=0->1, l3*=0, v*=1
            /o3*deMa fakte def /l3*deMa 0 def     /v3*deMa 1 def
            /u*dtMa1 (b) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (m') def
            /u*deMa1 (b) def /u*deMai fakte 99 mul 0.5 mul cviht def /u*deMa2 (r) def} if
jsece 5 eq {%sector M->O, o3*=1, l3*=0, v*=1->0
            /o3*deMa 1 def     /l3*deMa 0 def     /v3*deMa fakme def
            /u*dtMa1 (m') def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (r) def
            /u*deMa1 (b) def /u*deMai fakte 99 mul 0.5 mul 50 add cviht def /u*deMa2 (r) def} if

o3*deMa -1 eq {STOPo3*Ma0} if
l3*deMa -1 eq {STOPl3*Ma0} if
v3*deMa -1 eq {STOPv3*Ma0} if

/i3*deMa 1 def
/c3*deMa 1 o3*deMa sub def
/m3*deMa 1 l3*deMa sub def
/y3*deMa 1 v3*deMa sub def
/n3*deMa 0 def

/lab*nMa 0.00 def
/lab*cMa 1.00 def
/lab*wMa 0.00 def
/lab*tMa 0.50 def
/lab*hMa H*Ma 360 div def
/lab*lMa L*Ma nLAB*s0 0 get sub
         wLAB*s0 0 get nLAB*s0 0 get sub 0.000001 add div def

/o3*dd o*s def /o3*dd w*s o3*ddMa c*rs mul add def
/l3*dd l*s def /l3*dd w*s l3*ddMa c*rs mul add def
/v3*dd v*s def /v3*dd w*s v3*ddMa c*rs mul add def

/o3*de w*s o3*deMa c*rs mul add def
/l3*de w*s l3*deMa c*rs mul add def
/v3*de w*s v3*deMa c*rs mul add def

} ifelse %chromatic colour i*p#6

%For tLAB=1 Transfer to LAB*Ma and LAB*Fa
tLAB 1 eq {%tLAB = 1
i*p 6 eq
{%achromatic,chromatic colours
/L*Ma L*Wio def
/A*Ma 0 def
/B*Ma 0 def
/H*Ma B*Ma A*Ma 0.0001 add atan def
/C*Ma 0 def
/L*Fa L*Nio L*Wio L*Nio sub w*s mul add def
/A*Fa 0 def
/B*Fa 0 def
/H*Fa B*Fa A*Fa 0.0001 add atan def
/C*Fa 0 def
} %achromatic i*p=6
{ %chromatic  i*p#6
%H*M allready defined
/L*Ha 50 def
/A*Ha 75 H*M cos mul def
/B*Ha 75 H*M sin mul def
/UXF1a wLAB*s0 1 get B*Ha mul wLAB*s0 2 get A*Ha mul sub def
/UXF2a wLAB*s0 2 get L*Ha mul wLAB*s0 0 get B*Ha mul sub def
/UXF3a wLAB*s0 0 get A*Ha mul wLAB*s0 1 get L*Ha mul sub def

/T1 0 def
/T2 0 def
0 1 5 {/ia exch def
       /ia30 ia 3 mul def
       ia 5 eq {/ia31 0 def} {/ia31 ia30 3 add def} ifelse
       /T1 LAB*a ia30       get UXF1a mul
           LAB*a ia30 1 add get UXF2a mul add
           LAB*a ia30 2 add get UXF3a mul add def
       /T2 LAB*a ia31       get UXF1a mul
           LAB*a ia31 1 add get UXF2a mul add
           LAB*a ia31 2 add get UXF3a mul add def
       T1 0 le {/T1X (N) def} {/T1X (P) def} ifelse
       T2 0 gt {/T2X (P) def} {/T2X (N) def} ifelse
       T1 0 le T2 0 gt and {/ia3END ia30 def exit} if
      } for

/L*11a LAB*a ia3END       get def
/A*11a LAB*a ia3END 1 add get def
/B*11a LAB*a ia3END 2 add get def
ia3END 15 ge {/ia3END -3 def} if
/L*21a LAB*a ia3END 3 add get def
/A*21a LAB*a ia3END 4 add get def
/B*21a LAB*a ia3END 5 add get def

/NENNER L*21a L*11a sub UXF1a mul
        A*21a A*11a sub UXF2a mul add
        B*21a B*11a sub UXF3a mul add def
/ZAEHLE L*21a UXF1a mul
        A*21a UXF2a mul add
        B*21a UXF3a mul add def
NENNER 0 ne {/ALPH ZAEHLE NENNER div def}
            {/ALPH 99999} ifelse

/L*Ma ALPH L*11a mul 1 ALPH sub L*21a mul add def
/A*Ma ALPH A*11a mul 1 ALPH sub A*21a mul add def
/B*Ma ALPH B*11a mul 1 ALPH sub B*21a mul add def
/C*Ma A*Ma dup mul B*Ma dup mul add 0.000001 add sqrt def
/H*Ma B*Ma A*Ma 0.0001 add atan def

%equations
%/c*rs olv*smax olv*smin sub def
%/n*s 1 olv*smax sub def
%/w*s 1 n*s sub c*rs sub def
%/t*s 1 n*s sub c*rs 0.5 mul sub def
%l* = t* + c* [L*M - L*N]/[L*W - L*N] - 0.5 c*
%l* = (L*Fa - L*Na) / (L*Wa - L*Na)
%L*Fa = l* (L*Wa - L*Na) + L*Na
%given L*Nio, L*Wio

/l*s t*s L*Ma L*Nio sub L*Wio L*Nio sub div c*rs mul add c*rs 0.5 mul sub def
/L*Fa L*Nio L*Wio L*Nio sub l*s mul add def
/C*Fa C*Ma c*rs mul def
/H*Fa H*Ma def
/A*Fa C*Fa H*Ma cos mul def
/B*Fa C*Fa H*Ma sin mul def
} ifelse %chromatic colour i*p#6
} if %tLAB = 1

} bind def %END Procedure proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL

%******************************************************************* from De990-7A04.PS

/proc_ColSep*ioL {%BEG Procedure proc_ColSep*ioL ColourSeparation for NP-file 20090901
 
/setgc {pop pop pop 1 exch sub slgray} bind def
/setgm {pop pop 1 exch sub slgray pop} bind def
/setgy {pop 1 exch sub slgray pop pop} bind def
/setgn {1 exch sub slgray pop pop pop} bind def
/setgf {/ncolor exch def /ycolor exch def
        /mcolor exch def /ccolor exch def
        0 ccolor eq 0 mcolor eq and 0 ycolor eq and {1 ncolor sub slgray}
                    {1 ccolor sub 0.71 mul
                     1 mcolor sub 0.22 mul add
                     1 ycolor sub 0.07 mul add slgray} ifelse
       } bind def

/setcmykcolorf { slcmykcolor} bind def %fuer PSL1/2-Farbgeraet

/setcmyknew { %Ersatz setcolornew durch setcmykcolor1
 ausz 1 eq {setgc} if                %C
 ausz 2 eq {setgm} if                %M
 ausz 3 eq {setgy} if                %Y
 ausz 4 eq {pop pop pop /ccolor exch def ccolor 0 0 0
            /setcmykcolor where       %Abfrage Farb-/SW-Geraet
             {pop setcmykcolorf}      %PSL1/2-Farb-Geraet
             {setgc}                   %PSL1-SW-Geraet
             ifelse
           } if                                           %Cbunt
 ausz 5 eq {pop pop /mcolor exch def pop 0 mcolor 0 0
            /setcmykcolor where       %Abfrage Farb-/SW-Geraet
             {pop setcmykcolorf}      %PSL1/2-Farb-Geraet
             {setgm}                   %PSL1-SW-Geraet
             ifelse
           } if                                           %Mbunt
 ausz 6 eq {pop /ycolor exch def pop pop 0 0 ycolor 0
            /setcmykcolor where       %Abfrage Farb-/SW-Geraet
             {pop setcmykcolorf}      %PSL1/2-Farb-Geraet
             {setgy}                   %PSL1-SW-Geraet
             ifelse
           } if                                           %Ybunt
 ausz 7 eq {setgn} if                %N
 ausz 8 ge {
            /setcmykcolor where        %Abfrage Farb-/SW-Geraet
            {pop setcmykcolorf}       %PSL1/2-Farb-Geraet
            {setgf}                     %PSL1-SW-Geraet
            ifelse
           } if %bei ausz=8: Farb- oder SW-Ausdruck je nach Drucker
 
 } bind def

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

/rgb_LAB_Interp_olv*ioL {%BEG Procedure rgb_LAB_Interp_olv*ioL zm60'LABINPLT.PS
%assumes input of rgb, LAB_Interpolation and calculation of olv*

%split in chromatic and achromatic colours
%two special cases black N and white W

/b exch def /g exch def /r exch def

r g sub abs 0.001 le
r b sub abs 0.001 le and {%achromatic case
                          /Case 0 def
                          r abs 0.001 le
                          g abs 0.001 le and
                          b abs 0.001 le and {%N special case                         
                                              /Case 1 def 
                                             } if %N special case

                          1 r sub abs 0.001 le
                          1 g sub abs 0.001 le and
                          1 b sub abs 0.001 le and {%W special case
                                                    /Case 2 def
                                                   } if
                         }%achromatic
                         {%chromatic
                          /Case 3 def
                         } ifelse %chromatic
Case 1 eq {%Black N
           /o* 0 def
           /l* 0 def
           /v* 0 def
          } if %N special case
Case 2 eq {%White W
           /o* 1 def
           /l* 1 def
           /v* 1 def
          } if %W special case

Case 0 eq Case 3 eq or {%chromatic or gray
                        /tLAB 1 def r g b
                        proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                        L*Fa A*Fa B*Fa
                        Lab2RGBinterpolation
                        /v* exch def /l* exch def /o* exch def
                       } if %chromatic or gray

} bind def %END Procedure rgb_LAB_Interp_olv*ioL 'zm60'LABINPLT.PS

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

/trans_rgb3*_cmyn4*ioL {%BEG Procedure trans_rgb3*_cmyn4*ioL
%assumes input of olv*

o* 0 le {/o* 0.0000 def} if
l* 0 le {/l* 0.0000 def} if
v* 0 le {/v* 0.0000 def} if
o* 1 ge {/o* 1.0000 def} if
l* 1 ge {/l* 1.0000 def} if
v* 1 ge {/v* 1.0000 def} if

/tdel 0 def

v* l* ge l* o* ge and tdel 0 eq and % v* >= l* >= o* equal y* <= m* <= c*
%sector C-V of C-M, C>=M: i*p=0
   {/n*n 1 v* sub def
    /w*w o* def
    /tdel 1 def
   } if % v* >= l* >= o*

v* o* ge o* l* ge and tdel 0 eq and % v* >= o* >= l* equal y* <= c* <= m*
%sector V-M of C-M, M>=C: i*p=1
   {/n*n 1 v* sub def
    /w*w l* def
    /tdel 1 def
   } if % v* >= o* >= l*
   
o* v* ge v* l* ge and tdel 0 eq and % o* >= v* >= l* equal c* <= y* <= m*
%sector M-O of M-Y, M>=Y: i*p=2
   {/n*n 1 o* sub def
    /w*w l* def
    /tdel 1 def
   } if % o* >= v* >= l*
    
o* l* ge l* v* ge and tdel 0 eq and % o* >= l* >= v* equal c* <= m* <= y*
%sector O-Y of M-Y, Y>=M: i*p=3   
   {/n*n 1 o* sub def
    /w*w v* def
    /tdel 1 def
   } if % o* >= l* >= v*

l* o* ge o* v* ge and tdel 0 eq and % l* >= o* >= v* equal m* <= c* <= y*
%sector Y-L of Y-C, Y>=C: i*p=4
   {/n*n 1 l* sub def
    /w*w v* def
    /tdel 1 def
   } if % l* >= o* >= v*

l* v* ge v* o* ge and tdel 0 eq and % l* >= v* >= o* equal m* <= y* <= c*
%sector L-C of Y-C, C>=Y: i*p=5
   {/n*n 1 l* sub def
    /w*w o* def
    /tdel 1 def
   } if % l* >= v* >= o*
   
%achromatic
%W: o*, l*, v* = 1.00
1.0 o* sub abs 0.001 le
1.0 l* sub abs 0.001 le and
1.0 v* sub abs 0.001 le and %W special case
{/n*n 0 def /w*w 1 def %W
} if

%N: o*, l*, v* <= 0.001
o* abs 0.001 le
l* abs 0.001 le and
v* abs 0.001 le and %N special case
{/n*n 1 def /w*w 0 def %N
} if

%Achromatic
o* l* sub abs 0.001 le
l* v* sub abs 0.001 le and %Achromatic special case
{/n*n 1 o* sub def /w*w o* def %grey
} if

/lab*wFa w*w def
/lab*nFa n*n def

/c3*Fa 1 o* sub def
/m3*Fa 1 l* sub def
/y3*Fa 1 v* sub def

/c4*Fa c3*Fa lab*nFa sub def %at least one of cmy will be cero
/m4*Fa m3*Fa lab*nFa sub def
/y4*Fa y3*Fa lab*nFa sub def
/n4*Fa lab*nFa def

/o4*Fa 1 c4*Fa sub def
/l4*Fa 1 m4*Fa sub def
/v4*Fa 1 y4*Fa sub def
/i4*Fa 1 n4*Fa sub def

} bind def %END Procedure trans_rgb3*_cmyn4*ioL

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

/trans_rgb3*_cmyn5*ioL {%BEG Procedure trans_rgb3*_cmyn5*ioL
%assumes input of olv*, 'zm60'CMYN559LT.PS

o* 0 le {/o* 0.0000 def} if
l* 0 le {/l* 0.0000 def} if
v* 0 le {/v* 0.0000 def} if
o* 1 ge {/o* 1.0000 def} if
l* 1 ge {/l* 1.0000 def} if
v* 1 ge {/v* 1.0000 def} if

/ok* o* def /lk* l* def /vk* v* def

/tdel 0 def

vk* lk* ge lk* ok* ge and tdel 0 eq and % v* >= l* >= o* equal y* <= m* <= c*
%sector C-V of C-M, C>=M: i*p=0
   {/n*n 1 vk* sub def
    /w*w ok* def
    /m*w lk* def
    /tdel 1 def
    /isec 3 def
   } if % v* >= l* >= o*

vk* ok* ge ok* lk* ge and tdel 0 eq and % v* >= o* >= l* equal y* <= c* <= m*
%sector V-M of C-M, M>=C: i*p=1
   {/n*n 1 vk* sub def
    /w*w lk* def
    /m*w ok* def
    /tdel 1 def
    /isec 4 def
   } if % v* >= o* >= l*
   
ok* vk* ge vk* lk* ge and tdel 0 eq and % o* >= v* >= l* equal c* <= y* <= m*
%sector M-O of M-Y, M>=Y: i*p=2
   {/n*n 1 ok* sub def
    /w*w lk* def
    /m*w vk* def
    /tdel 1 def
    /isec 5 def
   } if % o* >= v* >= l*
    
ok* lk* ge lk* vk* ge and tdel 0 eq and % o* >= l* >= v* equal c* <= m* <= y*
%sector O-Y of M-Y, Y>=M: i*p=3   
   {/n*n 1 ok* sub def
    /w*w vk* def
    /m*w lk* def
    /tdel 1 def
    /isec 0 def
   } if % o* >= l* >= v*

lk* ok* ge ok* vk* ge and tdel 0 eq and % l* >= o* >= v* equal m* <= c* <= y*
%sector Y-L of Y-C, Y>=C: i*p=4
   {/n*n 1 lk* sub def
    /w*w vk* def
    /m*w ok* def
    /tdel 1 def
    /isec 1 def
   } if % l* >= o* >= v*

lk* vk* ge vk* ok* ge and tdel 0 eq and % l* >= v* >= o* equal m* <= y* <= c*
%sector L-C of Y-C, C>=Y: i*p=5
   {/n*n 1 lk* sub def
    /w*w ok* def
    /m*w vk* def
    /tdel 1 def
    /isec 2 def
   } if % l* >= v* >= o*
   
%achromatic
%W: ok*, lk*, vk* = 1.00
1.0 ok* sub abs 0.001 le
1.0 lk* sub abs 0.001 le and
1.0 vk* sub abs 0.001 le and %W special case
{/n*n 0 def /w*w 1 def /m*w 1 def %W
    /isec 6 def
} if

%N: ok*, lk*, vk* <= 0.001
ok* abs 0.001 le
lk* abs 0.001 le and
vk* abs 0.001 le and %N special case
{/n*n 1 def /w*w 0 def /m*w 0 def %N
    /isec 6 def
} if

%Achromatic
ok* lk* sub abs 0.001 le
lk* vk* sub abs 0.001 le and %Achromatic special case
{/n*n 1 ok* sub def /w*w ok* def /m*w ok* def %grey
    /isec 6 def
} if

/lab*wFa w*w def
/lab*nFa n*n def
/lab*cFa 1 n*n sub w*w sub def

/argb 1 lab*nFa sub def
/brgb m*w def
/crgb lab*wFa def
/c*   lab*cFa def
/lab*tFa 1 lab*nFa sub lab*cFa 0.5 mul sub def

isec 6 eq {%BEG isec=6 achromatic
           /o*1 1 def
           /l*1 1 def
           /v*1 1 def
          }%END isec=6 achromatic
          {%BEG isec#6 chromatic
           /o*1 ok* argb 0.000001 add div def
           /l*1 lk* argb 0.000001 add div def
           /v*1 vk* argb 0.000001 add div def
          } ifelse %END isec#6

/c3*Fa 1 o*1 sub def
/m3*Fa 1 l*1 sub def
/y3*Fa 1 v*1 sub def

/c4*Fa c3*Fa def %at least one of cmy will be cero
/m4*Fa m3*Fa def
/y4*Fa y3*Fa def
/n4*Fa lab*nFa def

/o4*Fa 1 c4*Fa sub def
/l4*Fa 1 m4*Fa sub def
/v4*Fa 1 y4*Fa sub def
/i4*Fa 1 n4*Fa sub def
              
} bind def %END Procedure trans_rgb3*_cmyn5*ioL 'zm60'CMYN559LT.PS

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

/trans_rgb3*_cmyn6*ioL {%BEG Procedure trans_rgb3*_cmyn6*ioL
%assumes input of olv*, 'zm60'CMYN559LT.PS

o* 0 le {/o* 0.0000 def} if
l* 0 le {/l* 0.0000 def} if
v* 0 le {/v* 0.0000 def} if
o* 1 ge {/o* 1.0000 def} if
l* 1 ge {/l* 1.0000 def} if
v* 1 ge {/v* 1.0000 def} if

/ok* o* def /lk* l* def /vk* v* def

/tdel 0 def

vk* lk* ge lk* ok* ge and tdel 0 eq and % v* >= l* >= o* equal y* <= m* <= c*
%sector C-V of C-M, C>=M: i*p=0
   {/n*n 1 vk* sub def
    /w*w ok* def
    /m*w lk* def
    /tdel 1 def
    /isec 3 def
   } if % v* >= l* >= o*

vk* ok* ge ok* lk* ge and tdel 0 eq and % v* >= o* >= l* equal y* <= c* <= m*
%sector V-M of C-M, M>=C: i*p=1
   {/n*n 1 vk* sub def
    /w*w lk* def
    /m*w ok* def
    /tdel 1 def
    /isec 4 def
   } if % v* >= o* >= l*
   
ok* vk* ge vk* lk* ge and tdel 0 eq and % o* >= v* >= l* equal c* <= y* <= m*
%sector M-O of M-Y, M>=Y: i*p=2
   {/n*n 1 ok* sub def
    /w*w lk* def
    /m*w vk* def
    /tdel 1 def
    /isec 5 def
   } if % o* >= v* >= l*
    
ok* lk* ge lk* vk* ge and tdel 0 eq and % o* >= l* >= v* equal c* <= m* <= y*
%sector O-Y of M-Y, Y>=M: i*p=3   
   {/n*n 1 ok* sub def
    /w*w vk* def
    /m*w lk* def
    /tdel 1 def
    /isec 0 def
   } if % o* >= l* >= v*

lk* ok* ge ok* vk* ge and tdel 0 eq and % l* >= o* >= v* equal m* <= c* <= y*
%sector Y-L of Y-C, Y>=C: i*p=4
   {/n*n 1 lk* sub def
    /w*w vk* def
    /m*w ok* def
    /tdel 1 def
    /isec 1 def
   } if % l* >= o* >= v*

lk* vk* ge vk* ok* ge and tdel 0 eq and % l* >= v* >= o* equal m* <= y* <= c*
%sector L-C of Y-C, C>=Y: i*p=5
   {/n*n 1 lk* sub def
    /w*w ok* def
    /m*w vk* def
    /tdel 1 def
    /isec 2 def
   } if % l* >= v* >= o*
   
%achromatic
%W: ok*, lk*, vk* = 1.00
1.0 ok* sub abs 0.001 le
1.0 lk* sub abs 0.001 le and
1.0 vk* sub abs 0.001 le and %W special case
{/n*n 0 def /w*w 1 def /m*w 1 def %W
    /isec 6 def
} if

%N: ok*, lk*, vk* <= 0.001
ok* abs 0.001 le
lk* abs 0.001 le and
vk* abs 0.001 le and %N special case
{/n*n 1 def /w*w 0 def /m*w 0 def %N
    /isec 6 def
} if

%Achromatic
ok* lk* sub abs 0.001 le
lk* vk* sub abs 0.001 le and %Achromatic special case
{/n*n 1 ok* sub def /w*w ok* def /m*w ok* def %grey
    /isec 6 def
} if

/lab*wFa w*w def
/lab*nFa n*n def
/lab*cFa 1 n*n sub w*w sub def

/argb 1 lab*nFa sub def
/brgb m*w def
/crgb lab*wFa def
/c*   lab*cFa def
/lab*tFa 1 lab*nFa sub lab*cFa 0.5 mul sub def

isec 6 eq {%BEG isec=6 achromatic
           /o*1 1 def
           /l*1 1 def
           /v*1 1 def
          }%END isec=6 achromatic
          {%BEG isec#6 chromatic
           /o*1 ok* argb 0.000001 add div def
           /l*1 lk* argb 0.000001 add div def
           /v*1 vk* argb 0.000001 add div def
          } ifelse %END isec#6

/c3*Fa 1 o*1 sub def
/m3*Fa 1 l*1 sub def
/y3*Fa 1 v*1 sub def

/c41*Fa c3*Fa def %at least one of cmy will be cero
/m41*Fa m3*Fa def
/y41*Fa y3*Fa def
/n4*Fa lab*nFa def

%change by deepness difference delta d* = c*S1 - c*S2
%use lab*cFa, lab*tFa for correction
%equations of three lines
%t* = 1 - 0.5 c*
%t* = [t* / c*] c*
%t* = [(t* + 0,18) / c*] c* - 0,18
%cut point S1 for nt=0,18:
%c*s1 = 1 /[ t*F / c*F + 0,5 ]
%cut point S2 for n=0,18:
%c*s1 = (1 + nt) / [ (t*F + nt) / c*F + 0,5 ]

%special case lab*cFa=0 and n=0,18
/nt 0.18 def
lab*cFa 0 eq { %lab*cFa=0,#0
              /c*S1 0 def
              /c*S2 0 def
             } %lab*cFa=0
             { %lab*cFa#0
              /c*S1 1 lab*tFa lab*cFa div 0.5 add div def
              /c*S2 1 nt add lab*tFa nt add lab*cFa div 0.5 add div def
             } ifelse %lab*cFa=0,#0

/c4*Fa c41*Fa c41*Fa c*S1 c*S2 sub mul sub def
/m4*Fa m41*Fa m41*Fa c*S1 c*S2 sub mul sub def
/y4*Fa y41*Fa y41*Fa c*S1 c*S2 sub mul sub def

/o4*Fa 1 c4*Fa sub def
/l4*Fa 1 m4*Fa sub def
/v4*Fa 1 y4*Fa sub def
/i4*Fa 1 n4*Fa sub def
              
} bind def %END Procedure trans_rgb3*_cmyn6*ioL 'zm60'CMYN559LT.PS

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

%BEG 'zm60'COLM57_590415LT.PS 20090901

ColSpx 0 eq {%ColSpx=0
/tLAB 0 def
xcharti 1 ge {%xcharti>=1 'zm60'COLM57LT.PS cmy0* 20090901
colorm 0 eq {%BEG colorm=0
             /setrgbcolor {/v* exch def /l* exch def /o* exch def
                           DEintp 1 eq {o* l* v*
                           proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL 
                           /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           %standard cmy0* for input
                           /c4*Fa 1 o* sub def
                           /m4*Fa 1 l* sub def
                           /y4*Fa 1 v* sub def
                           /n4*Fa 0 def
                           c4*Fa m4*Fa y4*Fa n4*Fa
                           setcmyknew
                          } def
             /setgray {dup dup
                       /v* exch def /l* exch def /o* exch def
                       DEintp 1 eq {o* l* v*
                       proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                       /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                       %standard cmy0* for input
                       /c4*Fa 1 o* sub def
                       /m4*Fa 1 l* sub def
                       /y4*Fa 1 v* sub def
                       /n4*Fa 0 def
                       c4*Fa m4*Fa y4*Fa n4*Fa
                       setcmyknew
                      } def
             /setcmykcolor {/n*n exch def /y*n exch def
                            /m*n exch def /c*n exch def
                            %standard cmy0* for input
                            n*n 0 eq {/o* 1 c*n sub def
                                      /l* 1 m*n sub def
                                      /v* 1 y*n sub def
                                      /i* 0 def
                                     }
                                     {/o* 1 n*n sub def
                                      /l* 1 n*n sub def
                                      /v* 1 n*n sub def
                                      /i* 0 def
                                     } ifelse
                            DEintp 1 eq {o* l* v*
                            proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                            /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                            /c4*Fa 1 o* sub def
                            /m4*Fa 1 l* sub def
                            /y4*Fa 1 v* sub def
                            /n4*Fa 0 def
                            c4*Fa m4*Fa y4*Fa n4*Fa
                            setcmyknew
                           } def
            }%END colorm=0
            {%BEG colorm=1
             /setrgbcolor {/v* exch def /l* exch def /o* exch def
                           DEintp 1 eq {o* l* v*
                           proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                           /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           o* l* v*
                           rgb_LAB_Interp_olv*ioL
                           /c4*Fa 1 o* sub def
                           /m4*Fa 1 l* sub def
                           /y4*Fa 1 v* sub def
                           /n4*Fa 0 def
                           c4*Fa m4*Fa y4*Fa n4*Fa
                           setcmyknew
                          } def
            /setgray {/w*w exch def
                      /o* w*w def /l* w*w def /v* w*w def
                      DEintp 1 eq {o* l* v*
                      proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                      /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                      o* l* v*
                      rgb_LAB_Interp_olv*ioL
                      /c4*Fa 1 o* sub def
                      /m4*Fa 1 l* sub def
                      /y4*Fa 1 v* sub def
                      /n4*Fa 0 def
                      c4*Fa m4*Fa y4*Fa n4*Fa
                      setcmyknew
                      } def
            /setcmykcolor {/n*n exch def /y*n exch def
                           /m*n exch def /c*n exch def
                           %standard cmy0* or 000n* for input
                           n*n 0 eq {/o* 1 c*n sub def
                                     /l* 1 m*n sub def 
                                     /v* 1 y*n sub def}
                                    {/o* 1 n*n sub def
                                     /l* 1 n*n sub def 
                                     /v* 1 n*n sub def} ifelse
                           DEintp 1 eq {o* l* v*
                           proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                           /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           o* l* v*
                           rgb_LAB_Interp_olv*ioL
                           /c4*Fa 1 o* sub def
                           /m4*Fa 1 l* sub def
                           /y4*Fa 1 v* sub def
                           /n4*Fa 0 def
                           c4*Fa m4*Fa y4*Fa n4*Fa
                           setcmyknew
                          } def
             } ifelse %END colorm=1
             }%END %xcharti>=1
             {%BEG %xcharti=0
              /setrgbcolor {/v* exch def /l* exch def /o* exch def
                           /c4*Fa 1 o* sub def
                           /m4*Fa 1 l* sub def
                           /y4*Fa 1 v* sub def
                           /n4*Fa 0 def
                           o* l* v*
                           slrgbcolor
                          } def
             /setgray {dup dup
                       /v* exch def /l* exch def /o* exch def
                       /c4*Fa 1 o* sub def
                       /m4*Fa 1 l* sub def
                       /y4*Fa 1 v* sub def
                       /n4*Fa 0 def
                       o*
                       slgray
                      } def
             /setcmykcolor {/n*n exch def /y*n exch def
                            /m*n exch def /c*n exch def
                            n*n 0 eq {/o* 1 c*n sub def
                                      /l* 1 m*n sub def
                                      /v* 1 y*n sub def
                                      /n4*Fa 0 def}
                                     {/o* 1 def
                                      /l* 1 def
                                      /v* 1 def
                                      /n4*Fa n*n def} ifelse
                            /c4*Fa 1 o* sub def
                            /m4*Fa 1 l* sub def
                            /y4*Fa 1 v* sub def
                            c4*Fa m4*Fa y4*Fa n4*Fa
                            slcmykcolor
                          } def
             } ifelse %END %xcharti=0 'zm60'COLM57LT.PS cmy0* 20090901

} if %ColSpx=0

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

ColSpx 1 eq {%ColSpx=1
/tLAB 0 def
xcharti 1 ge {%xcharti>=1 'zm60'COLM559LT.PS cmyn6* 20080201
colorm 0 eq {%BEG colorm=0
             /olvtrans 1 def %changes olv* to olvk*
             /setrgbcolor {/v* exch def /l* exch def /o* exch def
                           DEintp 1 eq {o* l* v*
                           proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                           /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           trans_rgb3*_cmyn6*ioL %in: olv*, out: cmyn6
                           c4*Fa m4*Fa y4*Fa n4*Fa
                           setcmyknew
                          } def
             /setgray {/w*w exch def /v* w*w def /l* w*w def /o* w*w def
                       DEintp 1 eq {o* l* v*
                       proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                       /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                       trans_rgb3*_cmyn6*ioL %in: olv*, out: cmyn6
                       c4*Fa m4*Fa y4*Fa n4*Fa
                       setcmyknew
                      } def
             /setcmykcolor {/n*n exch def /y*n exch def
                            /m*n exch def /c*n exch def
                            %standard cmy0* or 000n* for input
                            n*n 0 eq {/o* 1 c*n sub def
                                      /l* 1 m*n sub def
                                      /v* 1 y*n sub def}
                                     {/o* 1 n*n sub def 
                                      /l* 1 n*n sub def
                                      /v* 1 n*n sub def} ifelse
                            DEintp 1 eq {o* l* v*
                            proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                            /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                            trans_rgb3*_cmyn6*ioL %in: olv*, out: cmyn6
                            c4*Fa m4*Fa y4*Fa n4*Fa
                            setcmyknew
                           } def
            }%END colorm=0
            {%BEG colorm=1
             /olvtrans 0 def %no change of olv*
             /setrgbcolor {/v* exch def /l* exch def /o* exch def
                           DEintp 1 eq {o* l* v*
                           proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                           /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           o* l* v*
                           rgb_LAB_Interp_olv*ioL
                           trans_rgb3*_cmyn6*ioL %in: olv*, out: cmyn6
                           c4*Fa m4*Fa y4*Fa n4*Fa
                           setcmyknew
                          } def
            /setgray {dup dup
                      /v* exch def /l* exch def /o* exch def
                      DEintp 1 eq {o* l* v*
                      proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                      /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                      o* l* v*
                      rgb_LAB_Interp_olv*ioL
                      trans_rgb3*_cmyn6*ioL %in: olv*, out: cmyn6
                      c4*Fa m4*Fa y4*Fa n4*Fa
                      setcmyknew
                     } def
             /setcmykcolor {/n*n exch def /y*n exch def
                            /m*n exch def /c*n exch def
                            %standard cmy0* or 000n* for input
                            n*n 0 eq {/o* 1 c*n sub def
                                      /l* 1 m*n sub def
                                      /v* 1 y*n sub def}
                                     {/o* 1 n*n sub def 
                                      /l* 1 n*n sub def
                                      /v* 1 n*n sub def} ifelse
                            DEintp 1 eq {o* l* v*
                            proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                            /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                            o* l* v*
                            rgb_LAB_Interp_olv*ioL
                            trans_rgb3*_cmyn6*ioL %in: olv*, out: cmyn6
                            c4*Fa m4*Fa y4*Fa n4*Fa
                            setcmyknew
                           } def
             } ifelse %END colorm=1
             }%END %xcharti>=0
             {%BEG %xcharti=0
             /setrgbcolor {/v* exch def /l* exch def /o* exch def
                           /c4*Fa 1 o* sub def
                           /m4*Fa 1 l* sub def
                           /y4*Fa 1 v* sub def
                           /n4*Fa 0 def
                           o* l* v*
                           slrgbcolor
                          } def
             /setgray {dup dup
                       /v* exch def /l* exch def /o* exch def
                       /c4*Fa 1 o* sub def
                       /m4*Fa 1 l* sub def
                       /y4*Fa 1 v* sub def
                       /n4*Fa 0 def
                       o*
                       slgray
                      } def
             /setcmykcolor {/n*n exch def /y*n exch def
                            /m*n exch def /c*n exch def
                            n*n 0 eq {/o* 1 c*n sub def
                                      /l* 1 m*n sub def
                                      /v* 1 y*n sub def
                                      /n4*Fa 0 def}
                                     {/o* 1 def
                                      /l* 1 def
                                      /v* 1 def
                                      /n4*Fa n*n def} ifelse
                            /c4*Fa 1 o* sub def
                            /m4*Fa 1 l* sub def
                            /y4*Fa 1 v* sub def
                            c4*Fa m4*Fa y4*Fa n4*Fa
                            slcmykcolor
                           } def
             } ifelse %END %xcharti=0 'zm60'COLM559LT.PS cmyn6* 20080201

} if %ColSpx=1

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

ColSpx 2 eq {%ColSpx=2
/tLAB 0 def
xcharti 1 ge {%xcharti>=1 'zm60'COLM58LT.PS cmyn4* 20090901
colorm 0 eq {%BEG colorm=0
             /setrgbcolor {/v* exch def /l* exch def /o* exch def
                           DEintp 1 eq {o* l* v*
                           proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                           /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           trans_rgb3*_cmyn4*ioL %in: olv*, out: cmyn4
                           c4*Fa m4*Fa y4*Fa n4*Fa
                           setcmyknew
                          } def
             /setgray {dup dup /v* exch def /l* exch def /o* exch def
                       DEintp 1 eq {o* l* v*
                       proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                       /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                       trans_rgb3*_cmyn4*ioL %in: olv*, out: cmyn4
                       c4*Fa m4*Fa y4*Fa n4*Fa
                       setcmyknew
                      } def
             /setcmykcolor {/n*n exch def /y*n exch def
                            /m*n exch def /c*n exch def
                            %standard cmy0* or 000n* for input
                            n*n 0 eq {/o* 1 c*n sub def
                                      /l* 1 m*n sub def
                                      /v* 1 y*n sub def}
                                     {/o* 1 n*n sub def 
                                      /l* 1 n*n sub def
                                      /v* 1 n*n sub def} ifelse
                            DEintp 1 eq {o* l* v*
                            proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                            /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                            trans_rgb3*_cmyn4*ioL %in: olv*, out: cmyn4
                            c4*Fa m4*Fa y4*Fa n4*Fa
                            setcmyknew
                           } def
            }%END colorm=0
            {%BEG colorm=1
             /setrgbcolor {/v* exch def /l* exch def /o* exch def
                           DEintp 1 eq {o* l* v*
                           proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                           /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           o* l* v*
                           rgb_LAB_Interp_olv*ioL
                           trans_rgb3*_cmyn4*ioL %needs olv* for input
                           %produces cmyn4*ioL as output
                           c4*Fa m4*Fa y4*Fa n4*Fa
                           setcmyknew
                          } def
            /setgray {dup dup /v* exch def /l* exch def /o* exch def
                      DEintp 1 eq {o* l* v*
                      proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                      /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                      o* l* v*
                      rgb_LAB_Interp_olv*ioL
                      trans_rgb3*_cmyn4*ioL %in: olv*, out: cmyn4
                      c4*Fa m4*Fa y4*Fa n4*Fa
                      setcmyknew
                     } def
             /setcmykcolor {/n*n exch def /y*n exch def
                            /m*n exch def /c*n exch def
                            %standard cmy0* or 000n* for input
                            n*n 0 eq {/o* 1 c*n sub def
                                      /l* 1 m*n sub def
                                      /v* 1 y*n sub def}
                                     {/o* 1 n*n sub def 
                                      /l* 1 n*n sub def
                                      /v* 1 n*n sub def} ifelse
                            DEintp 1 eq {o* l* v*
                            proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                            /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                            o* l* v*
                            rgb_LAB_Interp_olv*ioL
                            trans_rgb3*_cmyn4*ioL %in: olv*, out: cmyn4
                            c4*Fa m4*Fa y4*Fa n4*Fa
                            setcmyknew
                           } def
             } ifelse %END colorm=1
             }%END %xcharti>=0
             {%BEG %xcharti=0
             /setrgbcolor {/v* exch def /l* exch def /o* exch def
                           /c4*Fa 1 o* sub def
                           /m4*Fa 1 l* sub def
                           /y4*Fa 1 v* sub def
                           /n4*Fa 0 def
                           o* l* v*
                           slrgbcolor
                          } def
             /setgray {dup dup /v* exch def /l* exch def /o* exch def
                       /c4*Fa 1 o* sub def
                       /m4*Fa 1 l* sub def
                       /y4*Fa 1 v* sub def
                       /n4*Fa 0 def
                       o*
                       slgray
                      } def
             /setcmykcolor {/n*n exch def /y*n exch def
                            /m*n exch def /c*n exch def
                            n*n 0 eq {/o* 1 c*n sub def
                                      /l* 1 m*n sub def
                                      /v* 1 y*n sub def
                                      /n4*Fa 0 def}
                                     {/o* 1 def
                                      /l* 1 def
                                      /v* 1 def
                                      /n4*Fa n*n def} ifelse
                            /c4*Fa 1 o* sub def
                            /m4*Fa 1 l* sub def
                            /y4*Fa 1 v* sub def
                            c4*Fa m4*Fa y4*Fa n4*Fa
                            slcmykcolor
                           } def
             } ifelse %END %xcharti=0 'zm60'COLM58LT.PS cmyn4* 20090901

} if %ColSpx=2

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

ColSpx 3 eq {%ColSpx=3
/tLAB 0 def
xcharti 1 ge {%xcharti>=1 'zm60'COLM559LT.PS cmyn5* 20090901
colorm 0 eq {%BEG colorm=0
             /setrgbcolor {/v* exch def /l* exch def /o* exch def
                           DEintp 1 eq {o* l* v*
                           proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                           /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           trans_rgb3*_cmyn5*ioL %in: olv*, out: cmyn5
                           c4*Fa m4*Fa y4*Fa n4*Fa
                           setcmyknew
                          } def
             /setgray {dup dup /v* exch def /l* exch def /o* exch def
                       DEintp 1 eq {o* l* v*
                       proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                       /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                       trans_rgb3*_cmyn5*ioL %in: olv*, out: cmyn5
                       c4*Fa m4*Fa y4*Fa n4*Fa
                       setcmyknew
                      } def
             /setcmykcolor {/n*n exch def /y*n exch def
                            /m*n exch def /c*n exch def
                            %standard cmy0* or 000n* for input
                            n*n 0 eq {/o* 1 c*n sub def
                                      /l* 1 m*n sub def
                                      /v* 1 y*n sub def}
                                     {/o* 1 n*n sub def 
                                      /l* 1 n*n sub def
                                      /v* 1 n*n sub def} ifelse
                            DEintp 1 eq {o* l* v*
                            proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                            /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                            trans_rgb3*_cmyn5*ioL %in: olv*, out: cmyn5
                            c4*Fa m4*Fa y4*Fa n4*Fa
                            setcmyknew
                           } def
            }%END colorm=0
            {%BEG colorm=1
             /olvtrans 0 def %no change of olv*
             /setrgbcolor {/v* exch def /l* exch def /o* exch def
                           DEintp 1 eq {o* l* v*
                           proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                           /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           o* l* v*
                           rgb_LAB_Interp_olv*ioL
                           trans_rgb3*_cmyn5*ioL %in: olv*, out: cmyn5
                           c4*Fa m4*Fa y4*Fa n4*Fa
                           setcmyknew
                          } def
            /setgray {dup dup /v* exch def /l* exch def /o* exch def
                      DEintp 1 eq {o* l* v*
                      proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                      /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                      o* l* v*
                      rgb_LAB_Interp_olv*ioL
                      trans_rgb3*_cmyn5*ioL %in: olv*, out: cmyn5
                      c4*Fa m4*Fa y4*Fa n4*Fa
                      setcmyknew
                     } def
             /setcmykcolor {/n*n exch def /y*n exch def
                            /m*n exch def /c*n exch def
                            %standard cmy0* or 000n* for input
                            n*n 0 eq {/o* 1 c*n sub def
                                      /l* 1 m*n sub def
                                      /v* 1 y*n sub def}
                                     {/o* 1 n*n sub def 
                                      /l* 1 n*n sub def
                                      /v* 1 n*n sub def} ifelse
                            DEintp 1 eq {o* l* v* 
                            proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL
                            /o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                            o* l* v*
                            rgb_LAB_Interp_olv*ioL
                            trans_rgb3*_cmyn5*ioL %in: olv*, out: cmyn5
                            c4*Fa m4*Fa y4*Fa n4*Fa
                            setcmyknew
                           } def
             } ifelse %END colorm=1
             }%END %xcharti>=0
             {%BEG %xcharti=0
             /setrgbcolor {/v* exch def /l* exch def /o* exch def
                           /c4*Fa 1 o* sub def
                           /m4*Fa 1 l* sub def
                           /y4*Fa 1 v* sub def
                           /n4*Fa 0 def
                           o* l* v*
                           slrgbcolor
                          } def
             /setgray {dup dup /v* exch def /l* exch def /o* exch def
                       /c4*Fa 1 o* sub def
                       /m4*Fa 1 l* sub def
                       /y4*Fa 1 v* sub def
                       /n4*Fa 0 def
                       o*
                       slgray
                      } def
             /setcmykcolor {/n*n exch def /y*n exch def
                            /m*n exch def /c*n exch def
                            n*n 0 eq {/o* 1 c*n sub def
                                      /l* 1 m*n sub def
                                      /v* 1 y*n sub def
                                      /n4*Fa 0 def}
                                     {/o* 1 def
                                      /l* 1 def
                                      /v* 1 def
                                      /n4*Fa n*n def} ifelse
                            /c4*Fa 1 o* sub def
                            /m4*Fa 1 l* sub def
                            /y4*Fa 1 v* sub def
                            c4*Fa m4*Fa y4*Fa n4*Fa
                            slcmykcolor
                           } def
             } ifelse %END %xcharti=0 'zm60'COLM559LT.PS cmyn5* 20090901

} if  %ColSpx=3

} bind def %BEG Procedure proc_ColSep*ioL ColourSeparation for NP-file 20090901

%*****************************************************************************
%END IG86Y/Y10-7A.EPS, ident. for NP-(*ioL), FP-files (*ioL) 20090901
%*****************************************************************************
%************************************************************************
%BEG IG86Y/Y10-7A.EPS, Procedures for all test elements 20090901
%************************************************************************

/tzNW [0.000 0.067 0.132 0.200 0.267 0.333 0.400 0.467
       0.533 0.600 0.667 0.733 0.800 0.867 0.933 1.000
       0.000 0.250 0.500 0.750 1.000] def
/tzWN [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533
       0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000
       1.000 0.750 0.500 0.250 0.000] def
/tzZW [0.500 0.533 0.567 0.600 0.633 0.667 0.700 0.733
       0.767 0.800 0.833 0.867 0.900 0.933 0.967 1.000
       0.500 0.625 0.750 0.875 1.000] def
/tzWZ [1.000 0.967 0.933 0.900 0.867 0.833 0.800 0.767
       0.733 0.700 0.667 0.633 0.600 0.567 0.533 0.500
       1.000 0.875 0.750 0.625 0.500] def
/tzNZ [0.000 0.033 0.067 0.100 0.133 0.167 0.200 0.233
       0.267 0.300 0.333 0.367 0.400 0.433 0.467 0.500
       0.000 0.125 0.250 0.375 0.500] def
/tzZN [0.500 0.467 0.433 0.400 0.367 0.333 0.300 0.267
       0.233 0.200 0.167 0.133 0.100 0.067 0.033 0.000
       0.500 0.375 0.250 0.125 0.000] def
/tza0 [0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
       0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
       0.000 0.000 0.000 0.000 0.000] def
/tza1 [1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
       1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
       1.000 1.000 1.000 1.000 1.000] def
%ENDE

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

/proc_rosette { %BEG procedure rosette
                %requires 0<=ibild<=5
                %requires DEintp=0,1

DEintp 0 eq xcharti 0 eq or {%DEintp=0,1                
             /tefaolvN [(N-O) (N-L) (N-V) (N-W) (N-Z)] def
             /tefaolvZ [(Z-O) (Z-L) (Z-V) (Z-W) (Z-N)] def
             /tefaolvW [(W-O) (W-L) (W-V) (W-N) (W-Z)] def
             /tefacmyN [(N-C) (N-M) (N-Y) (N-W) (N-Z)] def
             /tefacmyZ [(Z-C) (Z-M) (Z-Y) (Z-W) (Z-N)] def
             /tefacmyW [(W-C) (W-M) (W-Y) (W-N) (W-Z)] def
             } %DEintp=0
             { %DEintp=1
             /tefaolvN [(N-R) (N-G) (N-B) (N-W) (N-Z)] def
             /tefaolvZ [(Z-R) (Z-G) (Z-B) (Z-W) (Z-N)] def
             /tefaolvW [(W-R) (W-G) (W-B) (W-N) (W-Z)] def
             /tefacmyN [(N-C') (N-M') (N-J) (N-W) (N-Z)] def
             /tefacmyZ [(Z-C') (Z-M') (Z-J) (Z-W) (Z-N)] def
             /tefacmyW [(W-C') (W-M') (W-J) (W-N) (W-Z)] def
             } ifelse

/colaolvN [{tgo} {tgl} {tgv} {tgw} {tgz}] def
/colaolvZ [{tgo} {tgl} {tgv} {tgw} {tgn}] def
/colaolvW [{tgo} {tgl} {tgv} {tgn} {tgz}] def

/colacmyN [{tgc} {tgm} {tgy} {tgw} {tgz}] def
/colacmyZ [{tgc} {tgm} {tgy} {tgw} {tgn}] def
/colacmyW [{tgc} {tgm} {tgy} {tgn} {tgz}] def


/colbolvN [{tgc} {tgm} {tgy} {tgo} {tgo}] def
/colbolvZ [{tgc} {tgm} {tgy} {tgo} {tgo}] def
/colbolvW [{tgc} {tgm} {tgy} {tgo} {tgo}] def

/colbcmyN [{tgo} {tgl} {tgv} {tgo} {tgo}] def
/colbcmyZ [{tgo} {tgl} {tgv} {tgo} {tgo}] def
/colbcmyW [{tgo} {tgl} {tgv} {tgo} {tgo}] def

/tefa 5 array def
/cola 5 array def
/colb 5 array def

0 1 4 {/ncol exch def %ncol=0,4
       ibild 0 eq {tefa ncol tefaolvN ncol get put
                   cola ncol colaolvN ncol get put
                   colb ncol colbolvN ncol get put
                  } if
       ibild 1 eq {tefa ncol tefaolvZ ncol get put
                   cola ncol colaolvZ ncol get put
                   colb ncol colbolvZ ncol get put
                  } if
       ibild 2 eq {tefa ncol tefaolvW ncol get put
                   cola ncol colaolvW ncol get put
                   colb ncol colbolvW ncol get put
                  } if
       ibild 3 eq {tefa ncol tefacmyN ncol get put
                   cola ncol colacmyN ncol get put
                   colb ncol colbcmyN ncol get put
                  } if
       ibild 4 eq {tefa ncol tefacmyZ ncol get put
                   cola ncol colacmyZ ncol get put
                   colb ncol colbcmyZ ncol get put
                  } if
       ibild 5 eq {tefa ncol tefacmyW ncol get put
                   cola ncol colacmyW ncol get put
                   colb ncol colbcmyW ncol get put
                  } if
      } for %ncol=0,4

      
ibild 0 eq ibild 3 eq or {/TYP (N) def} if
ibild 1 eq ibild 4 eq or {/TYP (Z) def} if
ibild 2 eq ibild 5 eq or {/TYP () def} if %W

0 0 0 setrgbcolor
TK
0 -230 moveto
ibild 0 eq ibild 3 eq or {(IG860-5, ) show}{(IG861-5, ) show} ifelse

(Bild ) showde (Picture ) showen
ibild 3 ge {(B2) show}{(D2) show} ifelse 
TYP show 
(: ) show 
(Radialgitter ) showde
(Radial gratings ) showen

TBIK
0 1 4 {/ncol exch def %ncol=0,4
       tefa ncol get show
       ncol 3 le {(, ) show} {(; ) show} ifelse
      } for %ncol=0,4

TIK (PS) show
TK (-Operator) showde ( operator) showen

TIK DEintp 0 eq xcharti 0 eq or {( olv* setrgbcolor ) show}
                {( rgb* setrgbcolor ) show} ifelse TK

ibild 0 eq ibild 3 eq or {0 0 0 setrgbcolor} if
ibild 1 eq ibild 4 eq or {0.5 0.5 0.5 setrgbcolor} if
ibild 2 eq ibild 5 eq or {1 1 1 setrgbcolor} if
   0 0  moveto 13000 0 rlineto 0 4000 rlineto
              -13000 0 rlineto closepath fill
0 0 0 setrgbcolor
   0 0  moveto 13000 0 rlineto 0 4000 rlineto
              -13000 0 rlineto closepath stroke

/xab 2500 def

0 1 4 {/ncol exch def %ncol=0,4

xab ncol mul 0 translate

%neuer Rastermittelpunkt und Nullpunkt fuer Rosette, Radius 1,0 cm
 1250  2100 translate
ibild 0 eq ibild 3 eq or {1 1 1}{0 0 0} ifelse setrgbcolor
 newpath 0 0 0500 0 360 arc closepath stroke
 newpath 0 0 1000 0 360 arc closepath stroke

 cola ncol get exec
 0 10 350 {newpath 0 0 moveto 0 0 1200 4 -1 roll dup 5 add  arc
 closepath fill} for

 colb ncol get exec
 newpath 0 0 0300 0 360 arc closepath stroke
 -1250 -2100 translate

%Text Rosette (Siemensstern)
ibild 0 eq ibild 3 eq or {1 1 1} {0 0 0} ifelse setrgbcolor
TBK
   200 0100 moveto
(Radialgitter ) showde
(Radial grating ) showen

TBIK tefa ncol get show
tgz TBM
  1250  500 add 2300 moveto (10) show
  1250 1000 add 2300 moveto (20) show

xab ncol mul neg 0 translate

} for %ncol=0,4

} def %END proc_rosette

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

/proc_16step {%BEG proc_16step
                %requires 0<=ibild<=5
                %requires DEintp=0,1

DEintp 0 eq xcharti 0 eq or {%DEintp=0,1                
             /tefaolvN (N-O, N-L, N-V, W-N) def
             /tefaolvZ (Z-O, Z-L, Z-V, W-N) def
             /tefaolvW (W-O, W-L, W-V, W-N) def
             /tefacmyN (N-C, N-M, N-Y, W-N) def
             /tefacmyZ (Z-C, Z-M, Z-Y, W-N) def
             /tefacmyW (W-C, W-M, W-Y, W-N) def
             /tenfolvN [(O) (L) (V) (N)] def
             /tenfolvZ [(O) (L) (V) (N)] def
             /tenfolvW [(O) (L) (V) (N)] def
             /tenfcmyN [(C) (M) (Y) (N)] def
             /tenfcmyZ [(C) (M) (Y) (N)] def
             /tenfcmyW [(C) (M) (Y) (N)] def
             } %DEintp=0
             { %DEintp=1
             /tefaolvN (N-R, N-G, N-B, W-N) def
             /tefaolvZ (Z-R, Z-G, Z-B, W-N) def
             /tefaolvW (W-R, W-G, W-B, W-N) def
             /tefacmyN (N-C', N-M', N-J, W-N) def
             /tefacmyZ (Z-C', Z-M', Z-J, W-N) def
             /tefacmyW (W-C', W-M', W-J, W-N) def
             /tenfolvN [(R) (G) (B) (N)] def
             /tenfolvZ [(R) (G) (B) (N)] def
             /tenfolvW [(R) (G) (B) (N)] def
             /tenfcmyN [(C') (M') (J) (N)] def
             /tenfcmyZ [(C') (M') (J) (N)] def
             /tenfcmyW [(C') (M') (J) (N)] def
             } ifelse

/colaolvN [{tgw} {tgo} {tgl} {tgv} {tgz}] def
/colaolvZ [{tgn} {tgo} {tgl} {tgv} {tgw}] def
/colaolvW [{tgn} {tgo} {tgl} {tgv} {tgz}] def

/colacmyN [{tgw} {tgc} {tgm} {tgy} {tgz}] def
/colacmyZ [{tgn} {tgc} {tgm} {tgy} {tgw}] def
/colacmyW [{tgn} {tgc} {tgm} {tgy} {tgz}] def

/tzo3N 48 array def
/tzl3N 48 array def
/tzv3N 48 array def
/tzn3N 48 array def

0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %N-OLV
        tzo3N nfar3        tzNW nfar get  put
        tzo3N nfar3 1 add  0.0            put
        tzo3N nfar3 2 add  0.0            put

        tzl3N nfar3        0.0            put
        tzl3N nfar3 1 add  tzNW nfar get  put
        tzl3N nfar3 2 add  0.0            put
                                                 
        tzv3N nfar3        0.0            put
        tzv3N nfar3 1 add  0.0  put
        tzv3N nfar3 2 add  tzNW nfar get  put

        tzn3N nfar3        tzWN nfar get  put
        tzn3N nfar3 1 add  tzWN nfar get  put
        tzn3N nfar3 2 add  tzWN nfar get  put} for
        
/tzo3Z 48 array def
/tzl3Z 48 array def
/tzv3Z 48 array def
/tzn3Z 48 array def

0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %Z-OLV
        tzo3Z nfar3        tzZW nfar get  put
        tzo3Z nfar3 1 add  tzZN nfar get  put
        tzo3Z nfar3 2 add  tzZN nfar get  put

        tzl3Z nfar3        tzZN nfar get  put
        tzl3Z nfar3 1 add  tzZW nfar get  put
        tzl3Z nfar3 2 add  tzZN nfar get  put
                                                 
        tzv3Z nfar3        tzZN nfar get  put
        tzv3Z nfar3 1 add  tzZN nfar get  put
        tzv3Z nfar3 2 add  tzZW nfar get  put

        tzn3Z nfar3        tzWN nfar get  put
        tzn3Z nfar3 1 add  tzWN nfar get  put
        tzn3Z nfar3 2 add  tzWN nfar get  put} for

/tzo3W 48 array def
/tzl3W 48 array def
/tzv3W 48 array def
/tzn3W 48 array def

0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %W-OLV
        tzo3W nfar3        1.0            put
        tzo3W nfar3 1 add  tzWN nfar get  put
        tzo3W nfar3 2 add  tzWN nfar get  put

        tzl3W nfar3        tzWN nfar get  put
        tzl3W nfar3 1 add  1.0  put
        tzl3W nfar3 2 add  tzWN nfar get  put
                                                 
        tzv3W nfar3        tzWN nfar get  put
        tzv3W nfar3 1 add  tzWN nfar get  put
        tzv3W nfar3 2 add  1.0            put

        tzn3W nfar3        tzWN nfar get  put
        tzn3W nfar3 1 add  tzWN nfar get  put
        tzn3W nfar3 2 add  tzWN nfar get  put} for

/tzc3N 48 array def
/tzm3N 48 array def
/tzy3N 48 array def
/tzn3N 48 array def

0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %N-CMY
        tzc3N nfar3        0.0            put
        tzc3N nfar3 1 add  tzNW nfar get  put
        tzc3N nfar3 2 add  tzNW nfar get  put

        tzm3N nfar3        tzNW nfar get  put
        tzm3N nfar3 1 add  0.0            put
        tzm3N nfar3 2 add  tzNW nfar get  put
                                                 
        tzy3N nfar3        tzNW nfar get  put
        tzy3N nfar3 1 add  tzNW nfar get  put
        tzy3N nfar3 2 add  0.0            put

        tzn3N nfar3        tzWN nfar get  put
        tzn3N nfar3 1 add  tzWN nfar get  put
        tzn3N nfar3 2 add  tzWN nfar get  put} for
        
/tzc3Z 48 array def
/tzm3Z 48 array def
/tzy3Z 48 array def
/tzn3Z 48 array def

0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %Z-CMY
        tzc3Z nfar3        tzZN nfar get  put
        tzc3Z nfar3 1 add  tzZW nfar get  put
        tzc3Z nfar3 2 add  tzZW nfar get  put

        tzm3Z nfar3        tzZW nfar get  put
        tzm3Z nfar3 1 add  tzZN nfar get  put
        tzm3Z nfar3 2 add  tzZW nfar get  put
                                                 
        tzy3Z nfar3        tzZW nfar get  put
        tzy3Z nfar3 1 add  tzZW nfar get  put
        tzy3Z nfar3 2 add  tzZN nfar get  put

        tzn3Z nfar3        tzWN nfar get  put
        tzn3Z nfar3 1 add  tzWN nfar get  put
        tzn3Z nfar3 2 add  tzWN nfar get  put} for

/tzc3W 48 array def
/tzm3W 48 array def
/tzy3W 48 array def
/tzn3W 48 array def

0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %W-CMY
        tzc3W nfar3        tzWN nfar get  put
        tzc3W nfar3 1 add  1.0            put
        tzc3W nfar3 2 add  1.0            put

        tzm3W nfar3        1.0            put
        tzm3W nfar3 1 add  tzWN nfar get  put
        tzm3W nfar3 2 add  1.0            put
                                                 
        tzy3W nfar3        1.0            put
        tzy3W nfar3 1 add  1.0  put
        tzy3W nfar3 2 add  tzWN nfar get  put

        tzn3W nfar3        tzWN nfar get  put
        tzn3W nfar3 1 add  tzWN nfar get  put
        tzn3W nfar3 2 add  tzWN nfar get  put} for
        
/tenf 5 array def
/cola 5 array def
/tza3 48 array def

ibild 0 eq {/tefa tefaolvN def} if
ibild 1 eq {/tefa tefaolvZ def} if
ibild 2 eq {/tefa tefaolvW def} if
ibild 3 eq {/tefa tefacmyN def} if
ibild 4 eq {/tefa tefacmyZ def} if
ibild 5 eq {/tefa tefacmyW def} if

0 1 3 {/ncol exch def %ncol=0,3
       ibild 0 eq {cola ncol colaolvN ncol get put
                   tenf ncol tenfolvN ncol get put
                  } if
       ibild 1 eq {cola ncol colaolvZ ncol get put
                   tenf ncol tenfolvZ ncol get put
                  } if
       ibild 2 eq {cola ncol colaolvW ncol get put
                   tenf ncol tenfolvW ncol get put
                  } if
       ibild 3 eq {cola ncol colacmyN ncol get put
                   tenf ncol tenfcmyN ncol get put
                  } if
       ibild 4 eq {cola ncol colacmyZ ncol get put
                   tenf ncol tenfcmyZ ncol get put
                  } if
       ibild 5 eq {cola ncol colacmyW ncol get put
                   tenf ncol tenfcmyW ncol get put
                  } if
      } for %ncol=0,`3`

ibild 0 eq ibild 3 eq or {/TYP (N) def} if
ibild 1 eq ibild 4 eq or {/TYP (Z) def} if
ibild 2 eq ibild 5 eq or {/TYP () def} if %W

0 0 0 setrgbcolor
TK
0 -230 moveto
ibild 0 eq ibild 3 eq or {(IG860-1, ) show}{(IG861-1, ) show} ifelse

(Bild ) showde (Picture ) showen
ibild 3 ge {(B4) show}{(D4) show} ifelse 
TYP show 
(: ) show 
(16 gleichabst\344ndige Stufen ) showde
(16 equidistant steps ) showen

TBIK
tefa show (; ) show

TIK (PS) show
TK (-Operator) showde ( operator) showen

TIK DEintp 0 eq xcharti 0 eq or {( olv* setrgbcolor ) show}
                {( rgb* setrgbcolor ) show} ifelse TK
                                                  
ibild 0 eq ibild 3 eq or {0 0 0 setrgbcolor} if
ibild 1 eq ibild 4 eq or {0.5 0.5 0.5 setrgbcolor} if
ibild 2 eq ibild 5 eq or {1 1 1 setrgbcolor} if
   0 0  moveto 11200 0 rlineto 0 4000 rlineto
              -11200 0 rlineto closepath fill
0 0 0 setrgbcolor
   0 0  moveto 11200 0 rlineto 0 4000 rlineto
              -11200 0 rlineto closepath stroke

/yab -850 def
000 3950 translate

/n* [(0) (1) (2) (3) (4) (5) (6) (7)
     (8) (9) (A) (B) (C) (D) (E) (F)] def

ibild 0 eq ibild 3 eq or {1 1 1} {0 0 0} ifelse setrgbcolor
0 1 16 {/j exch def /ix0 j 700 mul def /iy0 -850 def %j=0,16
        ix0 25 add iy0 3100 sub moveto
        000  4000 rlineto -50 000 rlineto
        000 -4000 rlineto closepath fill
       } for %j=0,16

0 1 3 {/ncol exch def %=0,3 fuer O,L,V,N, or C,M,Y,N

ibild 0 eq {%ibild=0
0 1 47 {/n exch def
        ncol 0 eq {tza3 n tzo3N n get put} if
        ncol 1 eq {tza3 n tzl3N n get put} if
        ncol 2 eq {tza3 n tzv3N n get put} if
        ncol 3 eq {tza3 n tzn3N n get put} if
       } for
       } if %ibild=0
            
ibild 1 eq {%ibild=1
0 1 47 {/n exch def
        ncol 0 eq {tza3 n tzo3Z n get put} if
        ncol 1 eq {tza3 n tzl3Z n get put} if
        ncol 2 eq {tza3 n tzv3Z n get put} if
        ncol 3 eq {tza3 n tzn3Z n get put} if
       } for
       } if %ibild=1
       
ibild 2 eq {%ibild=2
0 1 47 {/n exch def
        ncol 0 eq {tza3 n tzo3W n get put} if
        ncol 1 eq {tza3 n tzl3W n get put} if
        ncol 2 eq {tza3 n tzv3W n get put} if
        ncol 3 eq {tza3 n tzn3W n get put} if
       } for
       } if %ibild=2
            
ibild 3 eq {%ibild=3
0 1 47 {/n exch def
        ncol 0 eq {tza3 n tzc3N n get put} if
        ncol 1 eq {tza3 n tzm3N n get put} if
        ncol 2 eq {tza3 n tzy3N n get put} if
        ncol 3 eq {tza3 n tzn3N n get put} if
       } for
       } if %ibild=3
            
ibild 4 eq {%ibild=4
0 1 47 {/n exch def
        ncol 0 eq {tza3 n tzc3Z n get put} if
        ncol 1 eq {tza3 n tzm3Z n get put} if
        ncol 2 eq {tza3 n tzy3Z n get put} if
        ncol 3 eq {tza3 n tzn3Z n get put} if
       } for
       } if %ibild=4
       
ibild 5 eq {%ibild=5
0 1 47 {/n exch def
        ncol 0 eq {tza3 n tzc3W n get put} if
        ncol 1 eq {tza3 n tzm3W n get put} if
        ncol 2 eq {tza3 n tzy3W n get put} if
        ncol 3 eq {tza3 n tzn3W n get put} if
       } for
       } if %ibild=5
            
0 yab translate

CBKK
%square test samples
/l 0 def
0 1 15 {/j exch def /j3 j 3 mul def /ix0 j 700 mul def /iy0 0 def
        tza3 j3 get
        tza3 j3 1 add get
        tza3 j3 2 add get
        /o3*dd00 tza3 j3 get def
        /l3*dd00 tza3 j3 1 add get def
        /v3*dd00 tza3 j3 2 add get def
        setrgbcolor
        /o3*ed00 o* def
        /l3*ed00 l* def
        /v3*ed00 v* def

        l 0 eq {/ixd 700 def /iyd 700 def %ixd,iyd
               ix0 iy0 moveto
               ixd 000 rlineto 000 iyd rlineto
               ixd neg 000 rlineto closepath fill
               } if %ixd,iyd
%       1 1 1 setrgbcolor
%       ix0 125 add iy0 125 add moveto
%       450 000 rlineto 0 450 rlineto
%       -450 000 rlineto closepath fill
%       0 0 0 setrgbcolor
%       ix0 125 add iy0 125 add 300 add moveto
%       xcharti 0 eq {o3*dd00 cvsshow2} if
%       xcharti 1 ge {o3*ed00 cvsshow2} if
%       ix0 125 add iy0 125 add 150 add moveto
%       xcharti 0 eq {l3*dd00 cvsshow2} if
%       xcharti 1 ge {l3*ed00 cvsshow2} if
%       ix0 125 add iy0 125 add 000 add moveto
%       xcharti 0 eq {v3*dd00 cvsshow2} if
%       xcharti 1 ge {v3*ed00 cvsshow2} if
       } for %j

%ibild 0 eq ibild 3 eq or {1 1 1} {0 0 0} ifelse setrgbcolor
0 0 0 setrgbcolor
TBIG
11350 300 moveto tenf ncol get show

ibild 0 eq ibild 3 eq or {1 1 1} {0 0 0} ifelse setrgbcolor
TBM
ncol 3 eq { %N
           0 1 15 {/j exch def /ix0 250 j 700 mul add def /iy0 -350 def
                   ix0 iy0  moveto n* j get show
                  } for %j
          } if %N

} for %ncol=0,1,2,3 fuer O, L, V, N

000 -550 translate

25 setlinewidth
0 0 0 setrgbcolor
-25 0  moveto 11250 0 rlineto 0 4000 rlineto
             -11250 0 rlineto closepath stroke

} def %END porc_16stepOLV

%**********************************************************
/proc_lettersize {%BEG proc_lettersize
                %requires 0<=ibild<=5
                %requires DEintp=0,1

DEintp 0 eq xcharti 0 eq or {%DEintp=0,1                
             /tefaolvN (W, O, L, V, Z) def
             /tefaolvZ (N, O, L, V, W) def
             /tefaolvW (N, O, L, V, Z) def
             /tefacmyN (W, C, M, Y, Z) def
             /tefacmyZ (N, C, M, Y, W) def
             /tefacmyW (N, C, M, Y, Z) def
             /tenfolvN [(W) (O) (L) (V) (Z)] def
             /tenfolvZ [(N) (O) (L) (V) (W)] def
             /tenfolvW [(N) (O) (L) (V) (Z)] def
             /tenfcmyN [(W) (C) (M) (Y) (Z)] def
             /tenfcmyZ [(N) (C) (M) (Y) (W)] def
             /tenfcmyW [(N) (C) (M) (Y) (Z)] def
             } %DEintp=0
             { %DEintp=1
             /tefaolvN (W, R, G, B, Z) def
             /tefaolvZ (N, R, G, B, W) def
             /tefaolvW (N, R, G, B, Z) def
             /tefacmyN (W, C', M', J, Z) def
             /tefacmyZ (N, C', M', J, W) def
             /tefacmyW (N, C', M', J, Z) def
             /tenfolvN [(W) (R) (G) (B) (Z)] def
             /tenfolvZ [(N) (R) (G) (B) (W)] def
             /tenfolvW [(N) (R) (G) (B) (Z)] def
             /tenfcmyN [(W) (C') (M') (J) (Z)] def
             /tenfcmyZ [(N) (C') (M') (J) (W)] def
             /tenfcmyW [(N) (C') (M') (J) (Z)] def
             } ifelse

/colaolvN [{tgw} {tgo} {tgl} {tgv} {tgz}] def
/colaolvZ [{tgn} {tgo} {tgl} {tgv} {tgw}] def
/colaolvW [{tgn} {tgo} {tgl} {tgv} {tgz}] def

/colacmyN [{tgw} {tgc} {tgm} {tgy} {tgz}] def
/colacmyZ [{tgn} {tgc} {tgm} {tgy} {tgw}] def
/colacmyW [{tgn} {tgc} {tgm} {tgy} {tgz}] def

/na [(+-:.) (xyz;) (tuvw) (pqrs) (lmno) (hijk) (defg) (!abc)
     (lmno) (hijk) (defg) (!abc) (+-:.) (xyz;) (tuvw) (pqrs)
     (pqrs) (lmno) (hijk) (+-:.) (xyz;) (tuvw) (defg) (!abc)
     (tuvw) (pqrs) (lmno) (hijk) (+-:.) (!abc) (xyz;) (defg)] def

/ar 72 def
/ak [4 3 2 8 7 1 5 6  8 5 3 7 2 1 4 6  6 3 5 4 3 7 2 8  4 1 6 7 8 2 3 5
     1 5 4 8 7 2 3 6  8 1 7 6 2 5 4 3  1 2 5 8 4 3 6 7  5 3 2 8 7 6 1 4
     6 4 1 2 7 3 5 8  7 1 8 5 2 6 3 4  7 6 3 4 8 5 2 1  7 6 1 4 5 3 2 8
     4 3 2 8 7 1 5 6  2 1 4 6 8 5 3 7  8 2 7 1 4 5 3 6  6 7 8 2 5 3 1 4
     2 1 5 4 8 3 6 7  8 2 4 6 7 5 3 1  8 3 7 5 2 6 1 4  6 1 4 8 2 5 7 3] def
/ng [(10) (  8) (  6) (  4)] def

/xtransl [0 3500 6500 9000] def

/tenf 5 array def
/cola 5 array def

ibild 0 eq {/tefa tefaolvN def} if
ibild 1 eq {/tefa tefaolvZ def} if
ibild 2 eq {/tefa tefaolvW def} if
ibild 3 eq {/tefa tefacmyN def} if
ibild 4 eq {/tefa tefacmyZ def} if
ibild 5 eq {/tefa tefacmyW def} if

0 1 4 {/ncol exch def %ncol=0,4
       ibild 0 eq {cola ncol colaolvN ncol get put
                   tenf ncol tenfolvN ncol get put
                  } if
       ibild 1 eq {cola ncol colaolvZ ncol get put
                   tenf ncol tenfolvZ ncol get put
                  } if
       ibild 2 eq {cola ncol colaolvW ncol get put
                   tenf ncol tenfolvW ncol get put
                  } if
       ibild 3 eq {cola ncol colacmyN ncol get put
                   tenf ncol tenfcmyN ncol get put
                  } if
       ibild 4 eq {cola ncol colacmyZ ncol get put
                   tenf ncol tenfcmyZ ncol get put
                  } if
       ibild 5 eq {cola ncol colacmyW ncol get put
                   tenf ncol tenfcmyW ncol get put
                  } if
      } for %ncol=0,4

ibild 0 eq ibild 3 eq or {/TYP (N) def} if
ibild 1 eq ibild 4 eq or {/TYP (Z) def} if
ibild 2 eq ibild 5 eq or {/TYP () def} if %W

0 0 0 setrgbcolor
TK
0 -230 moveto
ibild 0 eq ibild 3 eq or {(IG860-3, ) show}{(IG861-3, ) show} ifelse

(Bild ) showde (Picture ) showen
ibild 3 ge {(B5) show}{(D5) show} ifelse 
TYP show 
(: ) show 
(Schrift und Landoltringe ) showde
(Script and Landolt\255rings ) showen

TBIK
tefa show (; ) show

TIK (PS) show
TK (-Operator) showde ( operator) showen

TIK DEintp 0 eq xcharti 0 eq or {( olv* setrgbcolor ) show}
                {( rgb* setrgbcolor ) show} ifelse TK

ibild 0 eq ibild 3 eq or {0 0 0 setrgbcolor} if
ibild 1 eq ibild 4 eq or {0.5 0.5 0.5 setrgbcolor} if
ibild 2 eq ibild 5 eq or {1 1 1 setrgbcolor} if
   0 0  moveto 11200 0 rlineto 0 4000 rlineto
              -11200 0 rlineto closepath fill
0 0 0 setrgbcolor
   0 0  moveto 11200 0 rlineto 0 4000 rlineto
              -11200 0 rlineto closepath stroke

200 000 translate %200 trans
/igroe -1 def
/mg -1 def
10 -2 04 {/n exch def /mg mg 1 add def /igroe igroe 1 add def

/n480 40 n mul def
/n600 45 n mul def
/n300 25 n mul def
/n150 15 n mul def
/n360 30 n mul def
/nar   6 n mul def 
/n6000 480 n mul def
/n5000 400 n mul def
%STOP
xtransl mg get 0 translate
/ix0 0 def
n480 /Times-Roman FS
0 1 07 {/j exch def /iy0   3500 j n600 mul sub def
       ibild 0 eq ibild 3 eq or {1 1 1} {0 0 0} ifelse setrgbcolor
        ix0 100 add iy0 200 add moveto
        na j igroe 8 mul add get exec show
        j 7 eq { %Zusatz Schriftgroesse 10, 8, 6, 4
        ix0 100 add iy0 200 add n600 sub moveto
        ng mg get exec show} if
       } for

0 1 04 {/ncol exch def /ix0 n600 2 mul ncol n600 mul add def
        /iy0 3500 8 n600 mul sub

0 1 07 {/j exch def /iy0 3500 j n600 mul sub def
        /k ncol 8 mul j add igroe 32 mul add def
        n setlinewidth
        cola ncol get exec
        newpath nar setlinewidth
        ix0 300 add iy0 300 add nar 2.5 mul 0 360 arc closepath fill
        ibild 0 eq ibild 3 eq or {0 0 0 setrgbcolor} if
        ibild 1 eq ibild 4 eq or {0.5 0.5 0.5 setrgbcolor} if
        ibild 2 eq ibild 5 eq or {1 1 1 setrgbcolor} if
        ix0 300 add iy0 300 add nar 1.5 mul 0 360 arc closepath fill
        ix0 300 add iy0 300 add moveto
        /m ak k get exec def
        m 1 eq {nar 2.6 mul             0
                rlineto closepath stroke} if %0
        m 2 eq {nar 2.6 mul 45 sin mul  nar 2.6 mul 45 cos mul
                rlineto closepath stroke} if %45
        m 3 eq {0                       nar 2.6 mul
                rlineto closepath stroke} if %90
        m 4 eq {nar 2.6 mul 135 sin mul  nar 2.6 mul 135 cos mul
                rlineto closepath stroke} if %135
        m 5 eq {nar 2.6 mul neg            0
                rlineto closepath stroke} if %0
        m 6 eq {nar 2.6 mul 235 sin mul  nar 2.6 mul 235 cos mul
                rlineto closepath stroke} if %45
        m 7 eq {0                        nar 2.6 mul neg
                rlineto closepath stroke} if %0
        m 8 eq {nar 2.6 mul 315 sin mul  nar 2.6 mul 315 cos mul
                rlineto closepath stroke} if %45

       } for %j acht Orientierungen

       ibild 0 eq ibild 3 eq or {1 1 1} {0 0 0} ifelse setrgbcolor
        ix0 300 add n150 sub iy0 300 add n600 sub n150 sub moveto
        tenf ncol get show
          
       } for %ncol=0,4

xtransl mg get neg 0 translate

       } for %n vier Schrift-Groessen

-200 000 translate %200 trans

} def %END proc_lettersize

%**********************************************************
/proc_Landolt { %BEG proc_Landolt
                %requires 0<=ibild<=5
                %requires DEintp=0,1
                %requires ncol=0,1 or 2,3

DEintp 0 eq xcharti 0 eq or {%DEintp=0,1
             ncol1 0 eq { %ncol1=0,#0                
                         /tefaolvN (N-O, N-L) def
                         /tefaolvZ (Z-O, Z-L) def
                         /tefaolvW (W-O, W-L) def
                         /tefacmyN (N-C, N-M) def
                         /tefacmyZ (Z-C, Z-M) def
                         /tefacmyW (W-C, W-M) def
                         /tefaolvN1 (N-O) def
                         /tefaolvZ1 (Z-O) def
                         /tefaolvW1 (W-O) def
                         /tefacmyN1 (N-C) def
                         /tefacmyZ1 (Z-C) def
                         /tefacmyW1 (W-C) def
                         /tefaolvN2 (N-L) def
                         /tefaolvZ2 (Z-L) def
                         /tefaolvW2 (W-L) def
                         /tefacmyN2 (N-M) def
                         /tefacmyZ2 (Z-M) def
                         /tefacmyW2 (W-M) def
                        } %ncol1=0
                        { %ncol1#0
                         /tefaolvN (N-V, W-N) def
                         /tefaolvZ (Z-V, W-N) def
                         /tefaolvW (W-V, W-N) def
                         /tefacmyN (N-Y, W-N) def
                         /tefacmyZ (Z-Y, W-N) def
                         /tefacmyW (W-Y, W-N) def
                         /tefaolvN1 (N-V) def
                         /tefaolvZ1 (Z-V) def
                         /tefaolvW1 (W-V) def
                         /tefacmyN1 (N-Y) def
                         /tefacmyZ1 (Z-Y) def
                         /tefacmyW1 (W-Y) def
                         /tefaolvN2 (W-N) def
                         /tefaolvZ2 (W-N) def
                         /tefaolvW2 (W-N) def
                         /tefacmyN2 (W-N) def
                         /tefacmyZ2 (W-N) def
                         /tefacmyW2 (W-N) def
                        } ifelse %ncol1=0,#0
            }%DEintp=0
            {%DEintp=1
             ncol1 0 eq { %ncol1=0,#0                
                         /tefaolvN (N-R, N-G) def
                         /tefaolvZ (Z-R, Z-G) def
                         /tefaolvW (W-R, W-G) def
                         /tefacmyN (N-C', N-M') def
                         /tefacmyZ (Z-C', Z-M') def
                         /tefacmyW (W-C', W-M') def
                         /tefaolvN1 (N-R) def
                         /tefaolvZ1 (Z-R) def
                         /tefaolvW1 (W-R) def
                         /tefacmyN1 (N-C') def
                         /tefacmyZ1 (Z-C') def
                         /tefacmyW1 (W-C') def
                         /tefaolvN2 (N-G) def
                         /tefaolvZ2 (Z-G) def
                         /tefaolvW2 (W-G) def
                         /tefacmyN2 (N-M') def
                         /tefacmyZ2 (Z-M') def
                         /tefacmyW2 (W-M') def
                        } %ncol1=0
                        { %ncol1=#0
                         /tefaolvN (N-B, W-N) def
                         /tefaolvZ (Z-B, W-N) def
                         /tefaolvW (W-B, W-N) def
                         /tefacmyN (N-J, W-N) def
                         /tefacmyZ (Z-J, W-N) def
                         /tefacmyW (W-J, W-N) def
                         /tefaolvN1 (N-B) def
                         /tefaolvZ1 (Z-B) def
                         /tefaolvW1 (W-B) def
                         /tefacmyN1 (N-J) def
                         /tefacmyZ1 (Z-J) def
                         /tefacmyW1 (W-J) def
                         /tefaolvN2 (W-N) def
                         /tefaolvZ2 (W-N) def
                         /tefaolvW2 (W-N) def
                         /tefacmyN2 (W-N) def
                         /tefacmyZ2 (W-N) def
                         /tefacmyW2 (W-N) def
                        } ifelse %ncol1=0,#0
             } ifelse %DEintp=0,1

/tzo3N 48 array def
/tzl3N 48 array def
/tzv3N 48 array def
/tzn3N 48 array def

0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %N-OLV
        tzo3N nfar3        tzWN nfar get  put
        tzo3N nfar3 1 add  1.0            put
        tzo3N nfar3 2 add  1.0            put

        tzl3N nfar3        1.0            put
        tzl3N nfar3 1 add  tzWN nfar get  put
        tzl3N nfar3 2 add  1.0            put

        tzv3N nfar3        1.0            put
        tzv3N nfar3 1 add  1.0            put
        tzv3N nfar3 2 add  tzNW nfar get  put

        tzn3N nfar3        tzWN nfar get  put
        tzn3N nfar3 1 add  tzWN nfar get  put
        tzn3N nfar3 2 add  tzWN nfar get  put} for
        
/tzo3Z 48 array def
/tzl3Z 48 array def
/tzv3Z 48 array def
/tzn3Z 48 array def

0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %Z-OLV
        tzo3Z nfar3        tzNZ nfar get  put
        tzo3Z nfar3 1 add  tzWZ nfar get  put
        tzo3Z nfar3 2 add  tzWZ nfar get  put

        tzl3Z nfar3        tzWZ nfar get  put
        tzl3Z nfar3 1 add  tzNZ nfar get  put
        tzl3Z nfar3 2 add  tzWZ nfar get  put
                                                 
        tzv3Z nfar3        tzWZ nfar get  put
        tzv3Z nfar3 1 add  tzWZ nfar get  put
        tzv3Z nfar3 2 add  tzNZ nfar get  put

        tzn3Z nfar3        tzWN nfar get  put
        tzn3Z nfar3 1 add  tzWN nfar get  put
        tzn3Z nfar3 2 add  tzWN nfar get  put} for

/tzo3W 48 array def
/tzl3W 48 array def
/tzv3W 48 array def
/tzn3W 48 array def

0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %W-OLV
        tzo3W nfar3        0.0            put
        tzo3W nfar3 1 add  tzWN nfar get  put
        tzo3W nfar3 2 add  tzWN nfar get  put

        tzl3W nfar3        tzWN nfar get  put
        tzl3W nfar3 1 add  0.0            put
        tzl3W nfar3 2 add  tzWN nfar get  put
                                                 
        tzv3W nfar3        tzWN nfar get  put
        tzv3W nfar3 1 add  tzWN nfar get  put
        tzv3W nfar3 2 add  0.0            put

        tzn3W nfar3        tzWN nfar get  put
        tzn3W nfar3 1 add  tzWN nfar get  put
        tzn3W nfar3 2 add  tzWN nfar get  put} for

/tzc3N 48 array def
/tzm3N 48 array def
/tzy3N 48 array def
/tzn3N 48 array def

0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %N-CMY
        tzc3N nfar3        1.0            put
        tzc3N nfar3 1 add  tzNW nfar get  put
        tzc3N nfar3 2 add  tzNW nfar get  put

        tzm3N nfar3        tzNW nfar get  put
        tzm3N nfar3 1 add  1.0            put
        tzm3N nfar3 2 add  tzNW nfar get  put
                                                 
        tzy3N nfar3        tzNW nfar get  put
        tzy3N nfar3 1 add  tzNW nfar get  put
        tzy3N nfar3 2 add  1.0            put

        tzn3N nfar3        tzWN nfar get  put
        tzn3N nfar3 1 add  tzWN nfar get  put
        tzn3N nfar3 2 add  tzWN nfar get  put} for
        
/tzc3Z 48 array def
/tzm3Z 48 array def
/tzy3Z 48 array def
/tzn3Z 48 array def

0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %Z-CMY
        tzc3Z nfar3        tzWZ nfar get  put
        tzc3Z nfar3 1 add  tzNZ nfar get  put
        tzc3Z nfar3 2 add  tzNZ nfar get  put

        tzm3Z nfar3        tzNZ nfar get  put
        tzm3Z nfar3 1 add  tzWZ nfar get  put
        tzm3Z nfar3 2 add  tzNZ nfar get  put
                                                 
        tzy3Z nfar3        tzNZ nfar get  put
        tzy3Z nfar3 1 add  tzNZ nfar get  put
        tzy3Z nfar3 2 add  tzWZ nfar get  put

        tzn3Z nfar3        tzWN nfar get  put
        tzn3Z nfar3 1 add  tzWN nfar get  put
        tzn3Z nfar3 2 add  tzWN nfar get  put} for

/tzc3W 48 array def
/tzm3W 48 array def
/tzy3W 48 array def
/tzn3W 48 array def

0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %W-CMY
        tzc3W nfar3        tzWN nfar get  put
        tzc3W nfar3 1 add  0.0            put
        tzc3W nfar3 2 add  0.0            put

        tzm3W nfar3        0.0            put
        tzm3W nfar3 1 add  tzWN nfar get  put
        tzm3W nfar3 2 add  0.0            put
                                                 
        tzy3W nfar3        0.0            put
        tzy3W nfar3 1 add  0.0            put
        tzy3W nfar3 2 add  tzWN nfar get  put

        tzn3W nfar3        tzWN nfar get  put
        tzn3W nfar3 1 add  tzWN nfar get  put
        tzn3W nfar3 2 add  tzWN nfar get  put} for

/tza3 48 array def

ibild 0 eq {/tefa tefaolvN def /tefa1 tefaolvN1 def
            /tefa2 tefaolvN2 def} if
ibild 1 eq {/tefa tefaolvZ def /tefa1 tefaolvZ1 def
            /tefa2 tefaolvZ2 def} if
ibild 2 eq {/tefa tefaolvW def /tefa1 tefaolvW1 def
            /tefa2 tefaolvW2 def} if
ibild 3 eq {/tefa tefacmyN def /tefa1 tefacmyN1 def
            /tefa2 tefacmyN2 def} if
ibild 4 eq {/tefa tefacmyZ def /tefa1 tefacmyZ1 def
            /tefa2 tefacmyZ2 def} if
ibild 5 eq {/tefa tefacmyW def /tefa1 tefacmyW1 def
            /tefa2 tefacmyW2 def} if

ibild 0 eq ibild 3 eq or {/TYP (N) def} if
ibild 1 eq ibild 4 eq or {/TYP (Z) def} if
ibild 2 eq ibild 5 eq or {/TYP () def} if %W old number

0 0 0 setrgbcolor
TK
0 -230 moveto
ibild 0 eq ibild 3 eq or {(IG860-) show}{(IG861-) show} ifelse
ncol1 0 eq {(5, ) show} {(7, ) show} ifelse

(Bild ) showde (Picture ) showen
ncol1 0 eq {ibild 3 ge {(B6) show}{(D6) show} ifelse}
           {ibild 3 ge {(B7) show}{(D7) show} ifelse} ifelse 
TYP show 
(: ) show
(Landoltringe ) showde
(Landolt\255rings ) showen

TBIK
tefa show (; ) show

TIK (PS) show
TK (-Operator) showde ( operator) showen

TIK DEintp 0 eq xcharti 0 eq or {( olv* setrgbcolor ) show}
                {( rgb* setrgbcolor ) show} ifelse TK
                                                  
ibild 0 eq ibild 3 eq or {0 0 0 setrgbcolor} if
ibild 1 eq ibild 4 eq or {0.5 0.5 0.5 setrgbcolor} if
ibild 2 eq ibild 5 eq or {1 1 1 setrgbcolor} if
   0 0  moveto 11200 0 rlineto 0 4000 rlineto
              -11200 0 rlineto closepath fill
0 0 0 setrgbcolor
   0 0  moveto 11200 0 rlineto 0 4000 rlineto
              -11200 0 rlineto closepath stroke

/xab 5450 def

50 0 translate

/ar 80 def
 ar setlinewidth

ncol1 1 ncol2 {/ncol exch def %=0,1,2,3 O,L,V,N

xab ncol ncol1 sub mul 0 translate

ncol 0 eq { %O
           0 1 47 {/n exch def
                   ibild 0 eq {tza3 n tzo3N n get put} if
                   ibild 1 eq {tza3 n tzo3Z n get put} if
                   ibild 2 eq {tza3 n tzo3W n get put} if
                   ibild 3 eq {tza3 n tzc3N n get put} if
                   ibild 4 eq {tza3 n tzc3Z n get put} if
                   ibild 5 eq {tza3 n tzc3W n get put} if
                  } for
           /nc [(F-D) (8-6) (2-0) (E-F) (7-8) (0-1)] def
           /nl  [0 7 13 1 8 15] def %entspricht F 8 2, E 7 0, +2, -1
           /ak [4 3 2 8 7 1 5 6  8 5 3 7 2 1 4 6  6 3 5 4 3 7 2 8
                4 1 6 7 8 2 3 5  1 5 4 8 7 2 3 6  8 1 7 6 2 5 4 3] def
            /ndif1 2 def /ndif2 -1 def
          } if %C

ncol 1 eq { %L
           0 1 47 {/n exch def
                   ibild 0 eq {tza3 n tzl3N n get put} if
                   ibild 1 eq {tza3 n tzl3Z n get put} if
                   ibild 2 eq {tza3 n tzl3W n get put} if
                   ibild 3 eq {tza3 n tzm3N n get put} if
                   ibild 4 eq {tza3 n tzm3Z n get put} if
                   ibild 5 eq {tza3 n tzm3W n get put} if
                  } for
           /nc [(F-D) (8-6) (2-0) (E-F) (7-8) (0-1)] def
           /nl  [0 7 13 1 8 15] def %entspricht F 8 2, E 7 0, +2, -1
           /ak [6 7 8 2 3 5 4 1  7 2 3 6 1 5 4 8  6 4 8 5 3 7 2 1
                7 2 8 6 3 5 4 3  8 1 7 5 2 6 4 3  4 3 2 8 7 1 5 6] def
            /ndif1 2 def /ndif2 -1 def
          } if %M

ncol 2 eq { %V
           0 1 47 {/n exch def
                   ibild 0 eq {tza3 n tzv3N n get put} if
                   ibild 1 eq {tza3 n tzv3Z n get put} if
                   ibild 2 eq {tza3 n tzv3W n get put} if
                   ibild 3 eq {tza3 n tzy3N n get put} if
                   ibild 4 eq {tza3 n tzy3Z n get put} if
                   ibild 5 eq {tza3 n tzy3W n get put} if
                  } for
           /nc [(F-D) (8-6) (2-0) (E-F) (7-8) (0-1)] def
           /nl  [0 7 13 1 8 15] def %entspricht F 8 2, E 7 0, +2, -1
           /ak [8 5 3 7 2 1 4 6  6 3 5 4 3 7 2 8  4 3 2 8 7 1 5 6
                5 3 2 8 7 6 1 4  8 4 5 1 6 3 2 7  7 6 5 2 3 4 1 8] def
            /ndif1 2 def /ndif2 -1 def
          } if %V

ncol 3 eq { %N
           0 1 47 {/n exch def
                   ibild 0 eq {tza3 n tzn3N n get put} if
                   ibild 1 eq {tza3 n tzn3Z n get put} if
                   ibild 2 eq {tza3 n tzn3W n get put} if
                   ibild 3 eq {tza3 n tzn3N n get put} if
                   ibild 4 eq {tza3 n tzn3Z n get put} if
                   ibild 5 eq {tza3 n tzn3W n get put} if
                  } for
           /nc [(F-D) (8-6) (2-0) (E-F) (7-8) (0-1)] def
           /nl  [0 7 13 1 8 15] def %entspricht F 8 2, E 7 0, +2, -1
           /ak [6 7 8 2 3 5 4 1  7 2 3 6 1 5 4 8  6 4 8 5 3 7 2 1
                7 2 8 6 3 5 4 3  8 1 7 5 2 6 4 3  4 3 2 8 7 1 5 6] def
            /ndif1 2 def /ndif2 -1 def
          } if %N

ibild 0 eq ibild 3 eq or {1 1 1 setrgbcolor}{0 0 0 setrgbcolor} ifelse
250 /Times-Roman FS
0 1 5 {/j exch def /iy0 500 j 600 mul add def
        5000 iy0 moveto nc j get show
       } for %j

TK
0 1 07 {/j exch def /ix0 0100 j 600 mul add def
0 1 05 {/l exch def /iy0 0300 l 600 mul add def
        /k l 8 mul j add def
        /i1 nl l get def /j3 i1 3 mul def

                             1 tza3 j3       get sub
                             1 tza3 j3 1 add get sub
                             1 tza3 j3 2 add get sub setrgbcolor

        /ixd 600 def
        ix0 iy0 moveto ixd 000 rlineto 000 ixd rlineto
                       ixd neg 000 rlineto closepath fill
         l 2 le {/i1 nl l get ndif1 add def} 
                {/i1 nl l get ndif2 add def} ifelse
                 /j3 i1 3 mul def

                             1 tza3 j3       get sub
                             1 tza3 j3 1 add get sub
                             1 tza3 j3 2 add get sub setrgbcolor

         ix0 300 add iy0 300 add ar 2.5 mul 0 360 arc closepath fill
                 /i1 nl l get def /j3 i1 3 mul def

                             1 tza3 j3       get sub
                             1 tza3 j3 1 add get sub
                             1 tza3 j3 2 add get sub setrgbcolor

         ix0 300 add iy0 300 add ar 1.5 mul 0 360 arc closepath fill
                 /i1 nl l get def /j3 i1 3 mul def

                             1 tza3 j3       get sub
                             1 tza3 j3 1 add get sub
                             1 tza3 j3 2 add get sub setrgbcolor

         ix0 300 add iy0 300 add moveto
        /m ak k get exec def
        m 1 eq {ar 2.6 mul             0
                rlineto closepath stroke} if %0
        m 2 eq {ar 2.6 mul 45 sin mul  ar 2.6 mul 45 cos mul
                rlineto closepath stroke} if %45
        m 3 eq {0                      ar 2.6 mul
                rlineto closepath stroke} if %90
        m 4 eq {ar 2.6 mul 135 sin mul  ar 2.6 mul 135 cos mul
                rlineto closepath stroke} if %135
        m 5 eq {ar 2.6 mul neg            0
                rlineto closepath stroke} if %0
        m 6 eq {ar 2.6 mul 235 sin mul  ar 2.6 mul 235 cos mul
                rlineto closepath stroke} if %45
        m 7 eq {0                      ar 2.6 mul neg
                rlineto closepath stroke} if %0
        m 8 eq {ar 2.6 mul 315 sin mul  ar 2.6 mul 315 cos mul
                rlineto closepath stroke} if %45
       } for %l
       } for %j

ibild 0 eq ibild 3 eq or {1 1 1 setrgbcolor}{0 0 0 setrgbcolor} ifelse
250 /Times-Roman FS
1500 50 moveto
(Landoltringe ) showde
(Landolt-rings ) showen

250 /Times-Italic FS
ncol ncol1 eq {tefa1 show} {tefa2 show} ifelse
   5000 50 moveto (Code) show

xab ncol ncol1 sub mul neg 0 translate

} for %ncol=ncol1,ncol2

50 neg 0 translate

15 setlinewidth

} def %END proc_Landolt

%**********************************************************
%**********************************************************
/proc_CIEColor {%BEG proc_CIEColor

0 0 0 setrgbcolor
TK
0 -230 moveto
(IG860-7, ) show
%colorm 0 eq {(N, ) show} {(F, ) show} ifelse

ibild 0 eq ibild 3 eq or {/TYP (N) def} if
ibild 1 eq ibild 4 eq or {/TYP (Z) def} if
ibild 2 eq ibild 5 eq or {/TYP () def} if %W

(Bild ) showde (Picture ) showen
ibild 3 ge {(B3) show}{(D3) show} ifelse
TYP show
(: ) show
(14 CIE\255Pr\374ffarben ) showde
(14 CIE\255test colours ) showen
(sowie 2 + 16 Graustufen) showde
(and 2 + 16 grey steps) showen

TK
(; PS\255Operator) showde
(; Use of PS operator) showen
(; Use of PS operator) showes
(; Use of PS operator) showfr
(; Use of PS operator) showit
(; Use of PS operator) showjp
(; Use of PS operator) showm

TIK
( olv* setrgbcolor) show
TK
                       
/adl_olv* [ %Begin adl_olv*; L=Linear model data 16 grey and 16 CIE-TC
00   0.0   0.0   0.0 %L 0.0000 olv*PR18/TV18
01  17.0  17.0  17.0 %L 0.0667 olv*PR18/TV18
02  34.0  34.0  34.0 %L 0.1333 olv*PR18/TV18
03  51.0  51.0  51.0 %L 0.2000 olv*PR18/TV18
04  68.0  68.0  68.0 %L 0.2667 olv*PR18/TV18
05  85.0  85.0  85.0 %L 0.3333 olv*PR18/TV18
06 102.0 102.0 102.0 %L 0.4000 olv*PR18/TV18
07 117.0 119.0 119.0 %L 0.4667 olv*PR18/TV18
08 136.0 136.0 136.0 %L 0.5333 olv*PR18/TV18
09 153.0 153.0 153.0 %L 0.6000 olv*PR18/TV18
10 170.0 170.0 170.0 %L 0.6667 olv*PR18/TV18
11 187.0 187.0 187.0 %L 0.7333 olv*PR18/TV18
12 204.0 204.0 204.0 %L 0.8000 olv*PR18/TV18
13 221.0 221.0 221.0 %L 0.8667 olv*PR18/TV18
14 238.0 238.0 238.0 %L 0.9333 olv*PR18/TV18
15 255.0 255.0 255.0 %L 1.0000 olv*PR18/TV18
16 184.2 117.1 134.5 %L no. 01 olv*PR18/CIETC
17 152.4 140.3  73.3 %L no. 02 olv*PR18/CIETC
18 122.3 189.6  31.5 %L no. 03 olv*PR18/CIETC
19  80.9 221.9  95.9 %L no. 04 olv*PR18/CIETC
20  89.6 203.0 174.5 %L no. 05 olv*PR18/CIETC
21  87.9 177.0 263.9 %L no. 06 olv*PR18/CIETC
22 130.2 124.4 284.1 %L no. 07 olv*PR18/CIETC
23 176.2 115.8 257.8 %L no. 08 olv*PR18/CIETC
24 205.8 -12.2  58.0 %L no. 09 olv*PR18/CIETC
25 231.9 212.4  34.8 %L no. 10 olv*PR18/CIETC
26  24.4 220.9  72.8 %L no. 11 olv*PR18/CIETC
27 -40.6  89.8 226.5 %L no. 12 olv*PR18/CIETC
28 237.1 186.9 166.5 %L no. 13 olv*PR18/CIETC
29  57.2 105.9  11.4 %L no. 14 olv*PR18/CIETC
30   0.0   0.0   0.0 %L 0.0000 olv*PR18/N
31 255.0 255.0 255.0 %L 1.0000 olv*PR18/W
] def %End adl_olv*'

/s 700 def  /xw 755 def  /yw 1150 def   % Quadratseite und Abstaende

%%%%   Def. eines Quadrates fuer die Ausgabe der Farbflaechen    %%%
/colRec {moveto s 0 rlineto 0 s rlineto s neg 0 rlineto %Quadrat
  closepath} bind def
                                           
/iz7 7 def /iz74 iz7 4 mul def
/iz741 iz74 1 add def /iz742 iz74 2 add def /iz743 iz74 3 add def
/iz8 8 def /iz84 iz8 4 mul def
/iz841 iz84 1 add def /iz842 iz84 2 add def /iz843 iz84 3 add def


/tfz {adl_olv* iz741 get adl_olv* iz841 get add 0.5 mul 255 div
      adl_olv* iz742 get adl_olv* iz842 get add 0.5 mul 255 div
      adl_olv* iz743 get adl_olv* iz843 get add 0.5 mul 255 div 
      setrgbcolor} def

/tfn {0.001 0.001 0.001 setrgbcolor} def        % Schriftfarbe = Schwarz
/tfw {1.000 1.000 1.000 setrgbcolor} def        % Schriftfarbe = Weiss


tfz
0 0  moveto 13000 0 rlineto 0 4000 rlineto
           -13000 0 rlineto closepath fill

0 setgray
0 0  moveto 13000 0 rlineto 0 4000 rlineto
           -13000 0 rlineto closepath stroke

350 150 translate

/n* [(16) (15) (14) (13) (12) (11) (10) ( 9)
     ( 8) ( 7) ( 6) ( 5) ( 4) ( 3) ( 2) ( 1)] def

TBM
25 setlinewidth
/s 770 def /s1 770 def /s2 670 def  
0 setgray
0 1 16 {/j exch def /ix0 j s1 mul def %j
        ix0 1600 moveto 0 500 rlineto stroke
       } for %j
15 setlinewidth        

0 1 15 {/j exch def /ix00 j s1 mul def
        /s s2 def
        /ix0 ix00 50 add def /iy0 2900 def

        /j4a j 4 mul def
        /j4c j 16 add 4 mul def

        adl_olv* j4c 1 add get 255 div
        adl_olv* j4c 2 add get 255 div
        adl_olv* j4c 3 add get 255 div
        setrgbcolor
        ix0 iy0 colRec fill
       
        /s s1 def
        /ix0 ix00 def /iy0 2050 def

        adl_olv* j4c 1 add get 255 div
        adl_olv* j4c 2 add get 255 div 
        adl_olv* j4c 3 add get 255 div
        setrgbcolor
        ix0 iy0 colRec fill

        0 setgray
        /ix0 ix00 def /iy0 1750 def
        ix0 250 add iy0 moveto
        n* 15 j sub get show

        /s s1 def
        /ix0 ix00 def /iy0 850 def
        adl_olv* j4a 1 add get 255 div
        adl_olv* j4a 2 add get 255 div
        adl_olv* j4a 3 add get 255 div
        setrgbcolor 
        ix0 iy0 colRec fill

        /s s2 def
        /ix0 ix00 50 add def /iy0  100 def
        adl_olv* j4a 1 add get 255 div
        adl_olv* j4a 2 add get 255 div
        adl_olv* j4a 3 add get 255 div
        setrgbcolor
        ix0 iy0 colRec fill

       } for %j

-350 -150 translate

} def %END proc_CIEColor

%**********************************************************
/tro {1.0 0.0 0.0} def %Reproduktionsfarben olv*+NW
/trl {0.0 1.0 0.0} def
/trv {0.0 0.0 1.0} def
/trc {0.0 1.0 1.0} def
/trm {1.0 0.0 1.0} def
/try {1.0 1.0 0.0} def
/trn {0.0 0.0 0.0} def
/trz {0.5 0.5 0.5} def
/trw {1.0 1.0 1.0} def

/tgo {tro setrgbcolor} def
/tgl {trl setrgbcolor} def
/tgv {trv setrgbcolor} def
/tgc {trc setrgbcolor} def
/tgm {trm setrgbcolor} def
/tgy {try setrgbcolor} def
/tgn {trn setrgbcolor} def
/tgz {trz setrgbcolor} def
/tgw {trw setrgbcolor} def

%************************************************************************
%END IG86Y/Y10-7A.EPS, Procedures for all test elements 20090901
%************************************************************************

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

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

/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
    
/A4quer {598 0 tl 90 rotate} def
%%ENDProlog
gsave

/lanind 0 def
/lantex [(G) (E) (S) (N) (I) (J) (M)] def
/showde {0 lanind eq {show} {pop} ifelse} bind def
/showen {1 lanind eq {show} {pop} ifelse} bind def
/showes {2 lanind eq {show} {pop} ifelse} bind def
/showfr {3 lanind eq {show} {pop} ifelse} bind def
/showit {4 lanind eq {show} {pop} ifelse} bind def
/showjp {5 lanind eq {show} {pop} ifelse} bind def
/showm {6 lanind eq {show} {pop} ifelse} bind def
/lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def}
               {/lanind1 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

/xchartg where {pop /xchartx   xchartg def} {/xchartx   0 def} ifelse
/colormg where {pop /colorm    colormg def} {/colorm    0 def} ifelse

/ISIN*ioG where {pop /ISIN*ioL ISIN*ioG def} {/ISIN*ioL 0 def} ifelse
/ISOU*ioG where {pop /ISOU*ioL ISOU*ioG def} {/ISOU*ioL 0 def} ifelse
/ISRL*ioL 0 def

/ISIO*ioL ISIN*ioL def
/ISIO*ioG where {pop /ISIO*ioG ISIO*ioL def} if
/ISRL*ioG where {pop /ISRL*ioG ISRL*ioL def} if

/xcharti xchartx def %needed for steering output in proc_ColSep*io

00 1 00 {/xcharti exch def %BEG xcharti=00,00

xcharti 0 eq {/ausz 8 def /xchartt (A) def} if %loop not not possible
xcharti 1 eq {/ausz 8 def /xchartt (F) def} if %in case of image
xcharti 2 eq {/ausz 1 def /xchartt (C) def} if
xcharti 3 eq {/ausz 2 def /xchartt (M) def} if
xcharti 4 eq {/ausz 3 def /xchartt (Y) def} if
xcharti 5 eq {/ausz 7 def /xchartt (N) def} if

gsave

72 90 translate

0.01 MM dup scale

colorm 1 eq {proc_LAB*ioG proc_ColSep*ioG}
            {proc_LAB*ioL proc_ColSep*ioL} ifelse

TK
0 setgray
200 -300 moveto (IG860-7) show colorm 0 eq {(A, ) show} {(F, ) show} ifelse
(Page ) showen (Seite ) showde xcharti 1 add cvishow (/1) show

0 setgray
15 setlinewidth

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

0 0 0 setrgbcolor
%TK
%0 -230 moveto
%(IG860-1, ) show

1 1 1 setrgbcolor
   0 0  moveto 25200 0 rlineto 0 17800 rlineto %picture larger
              -25200 0 rlineto closepath fill
%0 0 0 setrgbcolor
%   0 0  moveto 25200 0 rlineto 0 17800 rlineto %picture larger
%              -25200 0 rlineto closepath stroke

/xtr [ 0200 13400  200 13400   200 13400   200 13400] def
/ytr [13400 13400 9050  9050  4700  4700  0350  0350] def

%gsave
%Names:
%proc_CIEColor
%proc_rosette:    ibild=0,5 for CMY and OLV
%proc_16step:     ibild=0,5 for CMY and OLV
%proc_lettersize: ibild=0,5 for CMY and OLV
%proc_Landolt:    ibild=0,5 for CMY and OLV

%**********************************************************
xtr 0 get     ytr 0 get     translate


xtr 0 get neg ytr 0 get neg translate

%**********************************************************
xtr 1 get     ytr 1 get     translate
/ibild 2 def
proc_16step
xtr 1 get neg ytr 1 get neg translate

%**********************************************************
%line 4171: OLV- or CMY0-Picture to be included

%**********************************************************
xtr  3 get     ytr 3 get     translate
/ibild 2 def
proc_lettersize
xtr  3 get neg ytr 3 get neg translate

%**********************************************************
xtr  4 get     ytr  4 get    translate
/ibild 2 def
proc_rosette
xtr  4 get neg ytr 4 get neg translate

%**********************************************************
xtr  5 get     ytr 5 get    translate
/ibild 2 def
/ncol1 0 def
/ncol2 1 def
proc_Landolt
xtr  5 get neg ytr 5 get neg translate

%**********************************************************
xtr 6 get     ytr 6 get     translate
proc_CIEColor
xtr 6 get neg ytr 6 get neg translate

%**********************************************************
xtr 7 get     ytr 7 get     translate
/ibild 2 def
/ncol1 2 def
/ncol2 3 def
proc_Landolt
xtr 7 get neg ytr 7 get neg translate


showpage
grestore

} for %xcharti END xcharti=00,00

%%Trailer