%!PS-Adobe-3.0 EPSF-3.0 xxx/IG50/IG50L00XX.PS 20090901
%%BoundingBox: 00 00 414 292

/pdfmark where {pop} {userdict /pdfmark /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: www.ps.bam.de/IG50/IG50.HTM)
  /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 pdfmark

[ /View [ /Fit ]
/DOCVIEW pdfmark
/ColSpxG 0 def /ColSpx ColSpxG def /DEintp 0 def
%BEG De8_9x/IG50/OUTLIN10.PS Output Linearization (OL) LAB* -> cmyolvnw* 20091001

%Early Binding: needed for colour separation
/sgcmykcolor {setcmykcolor} bind def
/sggray {setgray} bind def
/sgrgbcolor {setrgbcolor} bind def
%FILE PREPARED FOR MIXED MODE, e. g. input ORS18 and output TLS00
%/IMES 0 def %0=LAB* used, no reflection factor necessary
 /IMES 1 def /Yre 2.52 def %1=XYZ measurement and standard device reflection
%/i*ptrsc 0 def %LAB* setcolor to cmy0* / 000n* setcmykcolor
 /i*ptrsc 1 def %LAB* setcolor to olv* setrgbcolor / w* setgray
%/i*ptrsc 2 def %LAB* setcolor to cmy0* / nnn0* setcmykcolor
%/i*ptrsc 3 def %LAB* setcolor to olv* / www* setrgbcolor
%/i*ptrsc 4 def %LAB* setcolor to lab* setcolor
%/i*ptrsc 5 def %LAB* setcolor to LAB* setcolor
%/i*ptrsc 6 def %LAB* setcolor to 000n* setcmykcolor
%/i*ptrsc 7 def %LAB* setcolor to w* setgray
%/ISIN*ioG 0 def %default input Television Luminous System (TLS00)
%/ISOU*ioG 0 def %default output dto.
%/ISIN*ioG 1 def %input  for Television Luminous System (TLS06)
%/ISOU*ioG 1 def %output dto.
%/ISIN*ioG 2 def %input  for Television Luminous System (TLS11)
%/ISOU*ioG 2 def %output dto.
%/ISIN*ioG 3 def %input  for Television Luminous System (TLS18)
%/ISOU*ioG 3 def %output dto.
%/ISIN*ioG 4 def %input  for Television Luminous System (TLS27)
%/ISOU*ioG 4 def %output dto.
%/ISIN*ioG 5 def %input  for Television Luminous System (TLS33)
%/ISOU*ioG 5 def %output dto.
%/ISIN*ioG 6 def %input  for Television Luminous System (TLS52)
%/ISOU*ioG 6 def %output dto.
 /ISIN*ioG 7 def %input  for Television Luminous System (TLS70)
 /ISOU*ioG 7 def %output dto.
 /iLAB 0 def /ISIO*ioG 1 def /ISRL*ioG 1 def % for io-TLS00-System
 /auszg 8 def /ausz 8 def
%END De8_9x/IG50/OUTLIN10.PS Output Linearization (OL) LAB* -> cmyolvnw* 20091001

%*****************************************************************************
%BEG IG50/OUTLIN1X.PS, ident. for NP-(*ioG), FP-files (*ioG) 20091001
%*****************************************************************************
%Data (FRS15_90a) def

/proc_LAB*ioG {%BEG Procedure proc_LAB*ioG

%requires ISRL*ioG=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 %used in file and frame
[(FRS09_92a) (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*ioG 0 eq { %ISRL*ioG=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*ioG=0

ISRL*ioG 1 eq { %ISRL*ioG=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*ioG=1

ISRL*ioG 2 eq { %ISRL*ioG=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*ioG=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*ioG 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*ioG 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*ioG 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*ioG 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*ioG 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*ioG 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*ioG 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*ioG 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 L*Wio def
/L*Nioref L*Nio 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
        /l*CIEL LAB* i30 get L*Nio sub L*Wio L*Nio sub div def
        LAB* i30 L*Nioref L*Wioref L*Nioref sub l*CIEL mul add 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*ioG
        %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*ioG
         /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*ioG

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

/proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioG {
%BEG procedure proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioG
%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*ioG

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

/proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG {
%BEG Procedure proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG
%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 /l*rs w*s 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*rs 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*rs 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*ioG

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

/proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioG { 
%BEG Procedure proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioG
%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 fakmd 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 fakmd 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 fakmd 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 /l*rs w*s 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*rs 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*rs 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*ioG

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

/proc_ColSep*ioG {%BEG Procedure proc_ColSep*ioG ColourSeparation for NP-file 20091001
 
/setgc {pop pop pop 1 exch sub sggray} bind def
/setgm {pop pop 1 exch sub sggray pop} bind def
/setgy {pop 1 exch sub sggray pop pop} bind def
/setgn {1 exch sub sggray 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 sggray}
                    {1 ccolor sub 0.71 mul
                     1 mcolor sub 0.22 mul add
                     1 ycolor sub 0.07 mul add sggray} ifelse
       } bind def

/setcmykcolorf { sgcmykcolor} 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*ioG {%BEG Procedure rgb_LAB_Interp_olv*ioG 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*ioG
                        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*ioG 'zm60'LABINPLT.PS

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

/trans_rgb3*_cmyn4*ioG {%BEG Procedure trans_rgb3*_cmyn4*ioG
%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*ioG

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

/trans_rgb3*_cmyn5*ioG {%BEG Procedure trans_rgb3*_cmyn5*ioG
%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*ioG 'zm60'CMYN559LT.PS

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

/trans_rgb3*_cmyn6*ioG {%BEG Procedure trans_rgb3*_cmyn6*ioG
%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*ioG 'zm60'CMYN559LT.PS

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

%BEG 'zm60'COLM57_590415LT.PS 20091001

ColSpx 0 eq {%ColSpx=0 %special without separation for xcharti=1
/tLAB 0 def
xcharti 1 ge {%xcharti>=1 'zm60'COLM57LT.PS cmy0* 20091001
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*ioG 
                           %/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
                           o* l* v*
                           setrgbcolor %special
                          } 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*ioG
                       %/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
                       o* l* v*
                       setrgbcolor %special
                      } 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*ioG
                            %/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
                           o* l* v*
                           setrgbcolor %special
                           } 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*ioG
                           %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           o* l* v*
                           rgb_LAB_Interp_olv*ioG
                           /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*ioG
                      %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                      o* l* v*
                      rgb_LAB_Interp_olv*ioG
                      /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*ioG
                           %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           o* l* v*
                           rgb_LAB_Interp_olv*ioG
                           /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*
                           sgrgbcolor
                          } 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*
                       sggray
                      } 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
                            sgcmykcolor
                          } def
             } ifelse %END %xcharti=0 'zm60'COLM57LT.PS cmy0* 20091001

} 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*ioG
                           %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           trans_rgb3*_cmyn6*ioG %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*ioG
                       %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                       trans_rgb3*_cmyn6*ioG %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*ioG
                            %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                            trans_rgb3*_cmyn6*ioG %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*ioG
                           %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           o* l* v*
                           rgb_LAB_Interp_olv*ioG
                           trans_rgb3*_cmyn6*ioG %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*ioG
                      %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                      o* l* v*
                      rgb_LAB_Interp_olv*ioG
                      trans_rgb3*_cmyn6*ioG %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*ioG
                            %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                            o* l* v*
                            rgb_LAB_Interp_olv*ioG
                            trans_rgb3*_cmyn6*ioG %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*
                           sgrgbcolor
                          } 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*
                       sggray
                      } 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
                            sgcmykcolor
                           } 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* 20091001
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*ioG
                           %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           trans_rgb3*_cmyn4*ioG %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*ioG
                       %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                       trans_rgb3*_cmyn4*ioG %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*ioG
                            %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                            trans_rgb3*_cmyn4*ioG %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*ioG
                           %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           o* l* v*
                           rgb_LAB_Interp_olv*ioG
                           trans_rgb3*_cmyn4*ioG %needs olv* for input
                           %produces cmyn4*ioG 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*ioG
                      %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                      o* l* v*
                      rgb_LAB_Interp_olv*ioG
                      trans_rgb3*_cmyn4*ioG %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*ioG
                            %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                            o* l* v*
                            rgb_LAB_Interp_olv*ioG
                            trans_rgb3*_cmyn4*ioG %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*
                           sgrgbcolor
                          } 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*
                       sggray
                      } 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
                            sgcmykcolor
                           } def
             } ifelse %END %xcharti=0 'zm60'COLM58LT.PS cmyn4* 20091001

} if %ColSpx=2

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

ColSpx 3 eq {%ColSpx=3
/tLAB 0 def
xcharti 1 ge {%xcharti>=1 'zm60'COLM559LT.PS cmyn5* 20091001
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*ioG
                           %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           trans_rgb3*_cmyn5*ioG %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*ioG
                       %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                       trans_rgb3*_cmyn5*ioG %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*ioG
                            %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                            trans_rgb3*_cmyn5*ioG %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*ioG
                           %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                           o* l* v*
                           rgb_LAB_Interp_olv*ioG
                           trans_rgb3*_cmyn5*ioG %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*ioG
                      %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                      o* l* v*
                      rgb_LAB_Interp_olv*ioG
                      trans_rgb3*_cmyn5*ioG %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*ioG
                            %/o* o3*ed def /l* l3*ed def /v* v3*ed def} if
                            o* l* v*
                            rgb_LAB_Interp_olv*ioG
                            trans_rgb3*_cmyn5*ioG %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*
                           sgrgbcolor
                          } 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*
                       sggray
                      } 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
                            sgcmykcolor
                           } def
             } ifelse %END %xcharti=0 'zm60'COLM559LT.PS cmyn5* 20091001

} if  %ColSpx=3

} bind def %BEG Procedure proc_ColSep*ioG ColourSeparation for NP-file 20091001

%*****************************************************************************
%END IG50/OUTLIN1X.PS, ident. for NP-(*ioG), FP-files (*ioG) 20091001
%*****************************************************************************
/CFilenameS1g                                  %START output of step S1g
(www.ps.bam.de/IG50/10Y/Y10G00N) def           %Link file name for data
/CDateS1g (2009-10-01, Name) def               %Date of calculation, Tester
/CDeviceS1g (unknown ) def                     %Device name
/CMeasS1g (IG50/10Y/Y10G00N) def               %File name measured in step S1g

%change scount2g from  2 to  10 for 10 series
%change pcount2g from  8 to 240 for 240 pages of each series
/scount1g 1 def /scount2g   1 def /scountg 1 def
/pcount1g 1 def /pcount2g   1 def /pcountg 1 def %start=1, one more 9+1!
/xchart1g 0 def /xchart2g   9 def /xchartg 0 def

/BeginEPSF {            % def   % Prepare for EPS file
/b4_Inc_state save def          % Save state for cleanup
/dict_count countdictstack def
/op_count count 1 sub def       % Count objects on op stack
userdict begin                  % Make userdict current dict
/showpage {} def
0 setgray 0 setlinecap
1 setlinewidth 0 setlinejoin
10 setmiterlimit [] 0 setdash newpath
/languagelevel where            % If level not equal to 1 then
 {pop languagelevel where       % If level not equal to 1 then
 1 ne
 {false setstrokeadjust false setoverprint
 } if
} if
} bind def

/EndEPSF {	% def
 count op_count sub {pop} repeat
 countdictstack dict_count sub {end} repeat	% Clean up dict stack
 b4_Inc_state restore
} bind def
         
/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def /str {8 string } bind def
/languagelevel where {pop languagelevel} {1} ifelse
                     /PSL12 exch def
/dictende {counttomark 2 idiv dup dict begin {def}
           repeat pop currentdict end} bind def
                                                    
% !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I
 
/Times-Roman findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
 
/Times-ISOL1 exch definefont pop
 
/Times-Italic findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
 
/TimesI-ISOL1 exch definefont pop
 
/Times-Bold findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
 
/TimesB-ISOL1 exch definefont pop
 
/Times-BoldItalic findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
 
/TimesBI-ISOL1 exch definefont pop
 
/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
 
%ANFA CMYKDEF
%CMYKDEA0 (A0=Standard-Drucker-CMYKDEF) 15.3.97
/tzac [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
/tzam [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
/tzay [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
/tzan [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
/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 CMYKD
 
/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
 
/colrecfiLAB* %x y width heigth LAB*
  { setcolor rec fill} bind def

/colrecstLAB* %x y width heigth LAB*
  { setcolor rec stroke} bind def

/colrecficmyn* %x y width heigth cmy0* or 000n*
  { setcmykcolor rec fill} bind def
 
/colrecstcmyn* %x y width heigth cmy0* or 000n*
  { setcmykcolor rec stroke} bind def

/colrecfiw* %x y width heigth w*
  { setgray rec fill} bind def

/colrecstw* %x y width heigth w*
  { setgray rec stroke} bind def

/colrecfiolv* %x y width heigth olv*
  { setrgbcolor rec fill} bind def

/colrecstolv* %x y width heigth olv*
  { setrgbcolor rec stroke} bind def
 
/tzocmy0* {0.0 1.0 1.0 0.0} bind def %Reproduction colours
/tzlcmy0* {1.0 0.0 1.0 0.0} bind def %cmyn* setcmykcolor
/tzvcmy0* {1.0 1.0 0.0 0.0} bind def
/tzccmy0* {1.0 0.0 0.0 0.0} bind def
/tzmcmy0* {0.0 1.0 0.0 0.0} bind def
/tzycmy0* {0.0 0.0 1.0 0.0} bind def

/tzoolv* {1.0 0.0 0.0} bind def %Reproduction colours
/tzlolv* {0.0 1.0 0.0} bind def %olv* setrgbcolor
/tzvolv* {0.0 0.0 1.0} bind def
/tzcolv* {0.0 1.0 1.0} bind def
/tzmolv* {1.0 0.0 1.0} bind def
/tzyolv* {1.0 1.0 0.0} bind def
 
/tzoLAB* [53.34  72.46  50.66] def %Reproduction colours
/tzlLAB* [84.93 -79.83  74.80] def %LAB* setcolor
/tzvLAB* [32.20  24.88 -37.89] def
/tzcLAB* [88.10 -44.88 -13.36] def
/tzmLAB* [59.66  90.32 -19.65] def
/tzyLAB* [93.76 -20.24  85.93] def

/tzncmy0* {1.00 1.00 1.00 0.00} bind def %grey series
/tzdcmy0* {0.75 0.75 0.75 0.00} bind def %cmy0* setcmykcolor
/tzzcmy0* {0.50 0.50 0.50 0.00} bind def
/tzhcmy0* {0.25 0.25 0.25 0.00} bind def
/tzwcmy0* {0.00 0.00 0.00 0.00} bind def
 
/tzn000n* {0.00 0.00 0.00 1.00} bind def %grey series 000n*
/tzd000n* {0.00 0.00 0.00 0.75} bind def %000n* setcmykcolor
/tzz000n* {0.00 0.00 0.00 0.50} bind def
/tzh000n* {0.00 0.00 0.00 0.25} bind def
/tzw000n* {0.00 0.00 0.00 0.00} bind def

/tznw* {0.00} bind def %grey series
/tzdw* {0.25} bind def %w* setgray
/tzzw* {0.50} bind def
/tzhw* {0.75} bind def
/tzww* {1.00} bind def

/tznolv* {0.00 0.00 0.00} bind def %grey series
/tzdolv* {0.25 0.25 0.25} bind def %olv* setrgbcolor
/tzzolv* {0.50 0.50 0.50} bind def
/tzholv* {0.75 0.75 0.75} bind def
/tzwolv* {1.00 1.00 1.00} bind def

/tznLAB* [18.01 0.00 0.00] def %grey series
/tzdLAB* [37.36 0.00 0.00] def %LAB* setcolor
/tzzLAB* [56.71 0.00 0.00] def
/tzhLAB* [76.06 0.00 0.00] def
/tzwLAB* [95.41 0.00 0.00] def

/tfn {0 setgray} bind def
/tfw {1 setgray} bind def
 
/A4quer {598 0 translate 90 rotate} 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

/tzank [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 
%END 38 lines comment or new PS operators possible
%%EndProlog

%%BeginPageSetup
/#copies 1 def
%A4quer
0.5 0.5 scale

/pgsave save def
%%EndPageSetup
0.0 MM 0.0 MM translate %Verschiebung nach oben und links fuer Belichter
gsave
/LAB*TE [(FRS09_92a)] def
/SS$ [(G) (E) (S) (F) (I) (J) (M)] def
/SC$ [(N) (F) (S) (D) (T) (E) (C)] def
/SX$ [(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (A) (B) (C) (D) (E) (F)] def
/SY$ [(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (A) (B) (C) (D) (E) (F)] def
%       0           1            2            3            4            5
%       6           7            8         
/EX$ [(1.PS/ .TXT) (B.PS/ .BMP) (G.PS/ .GIF) (H.PS/ .HTM) (I.PS/ .HTM)
      (J.PS/ .JPE) (P.PDF/ .PS) (T.PS/ .TIF)] def
/EY$ [(1.DAT) (B.DAT) (G.DAT) (H.DAT) (I.DAT) (J.DAT)
      (P.DAT) (T.DAT)] def
/lanindg1 0 def /lanindg2 0 def
/colormg1 0 def /colormg2 0 def
/xcolorg1 0 def /xcolorg2 0 def
/xchartg1 0 def /xchartg2 0 def
/lanindg lanindg1 def %no loops
/colormg colormg1 def
/xcolorg xcolorg1 def
/xchartg xchartg1 def

/pcount2x pcount2g xchart2g sub 2 add def

%scount1g 1 scount2g {/scountg exch def %s=serie, e. g. 1,1,10
%1 1 1 {/pcountg exch def %p=page, e. g. 1,1,250
/xchart10 0 def /xchart20 0 def %1=only colour circle
%pcountg pcount1g eq {/xchart10 0 def /xchart20 0 def}
%                    {/xchart10 1 def /xchart20  1 def} ifelse
%%pcountg pcount2x eq {/xchart10 2 def /xchart20  9 def} if
xchart10 1 xchart20 {/xchartg exch def

xchartg 0 eq {/xcharti 1 def} if
xchartg 1 eq {/xcharti 6 def} if
xchartg 2 eq {/xcharti 7 def} if

xcharti 0 eq {/ausz 8 def /xchartt (A) def} if
xcharti 1 eq {/ausz 8 def /xchartt (F) def} if
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
xcharti 6 eq {/ausz 8 def /xchartt (F) def} if
xcharti 7 eq {/ausz 8 def /xchartt (F) def} if
xcharti 8 eq {/ausz 8 def /xchartt (F) def} if
xcharti 9 eq {/ausz 8 def /xchartt (F) def} if
xcharti 10 eq {/ausz 8 def /xchartt (F) def} if
xcharti 11 eq {/ausz 8 def /xchartt (F) def} if
xcharti 12 eq {/ausz 8 def /xchartt (F) def} if
xcharti 13 eq {/ausz 8 def /xchartt (F) def} if
xcharti 14 eq {/ausz 8 def /xchartt (F) def} if
/xchartg0 0 def

/colorm colormg def /xchart xcharti xchartg0 sub def

%LAB*ioL, ColSep*ioL, and procedures (*ioL) are only in Y10-7N.EPS
%proc_LAB*ioG, proc_ColSep*ioG, and procedures (*ioG) are only in Y10G00NA.PS6.PS and OUTLIN1X
%for consistancy use same procedures in Y10-7N and Y10G00NA.PS6.PS

colorm 1 eq {proc_LAB*ioG proc_ColSep*ioG} if %LAB*ioL, ColSep*ioL only in Y10-7!

%2 MM /Times-Roman FS
%274 MM 82 MM moveto -90 rotate (/IG50/  ) show (Form: ) show
%xchartg 1 add cvi 6 string cvs show (/) show
%xchart2g 1 add cvi 6 string cvs show (,) show 90 rotate
%274 MM 65 MM moveto -90 rotate (Serie: ) show
%scountg cvi 6 string cvs show (/) show
%scount2g cvi 6 string cvs show (,) show 90 rotate
%274 MM 55 MM moveto -90 rotate
%lanindg 0 eq {(Seite: )}{(Page: )} ifelse show
%pcountg xchartg xchart10 sub add cvi 6 string cvs show 90 rotate

%274 MM 45 MM moveto
%-90 rotate
%lanindg 0 eq {(Seitenz\344hlung )}{(Page: count: )} ifelse show
%scountg 1 sub pcount2g mul pcountg add
%pcountg pcount2x eq {xchartg add pcount1g pcount2x ne {2 sub } if} if
%cvi 6 string cvs show
%90 rotate
/GSS$ SS$ lanindg get def
/GSC$ SC$ colormg get def
/GSX$ SX$ xcolorg get def
/GSY$ SY$ 0 get def
/GEX$ EX$ 0 get def
/GEY$ EY$ 0 get def

%gsave
BeginEPSF
 28 MM 197 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 10

%line 329

%%EndDocument
EndEPSF grestore gsave
                    
BeginEPSF
 28 MM 152 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 11

%line 339
%!PS-Adobe-3.0 EPSF-3.0 IG500-1,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG500-1,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave

BeginEPSF
 86 MM 152 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 12

%line 349
%!PS-Adobe-3.0 EPSF-3.0 IG500-2,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG500-2,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave
                         
BeginEPSF
 28 MM 108 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 13

%line 359
%!PS-Adobe-3.0 EPSF-3.0 IG500-3,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG500-3,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave
                         
BeginEPSF
 86 MM 108 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 14

%line 369
%!PS-Adobe-3.0 EPSF-3.0 IG500-4,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG500-4,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave
                         
BeginEPSF
 28 MM 064 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 15

%line 379
%!PS-Adobe-3.0 EPSF-3.0 IG500-5,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG500-5,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave

BeginEPSF
 86 MM 064 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 16

%line 389
%!PS-Adobe-3.0 EPSF-3.0 IG500-6,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG500-6,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave
BeginEPSF
28 MM 19 MM add %special
20 MM 28 MM add translate %special
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 17

%line 399
%!PS-Adobe-3.0 EPSF-3.0 IG500-7N
%%BoundingBox: 14 08 715 500

%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 0 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 IG50/Y10-7N.EPS, ident. for NP-(*ioL), FP-files (*ioL) 20091001
%*****************************************************************************
%Data (FRS15_90a) 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 %used in file and frame
[(FRS09_92a) (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 L*Wio def
/L*Nioref L*Nio 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
        /l*CIEL LAB* i30 get L*Nio sub L*Wio L*Nio sub div def
        LAB* i30 L*Nioref L*Wioref L*Nioref sub l*CIEL mul add 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 /l*rs w*s 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*rs 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*rs 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 fakmd 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 fakmd 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 fakmd 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 /l*rs w*s 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*rs 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*rs 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-7N04.PS

/proc_ColSep*ioL {%BEG Procedure proc_ColSep*ioL ColourSeparation for NP-file 20091001
 
/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 20091001

ColSpx 0 eq {%ColSpx=0 %special without separation for xcharti=1
/tLAB 0 def
xcharti 1 ge {%xcharti>=1 'zm60'COLM57LT.PS cmy0* 20091001
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
                           o* l* v*
                           setrgbcolor %special
                          } 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
                       o* l* v*
                       setrgbcolor %special
                      } 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
                           o* l* v*
                           setrgbcolor %special
                           } 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* 20091001

} 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* 20091001
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* 20091001

} if %ColSpx=2

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

ColSpx 3 eq {%ColSpx=3
/tLAB 0 def
xcharti 1 ge {%xcharti>=1 'zm60'COLM559LT.PS cmyn5* 20091001
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* 20091001

} if  %ColSpx=3

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

%*****************************************************************************
%END IG50/Y10-7N.EPS, ident. for NP-(*ioL), FP-files (*ioL) 20091001
%*****************************************************************************

/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

/IMODE 0 def
/xs 1000 def /ys xs def /d2 xs 2 div def /d8 xs 8 div def
/xs5x xs 5.4 mul def /ys5x ys 5.4 mul def
/x xs 0.15 mul  def
/y ys 12.0 mul def

/nr1 27 array def
/tx1 52 array def

/nr1 [(01) (02) (03) (04) (05) (06) (07) (08) (09) (10)
      (11) (12) (13) (14) (15) (16) (17) (18) (19) (20)
      (21) (22) (23) (24) (25) (26) (27)] def
/tx1 [(A) (B) (C) (D) (E) (F) (G) (H) (I) (J)
      (K) (L) (M) (N) (O) (P) (Q) (R) (S) (T)
      (U) (V) (W) (X) (Y) (Z) (a) (b) (c) (d)
      (e) (f) (g) (h) (i) (j) (k) (l) (m) (n)
      (o) (p) (q) (r) (s) (t) (u) (v) (w) (x)
      (y) (z)] def

/ColNamesrgb* 30 array def
/ColNamesrgb* [(O) (Y) (L) (C) (V) (M) (N) (W)
               (R) (J) (G) (B)
               (r00j) (r25j) (r50j) (r75j)
               (j00g) (j25g) (j50g) (j75g)
               (g00b) (g25b) (g50b) (g75b)
               (b00r) (b25r) (b50r) (b75r) (R = r00j) (r25j)
              ] def
          
/ColNamesolv* 30 array def
/ColNamesolv* [(O) (Y) (L) (C) (V) (M) (N) (W)
               (O) (Y) (L) (V)
               (o00y) (o25y) (o50y) (o75y)
               (y00l) (y25l) (y50l) (y75l)
               (l00c) (l50c) (c00v) (c50v)
               (v00m) (v50m) (m00o) (m50o) (O = o00y) (o25y)
              ] def
              
/ColNames 30 array def
0 1 29 {/iintp exch def %iintp=0,29
        ColNames iintp
        DEintp 0 eq {ColNamesolv* iintp get}
                    {ColNamesrgb* iintp get} ifelse
        put
       } for %iintp=0,29 

/AngsTabt 68 array def
/AngsTabt [%31 angles = 360/22,5 + 1 = 16 + 1
000.0 1.00 0.00 0.00 %r00j
022.5 1.00 0.25 0.00
045.0 1.00 0.50 0.00 %r50j
067.5 1.00 0.75 0.00
090.0 1.00 1.00 0.00 %j00g
112.5 0.75 1.00 0.00
135.0 0.50 1.00 0.00 %j50g
157.5 0.25 1.00 0.00
180.0 0.00 1.00 0.00 %g00b
202.5 0.00 1.00 0.50
225.0 0.00 1.00 1.00 %g50b
247.5 0.00 0.50 1.00
270.0 0.00 0.00 1.00 %b00r
292.5 0.50 0.00 1.00
315.0 1.00 0.00 1.00 %b50r
337.5 1.00 0.00 0.50
360.0 1.00 0.00 0.00 %r00j
] def

/xd 800 def
/yd 800 def
/xd5x xs5x 200 sub def
/yd5x ys5x 200 sub def
/j 0 def /i 0 def
/xds 600 def

/xmin  0000 def
/xmax 10000 def
/ymin  0000 def
/ymax 10000 def

/ISIN*ioG where {pop /ISIN*ioL ISIN*ioG def} {/ISIN*ioL 7 def} ifelse
/ISOU*ioG where {pop /ISOU*ioL ISOU*ioG def} {/ISOU*ioL 7 def} ifelse
/ISRL*ioL 1 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

/xchartl xchartx def %needed for steering output in proc_ColSep*io
/xcharts0 9 def
/xcharts xcharts0 def

%00 1 02 {/xchartl exch def %BEG xchartl=00,02
xchartl 0 eq {/xcharti 1 def} if
xchartl 1 eq {/xcharti 6 def} if
xchartl 2 eq {/xcharti 7 def} if

0 setgray
%09 1 09 {/xcharts exch def %BEG xcharts=09,09 only circle

gsave

15 12 translate

/faktm 1.00 def %fits A4-size minus 5mm; 15 12 translate for cero point
                %1.18/1.00 for N-files with 14 08 xxx xxx

0.01 MM faktm mul dup scale

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

xcharti 0 eq {/ausz 8 def /xchartt (A) def} if
xcharti 1 eq {/ausz 8 def /xchartt (F) def} if
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
xcharti 6 eq {/ausz 8 def /xchartt (F) def} if
xcharti 7 eq {/ausz 8 def /xchartt (F) def} if
xcharti 8 eq {/ausz 8 def /xchartt (F) def} if
xcharti 9 eq {/ausz 8 def /xchartt (F) def} if
xcharti 10 eq {/ausz 8 def /xchartt (F) def} if
xcharti 11 eq {/ausz 8 def /xchartt (F) def} if
xcharti 12 eq {/ausz 8 def /xchartt (F) def} if
xcharti 13 eq {/ausz 8 def /xchartt (F) def} if
xcharti 14 eq {/ausz 8 def /xchartt (F) def} if

TK
0 setgray
200 -300 moveto (IG500-7) show colorm 0 eq {(N  ) show} {(F  ) show} ifelse
%(Page ) showen (Seite ) showde xchartl 1 add cvishow (/3) show

/faktsc 1.0 def %/faktsc 3.0 def
0.5 setgray
0 0 moveto
24500 faktsc mul 0 rlineto 0 17000 faktsc mul rlineto
24500 faktsc mul neg 0 rlineto closepath fill

/xchart xcharts xcharts0 sub 1 add def

xcharts 25 le {%xcharts<=25

0 1 1 {/ibild exch def %ibild=0,1

0.0 setgray

xcharts 9 eq {%xcharts=9

ibild 0 eq { 1900 1700 translate} if
ibild 1 eq {13800 1700 translate} if

1 setgray
TBG
/xtext0 -1700 def /xtext1 -1200 def
ibild 0 eq { %ibild=0
            xtext0 14900 moveto
            (Input and output: ) showen
            (Ein und Ausgabe: ) showde

ISRL*ioL 0 eq {%ISRL*ioL=0
               ISIO*ioL 0 eq {/TSYSIOa (FRS15_90a) def /TSYSIO (FRS15_90) def
                              (Printer Reflective System ) showen
                              (Drucker\255Reflektiv\255System ) showde} if
               ISIO*ioL 1 eq {/TSYSIOa (TLS00a) def
                              (Television Luminous System ) showen
                              (Fernseh\255Licht\255System ) showde} if
               ISIO*ioL 2 eq {/TSYSIOa (FRS06a) def
                              (Printer Reflective System ) showen
                              (Drucker\255Reflektiv\255System ) showde} if
               ISIO*ioL 3 eq {/TSYSIOa (TLS18a) def
                              (Television Luminous System ) showen
                              (Fernseh\255Licht\255System ) showde} if
               ISIO*ioL 4 eq {/TSYSIOa (NLS00a) def
                              (Natural Luminous System ) showen
                              (Nat\374rliches\255Licht\255System ) showde} if
               ISIO*ioL 5 eq {/TSYSIOa (NRS18a) def
                              (Natural Reflective System ) showen
                              (Nat\374rliches\255Reflektiv\255System ) showde} if
               ISIO*ioL 6 eq {/TSYSIOa (SRS18a) def
                              (Standard Reflective System ) showen
                              (Standard\255Reflektiv\255System ) showde} if
               ISIO*ioL 7 eq {/TSYSIOa (TLS70a) def
                              (Television Luminous System ) showen
                              (Fernseh\255Licht\255System ) showde} if
              } if %ISRL*ioL=0

ISRL*ioL 1 eq {%ISRL*ioL=1
               ISIO*ioL 0 eq {/TSYSIOa (TLS00a) def} if
               ISIO*ioL 1 eq {/TSYSIOa (TLS06a) def} if
               ISIO*ioL 2 eq {/TSYSIOa (TLS11a) def} if
               ISIO*ioL 3 eq {/TSYSIOa (TLS18a) def} if
               ISIO*ioL 4 eq {/TSYSIOa (TLS27a) def} if
               ISIO*ioL 5 eq {/TSYSIOa (TLS38a) def} if
               ISIO*ioL 6 eq {/TSYSIOa (TLS52a) def} if
               ISIO*ioL 7 eq {/TSYSIOa (TLS70a) def} if
               (Television Luminous System ) showen
               (Fernseh\255Licht\255System ) showde
              } if %ISRL*ioL=1

ISRL*ioL 2 eq {%ISRL*ioL=2
               ISIO*ioL 0 eq {/TSYSIOa (OLS00a) def} if
               ISIO*ioL 1 eq {/TSYSIOa (OLS06a) def} if
               ISIO*ioL 2 eq {/TSYSIOa (OLS11a) def} if
               ISIO*ioL 3 eq {/TSYSIOa (OLS18a) def} if
               ISIO*ioL 4 eq {/TSYSIOa (OLS27a) def} if
               ISIO*ioL 5 eq {/TSYSIOa (OLS38a) def} if
               ISIO*ioL 6 eq {/TSYSIOa (OLS52a) def} if
               ISIO*ioL 7 eq {/TSYSIOa (OLS70a) def} if
               (Offset Luminous System ) showen
               (Offset\255Licht\255System ) showde
              } if %ISRL*ioL=2

TSYSIOa show

TBG
xtext0 14100 moveto 
(data for any colour:) showen
(Daten f\374r jede Farbe:) showde

xtext1 13700 moveto TBIG (LAB*LAB) show
TBM 0 -80 rmoveto (Ma) show 0 80 rmoveto
TBG ( and ) showen ( und ) showde
TBIG ( LAB*LCH) show
TBM 0 -80 rmoveto (Ma) show 0 80 rmoveto

xtext0 13300 moveto TBG
DEintp 0 eq {(device and elementary hue text: ) showen 
             (Ger\344te\255 und Elementar\255Bunttontext: ) showde}
            {(elementary and device hue text: ) showen
             (Elementar\255 und Ger\344te\255Bunttontext: ) showde} ifelse

xtext1 12900 moveto
DEintp 0 eq {TBIG (d*) show  %TBM 0 -50 rmoveto (d) show 0 50 rmoveto
             TBG ( and ) showen ( und ) showde
             TBIG (u*) show  %TBM 0 -50 rmoveto (e) show 0 50 rmoveto
            }
            {TBIG (u*) show  %TBM 0 -50 rmoveto (e) show 0 50 rmoveto
             TBG ( and ) showen ( und ) showde
             TBIG (d*) show  %TBM 0 -50 rmoveto (d) show 0 50 rmoveto
            } ifelse

cfakt 1 ne {%cfakt#1
xtext0 12500 moveto TBG
(contrast reduction factor: ) showen (Kontrastreduzierungsfaktor: ) showde
xtext1 12100 moveto
xtext1 12100 moveto
TBIG (c) show TBM 0 -130 rmoveto (R) show 0 130 rmoveto
TBG ( = ) show
cfakt cvsshow2
} if %cfakt#1

} if %ibild=0

%BEG CIELAB-Hue Circle
-1200 -1500 translate
/xym 4 def
25 setlinewidth
/xd2 xd 0.8 mul def
0.5 0.5 0.5 setrgbcolor
0 0  moveto 2800 xym mul 0 rlineto 0 2800 xym mul rlineto
           -2800 xym mul 0 rlineto
closepath fill
0.0 setgray
0 0  moveto 2800 xym mul 0 rlineto 0 2800 xym mul rlineto
           -2800 xym mul 0 rlineto
closepath stroke
 
1400 xym mul 1400 xym mul translate %cero at center

-650 xym mul 0 moveto 650 xym mul 0 lineto stroke
0 -750 xym mul moveto 0 750 xym mul lineto stroke

/rx 774 xym mul 1.56 mul def %standard hexagon gamut
0 0 0 setrgbcolor
0 0 rx 0 360 arc stroke

/xs3 1400 def /xd3 xs3 2 div def

CBKK
0 1 15 {/j exch def %j=0,15
        /xpos rx AngsTabt j 4 mul get cos mul def
        /ypos rx AngsTabt j 4 mul get sin mul def
        /xa xpos xd3 sub def
        /ya ypos xd3 sub def

        /r*x DEintp 0 eq {o3*ddiMa} {o3*ediMa} ifelse j get def
        /g*x DEintp 0 eq {l3*ddiMa} {l3*ediMa} ifelse j get def
        /b*x DEintp 0 eq {v3*ddiMa} {v3*ediMa} ifelse j get def

          /tLAB 1 def
          r*x g*x b*x 
          DEintp 0 eq { %DEintp=0
                       proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } %DEintp=0
                      { %DEintp=1
                       proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } ifelse %DEintp=1

          /L*Fa0 L*Fa def
          /A*Fa0 A*Fa def
          /B*Fa0 B*Fa def
          /C*Fa0 C*Fa def
          /H*Fa0 H*Fa def

          /c*rs0 c*rs def
          /t*s0 t*s def
          /l*s0 l*rs def
          /h*s0 H*Fa0 360 div def
          /i*s0 1 n*s sub def
          
          /a*sr A*Wior A*Nior sub l*s0 mul def
          /b*sr B*Wior B*Nior sub l*s0 mul def
          /L*Fa0x L*Fa0 def
          /A*Fa0x A*Fa0 A*Nior add a*sr add def
          /B*Fa0x B*Fa0 B*Nior add b*sr add def

          /r*x DEintp 0 eq {o3*dd0}{o3*dd0} ifelse def
          /g*x DEintp 0 eq {l3*dd0}{l3*dd0} ifelse  def
          /b*x DEintp 0 eq {v3*dd0}{v3*dd0} ifelse  def

          r*x g*x b*x setrgbcolor %only to calculate olv'*3, cmyn'*4
          /os3*Fa0 o* def
          /ls3*Fa0 l* def
          /vs3*Fa0 v* def
          /cs4*Fa0 c4*Fa def
          /ms4*Fa0 m4*Fa def
          /ys4*Fa0 y4*Fa def
          /ns4*Fa0 n4*Fa def

          xa ya xs3 xs3 rec fill
        
%        xcharti 5 le {1 r*x sub 1 g*x sub 1 b*x sub 0 setcmykcolor
%                      xa ya xs3 0.5 mul dup rem fill} if
        xcharti 6 ge {1 1 1 setrgbcolor
                      xa ya xs3 0.5 mul dup rem fill} if
        xcharti 0 eq {%xcharti=0
                      [100 300] 0 setdash
                      r*x 0 eq g*x 0 eq and b*x 0 eq and {1 setgray}
                                                         {0 setgray} ifelse
                      xa ya xs3 0.5 mul dup rem stroke
                      [ ] 0 setdash
                     } if %xcharti=0

              xcharti 6 ge {%xcharti>=6
              0 0 0 setrgbcolor
              /xan xa xs3 0.30 mul add def
              /yan ya xs3 0.12 mul add def
              xan yan 740 add moveto
              ibild 0 eq xcharti 14 ne and {
              DEintp 0 eq {ColdiNames}{ColeiNames} ifelse j get show} if %ibild=0
              ibild 1 eq {j 9 le {(0) show j cvishow}
                                 {j cvishow} ifelse
                         } if
             } if %xcharti>=6

ibild 0 eq {%ibild=0
        xcharti 6 ge {0 0 0 setrgbcolor
                      /xan xa xs3 0.30 mul add def
                      /yan ya xs3 0.12 mul add def} if
        xcharti 6 eq {xan yan 560 add moveto DEintp 0 eq {o3*dd0}{o3*dd0} ifelse cvsshow2
                      xan yan 380 add moveto DEintp 0 eq {l3*dd0}{l3*dd0} ifelse cvsshow2
                      xan yan 200 add moveto DEintp 0 eq {v3*dd0}{v3*dd0} ifelse cvsshow2} if
        xcharti 7 eq {xan yan 560 add moveto DEintp 0 eq {o3*de0}{o3*de0} ifelse cvsshow2
                      xan yan 380 add moveto DEintp 0 eq {l3*de0}{l3*de0} ifelse cvsshow2
                      xan yan 200 add moveto DEintp 0 eq {v3*de0}{v3*de0} ifelse cvsshow2} if
        xcharti 8 eq {xan yan 560 add moveto L*Fa0 cvsshow1
                      xan yan 380 add moveto A*Fa0 cvsshow1
                      xan yan 200 add moveto B*Fa0 cvsshow1} if
        xcharti 9 eq {xan yan 560 add moveto L*Fa0 cvsshow1
                      xan yan 380 add moveto C*Fa0 cvsshow1
                      xan yan 200 add moveto H*Fa0 cvishow} if
       xcharti 10 eq {xan yan 560 add moveto t*s0 cvsshow2
                      xan yan 380 add moveto c*rs0 cvsshow2
                      xan yan 200 add moveto h*s0 cvsshow2} if
       xcharti 11 eq {xan yan 560 add moveto i*s0 cvsshow2
                      xan yan 380 add moveto c*rs0 cvsshow2
                      xan yan 200 add moveto
                      DEintp 0 eq {u*xeMa10 show u*xeMai0 9 le {(0) show} if
                                   u*xeMai0 cvishow u*xeMa20 show}
                                  {u*xdMa10 show u*xdMai0 9 le {(0) show} if
                                   u*xdMai0 cvishow u*xdMa20 show} ifelse
                     } if
       xcharti 12 eq {xan yan 560 add moveto L*Fa0x cvsshow1
                      xan yan 380 add moveto A*Fa0x cvsshow1
                      xan yan 200 add moveto B*Fa0x cvishow} if
       xcharti 13 eq {xan yan 560 add moveto os3*Fa0 cvsshow2
                      xan yan 380 add moveto ls3*Fa0 cvsshow2
                      xan yan 200 add moveto vs3*Fa0 cvsshow2} if
       xcharti 14 eq {CBKK
                      xan yan 740 add moveto cs4*Fa0 cvsshow2
                      xan yan 560 add moveto ms4*Fa0 cvsshow2
                      xan yan 380 add moveto ys4*Fa0 cvsshow2
                      xan yan 200 add moveto ns4*Fa0 cvsshow2
                      CBK} if
} if %ibild=0

ibild 1 eq 
xcharti 6 ge and {%ibild=1, %xcharti>=6
0 0 0 setrgbcolor
/xan xa xs3 0.30 mul add def
/yan ya xs3 0.12 mul add def
xan yan 560 add moveto L*Fa0 cvsshow1
xan yan 380 add moveto C*Fa0 cvsshow1
xan yan 200 add moveto H*Fa0 cvishow
} if %ibild=1 %xcharti>=6

} for %j=0,15

TBG
1 1 1 setrgbcolor  
 2300   1000 moveto (yellowish) showen (  gelblich)  showde
-3600    800 moveto (yellowish) showen (  gelblich)  showde
 2600  -1150 moveto (  bluish)  showen (bl\344ulich) showde
-3800  -1150 moveto (  bluish)  showen (bl\344ulich) showde

 -1600  3300 moveto (greenish)  showen (gr\374nlich) showde
 -1600 -3500 moveto (greenish)  showen (gr\374nlich) showde
   700  3300 moveto (  redish)  showen (r\366tlich)  showde
   700 -3500 moveto (  redish)  showen (r\366tlich)  showde 

-4000  -100 moveto (Green G)  showen (Gr\374n G) showde
 3000  -100 moveto (Red R)    showen (Rot R)     showde
 -400  3700 moveto (Yellow J) showen (Gelb J)    showde
 -400 -3900 moveto (Blue B)   showen (Blau B)    showde

-1400 xym mul -1400 xym mul translate

1200 1500 translate

%END CIELAB-Hue Circle

%CIELAB-Table
/xdev  11000 def
/xele -09250 def
/xtop    600 def
ibild 0 eq {5600 xdev add }{4700 xele add} ifelse 9600 xtop add translate
/yhoe 6300 def

ibild 0 eq {/xmi0 0 def /ymi0 -50 def} {/xmi0 700 def /ymi0 -1400 def} ifelse

15 setlinewidth
1.0 setgray
0 ymi0  moveto 5300 xmi0 add 0 rlineto 0 4800 ymi0 sub rlineto
              -5300 xmi0 sub 0 rlineto
closepath fill
0.0 setgray
0 ymi0  moveto 5300 xmi0 add 0 rlineto 0 4800 ymi0 sub rlineto
              -5300 xmi0 sub 0 rlineto
closepath stroke
 
/nshow {300 /Times-ISOL1 FS  show} bind def
/kshow {300 /TimesI-ISOL1 FS  show} bind def
/bshow {300 /TimesB-ISOL1 FS  show} bind def
/jshow {300 /TimesBI-ISOL1 FS  show} bind def
/sshow {300 /Symbol FS  show} bind def
/ishow {220 /Times-ISOL1 FS -00 -50 rmoveto show 00 50 rmoveto} bind def
/eshow {220 /Times-ISOL1 FS 0 100 rmoveto show 0 -100 rmoveto} bind def

/yd 340 def %y-Zeilenabstand
%Spalten
/S1 20 def
/S2 450 def
/S3 1550 def
/S4 2650 def
/S5 3750 def
/S6 4800 def

/yu1 4650 def
/yu2 3800 def

0 4100 moveto ibild 0 eq {5300}{6000} ifelse 0 rlineto stroke

%Titeltext
 S1 4550 moveto
ibild 0 eq {xcharti 12 eq {TSYSIO} {TSYSIOa} ifelse bshow} {TSYSIOa bshow} ifelse
lanind 1 eq {(;) bshow xcharti 12 lt ibild 0 ne or {( adapted (a)) bshow} if
             ( CIELAB data) bshow} if
lanind 0 eq {(;) bshow xcharti 12 lt ibild 0 ne or {( adaptierte) bshow} if
             ( CIELAB\255Daten) bshow} if
S1 000 add 4250 moveto ibild 0 eq {(Name) kshow}
                                  {DEintp 0 eq {( d*)}{( u*)} ifelse kshow} ifelse
S2 300 add 4250 moveto (L*=L*) kshow xcharti 12 lt ibild 0 ne or {(a) ishow} if
S3 300 add 4250 moveto (a*) kshow xcharti 12 lt ibild 0 ne or {(a) ishow} if
S4 000 add 4250 moveto (b*) kshow xcharti 12 lt ibild 0 ne or {(a) ishow} if
S5 100 sub 4250 moveto (C*) kshow (ab) ishow xcharti 12 lt ibild 0 ne or {(,a) ishow} if
S6 200 sub 4250 moveto (h*) kshow (ab) ishow xcharti 12 lt ibild 0 ne or {(,a) ishow} if
ibild 1 eq {S6 600 add 4250 moveto DEintp 0 eq {(u*)}{(d*)} ifelse kshow} if

ibild 0 eq {%BEG ibild=0
0 1 11 {/ic exch def %ic=0,11
        S1 20 add yu2 yd ic mul sub moveto
        ColNames ic get nshow
        ic 8 ge {(CIE) ishow}{(M) ishow xcharti 12 lt {(a) ishow} if} ifelse
        ( ) nshow
       } for %ic=0,11
0 1 11 {/i exch def %i=0,11
       /ya yu2 yd i mul sub def
       xcharti 12 lt { %xcharti=12,#12
       /L*Fa LAB*a i 3 mul get def
       /A*Fa LAB*a i 3 mul 1 add get def
       /B*Fa LAB*a i 3 mul 2 add get def
       /C*Fa A*Fa dup mul B*Fa dup mul add sqrt def
       /H*Fa B*Fa A*Fa 0.0001 add atan def
       S2 350 add ya moveto L*Fa cvsshow2 
       S3 100 add ya moveto A*Fa cvsshow2
       S4 100 add ya moveto B*Fa cvsshow2
       S5 ya moveto C*Fa cvsshow2
       S6 ya moveto H*Fa cvishow
                    } %xcharti=12
                    { %xcharti#12
       /L*Fx LAB* i 3 mul get def
       /A*Fx LAB* i 3 mul 1 add get def
       /B*Fx LAB* i 3 mul 2 add get def
       /C*Fx A*Fx dup mul B*Fx dup mul add sqrt def
       /H*Fx B*Fx A*Fx 0.0001 add atan def
       S2 350 add ya moveto L*Fx cvsshow2
       S3 100 add ya moveto A*Fx cvsshow2
       S4 100 add ya moveto B*Fx cvsshow2
       S5 ya moveto C*Fx cvsshow2
       S6 50 sub ya moveto H*Fx cvishow
                    } ifelse %xcharti=12,#12

       } for %i=0,11
        }%END ibild=0
        {%BEG ibild=1
 0 1 15 {/i exch def %i=0,15
         S1 20 add yu2 yd i mul sub moveto
         DEintp 0 eq {ColdiNames}{ColeiNames} ifelse i get kshow
        } for %i=0,15

 0 1 15 {/i exch def %i=0,15
         /ya yu2 yd i mul sub def
         /L*Ma DEintp 0 eq {L*diMa} {L*eiMa} ifelse i get def
         /A*Ma DEintp 0 eq {A*diMa} {A*eiMa} ifelse i get def
         /B*Ma DEintp 0 eq {B*diMa} {B*eiMa} ifelse i get def
                       
         /C*Ma A*Ma dup mul B*Ma dup mul add 0.0001 add sqrt def
         /H*Ma B*Ma A*Ma 0.0001 add atan def
         S1 ya moveto () nshow

         S2 350 add ya moveto L*Ma cvsshow2 
         S3 100 add ya moveto A*Ma cvsshow2
         S4 100 add ya moveto B*Ma cvsshow2
         S5 ya moveto C*Ma cvsshow2

         S6 100 sub ya moveto H*Ma cvishow
         S6 500 add ya moveto
         DEintp 0 eq {u*deiMa1 i get kshow
                      u*deiMai i get 9 le {(0) kshow} if u*deiMai i get 6 string cvs kshow 
                      u*deiMa2 i get kshow
                     }
                     {u*ediMa1 i get kshow
                      u*ediMai i get 9 le {(0) kshow} if u*ediMai i get 6 string cvs kshow 
                      u*ediMa2 i get kshow
                     } ifelse
        } for %i=0,15
        
        } ifelse %END ibild=1

ibild 0 eq {-5600 xdev sub}{-4700 xele sub} ifelse -9600 xtop sub translate

%CIELAB-Diagram

ibild 0 eq { %ibild=0

2600 xdev add 11600 xtop add translate

25 setlinewidth
1.0 setgray
0 0  moveto 2800 0 rlineto 0 2800 rlineto
           -2800 0 rlineto
closepath fill
0.0 setgray
0 0  moveto 2800 0 rlineto 0 2800 rlineto
           -2800 0 rlineto
closepath stroke
 
1200 1300 translate
-1000 0 moveto 1000 0 lineto stroke
0 -1000 moveto 0 1000 lineto stroke

1100 0 moveto (a*) kshow (a) ishow
0 1100 moveto (b*) kshow (a) ishow

/rx 774 def %standard hexagon gamut
0.0 setgray
rx 030 cos mul rx 030 sin mul moveto
0 rx lineto
rx 150 cos mul rx 150 sin mul lineto
rx 210 cos mul rx 210 sin mul lineto
0 rx neg lineto
rx 330 cos mul rx 330 sin mul lineto closepath stroke

/r*x 1 def /g*x 0 def /b*x 0 def r*x g*x b*x setrgbcolor
rx 030 cos mul rx 030 sin mul 100 0 360 arc fill
/r*x 1 def /g*x 1 def /b*x 0 def r*x g*x b*x setrgbcolor
0 rx 100 0 360 arc fill
/r*x 0 def /g*x 1 def /b*x 0 def r*x g*x b*x setrgbcolor
rx 150 cos mul rx 150 sin mul 100 0 360 arc fill
/r*x 0 def /g*x 1 def /b*x 1 def r*x g*x b*x setrgbcolor
rx 210 cos mul rx 210 sin mul 100 0 360 arc fill
/r*x 0 def /g*x 0 def /b*x 1 def r*x g*x b*x setrgbcolor
0 rx neg 100 0 360 arc fill
/r*x 1 def /g*x 0 def /b*x 1 def r*x g*x b*x setrgbcolor
rx 330 cos mul rx 330 sin mul 100 0 360 arc fill

%calculation line of actual hue
45 setlinewidth %actual gamut
0 0 0 setrgbcolor
0 1 5 {/i exch def %i=0,5
       /A*Ma LAB*a i 3 mul 1 add get def
       /B*Ma LAB*a i 3 mul 2 add get def
       i 0 eq {A*Ma 10 mul B*Ma 10 mul moveto}
              {A*Ma 10 mul B*Ma 10 mul lineto} ifelse
       i 5 eq {closepath stroke} if
       } for %i=0,5

%plot line of actual hue
50 setlinewidth
xcharts 0 eq {/r*x 1 def /g*x 0 def /b*x 0 def} if
xcharts 1 eq {/r*x 1 def /g*x 1 def /b*x 0 def} if
xcharts 2 eq {/r*x 0 def /g*x 1 def /b*x 0 def} if
xcharts 3 eq {/r*x 0 def /g*x 1 def /b*x 1 def} if
xcharts 4 eq {/r*x 0 def /g*x 0 def /b*x 1 def} if
xcharts 5 eq {/r*x 1 def /g*x 0 def /b*x 1 def} if
xcharts 5 le {%xcharts<=5
              r*x g*x b*x setrgbcolor
              0 0 moveto
              /A*Ma LAB*a xcharts 3 mul 1 add get def
              /B*Ma LAB*a xcharts 3 mul 2 add get def
              A*Ma 10 mul B*Ma 10 mul lineto stroke
             } if %xcharts<=5
xcharts 6 ge {%xcharts>=6
              0 1 15 {/jhue exch def %jhue
                      /L*xMa DEintp 0 eq {L*diMa} {L*eiMa} ifelse jhue get def
                      /A*xMa DEintp 0 eq {A*diMa} {A*eiMa} ifelse jhue get def
                      /B*xMa DEintp 0 eq {B*diMa} {B*eiMa} ifelse jhue get def
                      /r*x DEintp 0 eq {o3*ddiMa} {o3*ediMa} ifelse jhue get def
                      /g*x DEintp 0 eq {l3*ddiMa} {l3*ediMa} ifelse jhue get def
                      /b*x DEintp 0 eq {v3*ddiMa} {v3*ediMa} ifelse jhue get def
                      r*x g*x b*x setrgbcolor
                      0 0 moveto
                      A*xMa 10 mul B*xMa 10 mul lineto stroke
                      A*xMa 10 mul B*xMa 10 mul moveto
                      -100 -100 rlineto 200 200 rlineto stroke
                      A*xMa 10 mul B*xMa 10 mul moveto
                      -100  100 rlineto 200 -200 rlineto stroke
                     } for %jhue=0,15
            } if %xcharts>=6

-1200 -1300 translate

-2600 xdev sub -11600 xtop sub translate

} if %ibild=0

/u* 0 def
/H*MGam 6 array def
/C*MGam 6 array def
0 1 5 {/i exch def %i=0,5
       /A*Ma LAB*a i 3 mul 1 add get def
       /B*Ma LAB*a i 3 mul 2 add get def
       /C*MGama A*Ma dup mul B*Ma dup mul add sqrt def
       H*MGam i B*Ma A*Ma 0.0001 add atan put
       C*MGam i C*MGama put
       /u* u* C*MGama L*Wio L*Nio sub mul add def
       } for %i=0,5
/u*r u* 77.4 77.4 mul 6 mul div 100 mul def
1 1 1 setrgbcolor

ibild 1 eq { %ibild=1

/xmtext 2500 def /xms 0 def
xmtext 11800 moveto TBG
(%Gamut) showen
(%Umfang) showde
xmtext 11400 moveto TBG
(u*) show (rel) ishow TBG ( = ) show u*r cvishow

0 1 4 {/i exch def %i=0,4
       /H*dif H*MGam i 1 add get H*MGam i get sub def
       i 0 eq {/H*MGamin H*dif def /H*MGamax H*dif def} if
       H*dif H*MGamin lt {/H*MGamin H*dif def} if
       H*dif H*MGamax gt {/H*MGamax H*dif def} if
       } for %i=0,4
/g*Hr H*MGamin H*MGamax div 100 mul def
xmtext 11000 moveto TBG
(%Regularity) showen
(%Regularit\344t) showde
xmtext 10600 moveto TBG
(g*) show (H,rel) ishow TBG ( = ) show g*Hr cvishow
0 1 4 {/i exch def %i=0,4
       /C*akt C*MGam i get def
       i 0 eq {/C*MGamin C*akt def /C*MGamax C*akt def} if
       C*akt C*MGamin lt {/C*MGamin C*akt def} if
       C*akt C*MGamax gt {/C*MGamax C*akt def} if
       } for %i=0,4
/g*Cr C*MGamin C*MGamax div 100 mul def
xmtext 10200 moveto TBG
(g*) show (C,rel) ishow TBG ( = ) show g*Cr cvishow

0 0 0 setrgbcolor
TBIG
7700 9200 moveto
xcharti 6 ge {(no. ) showen (Nr. ) showde
              7700 8800 moveto
              (LAB*LCH*) show -20 -50 rmoveto TBM (a) show 0 50 rmoveto TBIG
             } if

0 0 0 setrgbcolor
TBIG
-12800 9200 moveto
xcharti 6 ge {DEintp 0 eq {(d*)} {(u*)} ifelse show} if
-12800 8800 moveto
xcharti 6 eq {(lab*olv*) show} if
xcharti 7 eq {(lab*rgb*) show} if
xcharti 8 eq {(LAB*LAB*) show -20 -50 rmoveto TBM (a) show 0 50 rmoveto TBIG} if
xcharti 9 eq {(LAB*LCH*) show -20 -50 rmoveto TBM (a) show 0 50 rmoveto TBIG} if
xcharti 10 eq {(lab*tch*) show} if
xcharti 11 eq {(lab*icu*) show TBM 0 -50 rmoveto DEintp 0 eq {(e)} {(d)} ifelse show 0 50 rmoveto TBIG} if
xcharti 12 eq {(LAB*LAB*) show} if
xcharti 13 eq {(lab*) show (olv'*) show} if %DEintp 0 eq {(olv'*) show} {(rgb'*) show} ifelse} if
xcharti 14 eq {(LAB*) show (cmyn'*) show} if %DEintp 0 eq {(cmyn'*) show} {(cmjn'*) show} ifelse} if

} if %ibild=1

ibild 1 eq {-13800 -1700 translate} if
ibild 0 eq { -1900 -1700 translate} if

} if %xcharts=9

xcharts 10 ge {%xcharts>=10

ibild 0 eq { 1900 1700 translate} if
ibild 1 eq {13800 1700 translate} if

1.0 setgray
25 setlinewidth
 -200   000 moveto 10500 0 rlineto stroke
  000  -200 moveto 0 11800 rlineto stroke
ibild 0 eq {2500  -200 moveto 0   400 rlineto stroke
            5000  -200 moveto 0   400 rlineto stroke
            7500  -200 moveto 0   400 rlineto stroke}
           {2000  -200 moveto 0   400 rlineto stroke
            4000  -200 moveto 0   400 rlineto stroke
            6000  -200 moveto 0   400 rlineto stroke
            8000  -200 moveto 0   400 rlineto stroke
           }ifelse
10000  -200 moveto 0   400 rlineto stroke
 -200  5000 moveto 400   0 rlineto stroke
 -200 10000 moveto 400   0 rlineto stroke
  000   000 moveto 10000 5000 rlineto -10000 5000 rlineto stroke
09700 -450 sub  000  150 add moveto 450 -150 rlineto
                                   -450 -150 rlineto closepath fill
  000 150 sub 11000 -450 sub moveto 150  450 rlineto
                                    150 -450 rlineto closepath fill

TM %c*, C*
ibild 0 eq { %ibild=0,1
/iy0  -600 def
    0 200 sub  iy0 moveto (0,00) show
 2500 200 sub  iy0 moveto (0,25) show
 5000 200 sub  iy0 moveto (0,50) show
 7500 200 sub  iy0 moveto (0,75) show
10000 200 sub  iy0 moveto (1,00) show
}
{
/iy0 -600 def
    0 200 sub  iy0 moveto (0,00) show
 2000 200 sub  iy0 moveto (0,20) show
 4000 200 sub  iy0 moveto (0,40) show
 6000 200 sub  iy0 moveto (0,60) show
 8000 200 sub  iy0 moveto (0,80) show
10000 200 sub  iy0 moveto (1,00) show
} ifelse %ibild=0,1

TM %t*, L*
ibild 0 eq { %ibild=0,1
/ix0 -1850 def /iy0 200 def 
  ix0     0 iy0 sub moveto (0,00) show
  ix0  2500 iy0 sub moveto (0,25) show
  ix0  5000 iy0 sub moveto (0,50) show
  ix0  7500 iy0 sub moveto (0,75) show
  ix0 10000 iy0 sub moveto (1,00) show
           }
           {
/ix0 -1000 def /iy0 200 def
  ix0     0 iy0 sub moveto (0,00) show
  ix0  2500 iy0 sub moveto (0,25) show
%  ix0  5000 iy0 sub moveto (0,50) show
  ix0  7500 iy0 sub moveto (0,75) show
  ix0 10000 iy0 sub moveto (1,00) show
           } ifelse %ibild=0,1

TM i%*
ibild 0 eq { %ibild=0,1
/iy0 1550 def
 10000 400 sub 5000 iy0 sub moveto TIM (i*) show TM ( = 1,00) show
  7500 400 sub 3750 iy0 sub moveto TIM (i*) show TM ( = 0,75) show
  5000 400 sub 2500 iy0 sub moveto TIM (i*) show TM ( = 0,50) show
  2500 400 sub 1250 iy0 sub moveto TIM (i*) show TM ( = 0,25) show
   000 400 sub   00 iy0 sub moveto TIM (i*) show TM ( = 0,00) show
           }
           {
/iy0 700 def
 10000 500 sub 4700 iy0 sub moveto TIM (i*) show TM (=1,00) show
  8000 200 sub 4000 iy0 sub moveto TIM (i*) show TM (=0,80) show
  6000 200 sub 3000 iy0 sub moveto TIM (i*) show TM (=0,60) show
  4000 200 sub 2000 iy0 sub moveto TIM (i*) show TM (=0,40) show
  2000 200 sub 1000 iy0 sub moveto TIM (i*) show TM (=0,20) show
   000 200 sub -300 iy0 sub moveto TIM (i*) show TM (=0,00) show
           } ifelse %ibild=0,1
           
ibild 0 eq {/iy0 2400 def} {/iy0 1400 def} ifelse
10000 0500 sub 4800 iy0 sub moveto -1000 -500 rlineto stroke
10000 2000 sub 3800 iy0 sub moveto TBG
(brilliantness) showen (Brillantheit) showde
TBIG ( i*) show
10000 0500 sub 4800 iy0 sub moveto
-450 -75 rlineto 150 -300 rlineto closepath fill

7200 -1100 moveto TBG
(relative chroma) showen (relative Buntheit) showde
TBIG ( c*) show

TBG
/xtext0 -1700 def /xtext1 -1200 def
ibild 0 eq { %ibild=0
            xtext0 15000 100 sub moveto
            (Input and output:  Colorimetric ) showen
            (Ein und Ausgabe: Farbmetrisches ) showde

ISRL*ioL 0 eq {%ISRL*ioL=0
               ISIO*ioL 0 eq {/TSYSIOa (FRS15_90a) def /TSYSIO (FRS15_90) def
                              (Printer Reflective System ) showen
                              (Drucker\255Reflektiv\255System ) showde} if
               ISIO*ioL 1 eq {/TSYSIOa (TLS00a) def
                              (Television Luminous System ) showen
                              (Fernseh\255Licht\255System ) showde} if
               ISIO*ioL 2 eq {/TSYSIOa (FRS06a) def
                              (Printer Reflective System ) showen
                              (Drucker\255Reflektiv\255System ) showde} if
               ISIO*ioL 3 eq {/TSYSIOa (TLS18a) def
                              (Television Luminous System ) showen
                              (Fernseh\255Licht\255System ) showde} if
               ISIO*ioL 4 eq {/TSYSIOa (NLS00a) def
                              (Natural Luminous System ) showen
                              (Nat\374rliches\255Licht\255System ) showde} if
               ISIO*ioL 5 eq {/TSYSIOa (NRS18a) def
                              (Natural Reflective System ) showen
                              (Nat\374rliches\255Reflektiv\255System ) showde} if
               ISIO*ioL 6 eq {/TSYSIOa (SRS18a) def
                              (Standard Reflective System ) showen
                              (Standard\255Reflektiv\255System ) showde} if
               ISIO*ioL 7 eq {/TSYSIOa (TLS70a) def
                              (Television Luminous System ) showen
                              (Fernseh\255Licht\255System ) showde} if
              } if %ISRL*ioL=0

ISRL*ioL 1 eq {%ISRL*ioL=1
               ISIO*ioL 0 eq {/TSYSIOa (TLS00a) def} if
               ISIO*ioL 1 eq {/TSYSIOa (TLS06a) def} if
               ISIO*ioL 2 eq {/TSYSIOa (TLS11a) def} if
               ISIO*ioL 3 eq {/TSYSIOa (TLS18a) def} if
               ISIO*ioL 4 eq {/TSYSIOa (TLS27a) def} if
               ISIO*ioL 5 eq {/TSYSIOa (TLS38a) def} if
               ISIO*ioL 6 eq {/TSYSIOa (TLS52a) def} if
               ISIO*ioL 7 eq {/TSYSIOa (TLS70a) def} if
               (Television Luminous System ) showen
               (Fernseh\255Licht\255System ) showde
              } if %ISRL*ioL=1

ISRL*ioL 2 eq {%ISRL*ioL=2
               ISIO*ioL 0 eq {/TSYSIOa (OLS00a) def} if
               ISIO*ioL 1 eq {/TSYSIOa (OLS06a) def} if
               ISIO*ioL 2 eq {/TSYSIOa (OLS11a) def} if
               ISIO*ioL 3 eq {/TSYSIOa (OLS18a) def} if
               ISIO*ioL 4 eq {/TSYSIOa (OLS27a) def} if
               ISIO*ioL 5 eq {/TSYSIOa (OLS38a) def} if
               ISIO*ioL 6 eq {/TSYSIOa (OLS52a) def} if
               ISIO*ioL 7 eq {/TSYSIOa (OLS70a) def} if
               (Offset Luminous System ) showen
               (Offset\255Licht\255System ) showde
              } if %ISRL*ioL=2

TSYSIOa show

/i xcharts 10 sub def
TBG 
( for relative CIELAB hue) showen
( f\374r relativen CIELAB\255Buntton) showde
TBIG ( h* = lab*h*) show
TBG ( = ) show
TBIG ( h) show TBM -20 -50 rmoveto (ab) show 0 50 rmoveto
TBG (/360 = ) show
DEintp 0 eq {B*diMa} {B*eiMa} ifelse i get
DEintp 0 eq {A*diMa} {A*eiMa} ifelse i get 0.0001 add atan 360 div cvsshow3

TBG
xtext0 14500 moveto 
(data for any colour:) showen
(Daten f\374r jede Farbe:) showde

xtext1 14100 moveto TBIG (lab*tch*) show TBG
 ( and ) showen ( und ) showde
TBIG (lab*ncu*) show

xtext0 13700 moveto TBG
(Hue texts: ) showen (Bunttontexte: ) showde

xtext1 13300 moveto
TBIG DEintp 0 eq {(d*)} {(u*)} ifelse show TBG ( = ) show
TBIG DEintp 0 eq {ColdiNames}{ColeiNames} ifelse i get show

cfakt 1 ne {%cfakt#1
xtext0 12900 moveto TBG
(contrast reduction factor: ) showen (Kontrastreduzierungsfaktor: ) showde
xtext1 12500 moveto
xtext1 12500 moveto
TBIG (c) show TBM 0 -130 rmoveto (R) show 0 130 rmoveto
TBG ( = ) show
cfakt cvsshow2
} if %cfakt#1

xtext1 12000 moveto TBG 
(triangle lightness) showen (Dreiecks\255Helligkeit) showde
TBIG ( t*) show

/ixt 12500 def /iyt 000 def

TBG
-1200 ixt add 12000 iyt add moveto TBG 
(triangle lightness) showen (Dreiecks\255Helligkeit) showde
TBIG ( t*) show

xtext1 1800 add 13300 moveto
TBIG ( u*) show
TBM 0 -50 rmoveto DEintp 0 eq {(e)}{(d)} ifelse show 0 50 rmoveto TBG ( = ) show
TBIG
DEintp 0 eq {u*deiMa1 i get show
             u*deiMai i get 9 le {(0) show} if u*deiMai i get 6 string cvs show
             u*deiMa2 i get show
            }
            {u*ediMa1 i get show
             u*ediMai i get 9 le {(0) show} if u*ediMai i get 6 string cvs show
             u*ediMa2 i get show
            } ifelse

TBG
-1200 ixt add 14500 iyt add moveto 
(Data for maximum colour (Ma): ) showen
(Daten f\374r Maximalfarbe (Ma): ) showde

TBIG
-1200 ixt add 14000 iyt add moveto (LAB*LAB*) show
TBM -20 -50 rmoveto (Ma) show 0 50 rmoveto
TBG (: ) show
DEintp 0 eq {L*diMa} {L*eiMa} ifelse i get cvishow (  ) show
DEintp 0 eq {A*diMa} {A*eiMa} ifelse i get cvishow (  ) show
DEintp 0 eq {B*diMa} {B*eiMa} ifelse i get cvishow

TBIG
-1200 ixt add 13500 iyt add moveto (LAB*LCH*) show
TBM -20 -50 rmoveto (Ma) show 0 50 rmoveto
TBG (: ) show
DEintp 0 eq {L*diMa} {L*eiMa} ifelse i get
cvishow (  ) show
DEintp 0 eq {A*diMa} {A*eiMa} ifelse i get dup mul
DEintp 0 eq {B*diMa} {B*eiMa} ifelse  i get dup mul add 0.0001 add sqrt cvishow (  ) show
DEintp 0 eq {B*diMa} {B*eiMa} ifelse i get 
DEintp 0 eq {A*diMa} {A*eiMa} ifelse i get 0.0001 add atan cvi cvishow

TBIG
-1200 ixt add 13000 iyt add moveto
(lab*) show DEintp 0 eq {(olv*)}{(rgb*)} ifelse show
TBM -20 -50 rmoveto (Ma) show 0 50 rmoveto
TBG (: ) show
DEintp 0 eq {o3*ddiMa i get cvsshow2 (  ) show
             l3*ddiMa i get cvsshow2 (  ) show
             v3*ddiMa i get cvsshow2 (  ) show
            }
            {o3*eeiMa i get cvsshow2 (  ) show
             l3*eeiMa i get cvsshow2 (  ) show
             v3*eeiMa i get cvsshow2 (  ) show
            } ifelse

TBIG
-1200 ixt add 12500 iyt add moveto
(lab*) show DEintp 0 eq {(rgb*)}{(olv*)} ifelse show
TBM -20 -50 rmoveto (Ma) show 0 50 rmoveto
TBG (: ) show
DEintp 0 eq {o3*deiMa i get cvsshow2 (  ) show
             l3*deiMa i get cvsshow2 (  ) show
             v3*deiMa i get cvsshow2 (  ) show
            }
            {o3*ediMa i get cvsshow2 (  ) show
             l3*ediMa i get cvsshow2 (  ) show
             v3*ediMa i get cvsshow2 (  ) show
            } ifelse
} if %ibild=0

0.0 setgray

CBM

ibild 0 eq { %ibild=0
/Tabfakt 0.82 def
/anz 5 def
/xs 10000 anz 3 add div def /ys xs def /x9 xs 1.8 mul def
/xd    xs 2 mul def
/yd    xs       def

1 1 1 setrgbcolor
%n*
1 1 3 {/j exch def
       /x1 xmin def                    /y1 ymax yd  j 2 mul mul sub def
       /x2 xmin xd 4 j sub mul add def /y2 ymin yd  4 j sub mul add def
       x1 y1 moveto x2 y2 lineto stroke 
      } for

%c*
1 1 3 {/j exch def
       /x1 xmin xd j mul add def /y1 ymax yd  j mul sub def
       /x2 xmin xd j mul add def /y2 ymin yd  j mul add def
       x1 y1 moveto x2 y2 lineto stroke 
      } for
      
xcharts 6 ge {/i xcharts 10 sub def
              /o3*xxMa0 DEintp 0 eq {o3*ddiMa} {o3*ediMa} ifelse i get def
              /l3*xxMa0 DEintp 0 eq {l3*ddiMa} {l3*ediMa} ifelse i get def
              /v3*xxMa0 DEintp 0 eq {v3*ddiMa} {v3*ediMa} ifelse i get def
             } if

/id 1 4 div def
0 1 04 {/j exch def %j=0,4
        /im 4 j sub def
0 1 im {/i exch def %i=0,4
        im 0 eq %im=0
        {/r*x 0 def /g*x 0 def /b*x 0 def} %im=0
        {/ia 1 id j mul sub def
         /argb ia def /brgb ia i id mul sub def
         xcharts 0 eq {/r*x argb def /g*x brgb def /b*x brgb def} if
         xcharts 1 eq {/r*x argb def /g*x argb def /b*x brgb def} if
         xcharts 2 eq {/r*x brgb def /g*x argb def /b*x brgb def} if
         xcharts 3 eq {/r*x brgb def /g*x argb def /b*x argb def} if
         xcharts 4 eq {/r*x brgb def /g*x brgb def /b*x argb def} if
         xcharts 5 eq {/r*x argb def /g*x brgb def /b*x argb def} if
         xcharts 6 ge {%xcharts>=6
                       /ib 1 im div def %im#0
                       /ic 1 ib i mul sub def
                       /ie 1 ic sub def
                       /r*x  1 ia mul ic mul o3*xxMa0 ia mul ie mul add def
                       /g*x  1 ia mul ic mul l3*xxMa0 ia mul ie mul add def
                       /b*x  1 ia mul ic mul v3*xxMa0 ia mul ie mul add def
                     } if %xcharts>=6
        } ifelse %im=0
          
          /tLAB 1 def
          r*x g*x b*x
          DEintp 0 eq { %DEintp=0
                       proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } %DEintp=0
                      { %DEintp=1
                       proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } ifelse %DEintp=1
          
          /L*Fa0 L*Fa def
          /A*Fa0 A*Fa def
          /B*Fa0 B*Fa def
          /C*Fa0 C*Fa def
          /H*Fa0 H*Fa def
          
          /c*rs0 c*rs def
          /t*s0 t*s def
          /l*s0 l*rs def
          /h*s0 H*Fa0 360 div def
          /i*s0 1 n*s sub def
          
          /a*sr A*Wior A*Nior sub l*s0 mul def
          /b*sr B*Wior B*Nior sub l*s0 mul def
          /L*Fa0x L*Fa0 def
          /A*Fa0x A*Fa0 A*Nior add a*sr add def
          /B*Fa0x B*Fa0 B*Nior add b*sr add def

          /r*x DEintp 0 eq {o3*dd0}{o3*dd0} ifelse def
          /g*x DEintp 0 eq {l3*dd0}{l3*dd0} ifelse  def
          /b*x DEintp 0 eq {v3*dd0}{v3*dd0} ifelse  def
          
          r*x g*x b*x setrgbcolor %only to calculate olv'*3, cmyn'*4
          /os3*Fa0 o* def
          /ls3*Fa0 l* def
          /vs3*Fa0 v* def
          /cs4*Fa0 c4*Fa def
          /ms4*Fa0 m4*Fa def
          /ys4*Fa0 y4*Fa def
          /ns4*Fa0 n4*Fa def

        /xa xmin xd i mul add 0.5 xd mul sub def
        /iad j 2 mul def
        /ya ymax yd i iad add mul sub 1.0 yd mul sub def
        r*x g*x b*x setrgbcolor
        /o*Fa0 o* def
        /l*Fa0 l* def
        /v*Fa0 v* def
        /c4*Fa0 c4*Fa def
        /m4*Fa0 m4*Fa def
        /y4*Fa0 y4*Fa def
        /n4*Fa0 n4*Fa def
        xa ya xd xd rec fill
        xcharti 5 le {1 r*x sub 1 g*x sub 1 b*x sub 0 setcmykcolor
                      xa ya xd 0.5 mul dup rem fill} if
        xcharti 6 ge {1 1 1 setrgbcolor
                      xa ya xd 0.5 mul dup rem fill} if
        xcharti 0 eq {%xcharti=0
                      [100 300] 0 setdash
                      r*x 0 eq g*x 0 eq and b*x 0 eq and {1 setgray}
                                                         {0 setgray} ifelse
                      xa ya xd 0.5 mul dup rem stroke
                      [ ] 0 setdash
                     } if %xcharti=0
        xcharti 6 ge {0 0 0 setrgbcolor
                      /xan xa xd 0.30 mul add def
                      /yan ya xd 0.25 mul add def
                      xcharti 14 ne {
                      0 0.5 1 setrgbcolor
                      xan yan 1000 add moveto
                      DEintp 0 eq {u*xdMa10 show u*xdMai0 9 le {(0) show} if
                                   u*xdMai0 cvishow u*xdMa20 show}
                                  {u*xeMa10 show u*xeMai0 9 le {(0) show} if
                                   u*xeMai0 cvishow u*xeMa20 show} ifelse
                      0 0 0 setrgbcolor} if
                     } if
        xcharti 6 eq {xan yan 700 add moveto DEintp 0 eq {o3*dd0}{o3*dd0} ifelse cvsshow2
                      xan yan 400 add moveto DEintp 0 eq {l3*dd0}{l3*dd0} ifelse cvsshow2
                      xan yan 100 add moveto DEintp 0 eq {v3*dd0}{v3*dd0} ifelse cvsshow2} if
        xcharti 7 eq {xan yan 700 add moveto DEintp 0 eq {o3*de0}{o3*de0} ifelse cvsshow2
                      xan yan 400 add moveto DEintp 0 eq {l3*de0}{l3*de0} ifelse cvsshow2
                      xan yan 100 add moveto DEintp 0 eq {v3*de0}{v3*de0} ifelse cvsshow2} if
        xcharti 8 eq {xan yan 700 add moveto L*Fa0 cvsshow1
                      xan yan 400 add moveto A*Fa0 cvsshow1
                      xan yan 100 add moveto B*Fa0 cvsshow1} if
        xcharti 9 eq {xan yan 700 add moveto L*Fa0 cvsshow1
                      xan yan 400 add moveto C*Fa0 cvsshow1
                      xan yan 100 add moveto H*Fa0 cvishow} if
        xcharti 10 eq {xan yan 700 add moveto t*s0 cvsshow2
                      xan yan 400 add moveto c*rs0 cvsshow2
                      xan yan 100 add moveto h*s0 cvsshow2} if
        xcharti 11 eq {xan yan 700 add moveto i*s0 cvsshow2
                      xan yan 400 add moveto c*rs0 cvsshow2
                      xan yan 100 add moveto
                      DEintp 0 eq {u*xeMa10 show u*xeMai0 9 le {(0) show} if
                                   u*xeMai0 cvishow u*xeMa20 show}
                                  {u*xdMa10 show u*xdMai0 9 le {(0) show} if
                                   u*xdMai0 cvishow u*xdMa20 show} ifelse
                     } if
       xcharti 12 eq {xan yan 700 add moveto L*Fa0x cvsshow1
                      xan yan 400 add moveto A*Fa0x cvsshow1
                      xan yan 100 add moveto B*Fa0x cvishow} if
       xcharti 13 eq {xan yan 700 add moveto os3*Fa0 cvsshow2
                      xan yan 400 add moveto ls3*Fa0 cvsshow2
                      xan yan 100 add moveto vs3*Fa0 cvsshow2} if
       xcharti 14 eq {CBM
                      xan yan 1000 add moveto cs4*Fa0 cvsshow2
                      xan yan  700 add moveto ms4*Fa0 cvsshow2
                      xan yan  400 add moveto ys4*Fa0 cvsshow2
                      xan yan  100 add moveto ns4*Fa0 cvsshow2
                      CBM} if
        } for %i=0,4
        } for %j=0,4

/i 2 def %mean grey stroke of 5 steps
/xa xmin 0.5 xd mul sub def
/ya ymax yd i mul 2 mul sub 1.0 yd mul sub def
1 1 1 setrgbcolor
xa ya xd xd rec stroke

} if %ibild=0

ibild 1 eq { %ibild=1

CBK /Tabfakt 1 def
/anz 16 def
/xs 10000 anz 14 add div def /ys xs def /x9 xs 1.8 mul def
/xd    xs 2 mul def
/yd    xs       def

1 1 1 setrgbcolor
%n*
1 1 14 {/j exch def %j=1,14
        /x1 xmin def                     /y1 ymax yd  j 2 mul mul sub def
        /x2 xmin xd 15 j sub mul add def /y2 ymin yd  15 j sub mul add def
        x1 y1 moveto x2 y2 lineto stroke 
       } for %j=1,14

%c*
1 1 14 {/j exch def %j=1,14
        /x1 xmin xd j mul add def /y1 ymax yd  j mul sub def
        /x2 xmin xd j mul add def /y2 ymin yd  j mul add def
        x1 y1 moveto x2 y2 lineto stroke 
       } for %j=1,14

xcharts 6 ge {/i xcharts 10 sub def
              /o3*xxMa0 DEintp 0 eq {o3*ddiMa} {o3*ediMa} ifelse i get def
              /l3*xxMa0 DEintp 0 eq {l3*ddiMa} {l3*ediMa} ifelse i get def
              /v3*xxMa0 DEintp 0 eq {v3*ddiMa} {v3*ediMa} ifelse i get def
             } if

/id 1 15 div def
0 1 15 {/j exch def %j=0,14
        /im 15 j sub def
0 1 im {/i exch def %i=0,15
        im 0 eq %im=0
        {/r*x 0 def /g*x 0 def /b*x 0 def} %im=0
        {/ia 1 id j mul sub def
         /argb ia def /brgb ia i id mul sub def
         xcharts 0 eq {/r*x argb def /g*x brgb def /b*x brgb def} if
         xcharts 1 eq {/r*x argb def /g*x argb def /b*x brgb def} if
         xcharts 2 eq {/r*x brgb def /g*x argb def /b*x brgb def} if
         xcharts 3 eq {/r*x brgb def /g*x argb def /b*x argb def} if
         xcharts 4 eq {/r*x brgb def /g*x brgb def /b*x argb def} if
         xcharts 5 eq {/r*x argb def /g*x brgb def /b*x argb def} if
         xcharts 6 ge {%xcharts>=6
                       /ib 1 im div def %im#0
                       /ic 1 ib i mul sub def
                       /ie 1 ic sub def
                       /r*x  1 ia mul ic mul o3*xxMa0 ia mul ie mul add def
                       /g*x  1 ia mul ic mul l3*xxMa0 ia mul ie mul add def
                       /b*x  1 ia mul ic mul v3*xxMa0 ia mul ie mul add def
                      } if %xcharts>=6
                      
        } ifelse %im=0

          /tLAB 1 def
          r*x g*x b*x
          DEintp 0 eq { %DEintp=0
                       proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } %DEintp=0
                      { %DEintp=1
                       proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } ifelse %DEintp=1
          
          /L*Fa0 L*Fa def
          /A*Fa0 A*Fa def
          /B*Fa0 B*Fa def
          /C*Fa0 C*Fa def
          /H*Fa0 H*Fa def
          
          /c*rs0 c*rs def
          /t*s0 t*s def
          /l*s0 l*rs def
          /h*s0 H*Fa0 360 div def
          /i*s0 1 n*s sub def
          
          /a*sr A*Wior A*Nior sub l*s0 mul def
          /b*sr B*Wior B*Nior sub l*s0 mul def
          /L*Fa0x L*Fa0 def
          /A*Fa0x A*Fa0 A*Nior add a*sr add def
          /B*Fa0x B*Fa0 B*Nior add b*sr add def
 
          r*x g*x b*x setrgbcolor %only to calculate olv'*3, cmyn'*4
          /os3*Fa0 o* def
          /ls3*Fa0 l* def
          /vs3*Fa0 v* def
          /cs4*Fa0 c4*Fa def
          /ms4*Fa0 m4*Fa def
          /ys4*Fa0 y4*Fa def
          /ns4*Fa0 n4*Fa def
          
        /xa xmin xd i mul add xd 0.5 mul sub def
        /iad j 2 mul def
        /ya ymax yd i iad add mul sub xd 0.5 mul sub def
        xcharti 5 le {r*x g*x b*x setrgbcolor
                      xa ya xd dup rec fill
                      1 r*x sub 1 g*x sub 1 b*x sub 0 setcmykcolor
                      xa ya xd 0.5 mul dup rem fill} if
        xcharti 6 ge {1 1 1 setrgbcolor xa ya xd xd rec fill
                      0 0 0 setrgbcolor xa ya xd xd rec stroke} if
        xcharti 0 eq {%xcharti=0
                      [100 300] 0 setdash
                      r*x 0 eq g*x 0 eq and b*x 0 eq and {1 setgray}
                                                         {0 setgray} ifelse
                      xa ya xd 0.5 mul dup rem stroke
                      [ ] 0 setdash
                     } if %xcharti=0
        xcharti 6 ge {0 0 0 setrgbcolor
                      /xan xa xds 0.00 mul sub def
                      /yan ya xds 0.25 mul sub def} if
        xcharti 6 eq {xan yan 600 add moveto DEintp 0 eq {o3*dd0}{o3*dd0} ifelse cvsshow2
                      xan yan 400 add moveto DEintp 0 eq {l3*dd0}{l3*dd0} ifelse cvsshow2
                      xan yan 200 add moveto DEintp 0 eq {v3*dd0}{v3*dd0} ifelse cvsshow2} if
        xcharti 7 eq {xan yan 600 add moveto DEintp 0 eq {o3*de0}{o3*de0} ifelse cvsshow2
                      xan yan 400 add moveto DEintp 0 eq {l3*de0}{l3*de0} ifelse cvsshow2
                      xan yan 200 add moveto DEintp 0 eq {v3*de0}{v3*de0} ifelse cvsshow2} if
        xcharti 8 eq {xan yan 600 add moveto L*Fa0 cvsshow1
                      xan yan 400 add moveto A*Fa0 cvsshow1
                      xan yan 200 add moveto B*Fa0 cvsshow1} if
        xcharti 9 eq {xan yan 600 add moveto L*Fa0 cvsshow1
                      xan yan 400 add moveto C*Fa0 cvsshow1
                      xan yan 200 add moveto H*Fa0 cvishow} if
       xcharti 10 eq {xan yan 600 add moveto t*s0 cvsshow2
                      xan yan 400 add moveto c*rs0 cvsshow2
                      xan yan 200 add moveto h*s0 cvsshow2} if
       xcharti 11 eq {xan yan 600 add moveto i*s0 cvsshow2
                      xan yan 400 add moveto c*rs0 cvsshow2
                      xan yan 200 add moveto
                      DEintp 0 eq {u*xeMa10 show u*xeMai0 9 le {(0) show} if
                                   u*xeMai0 cvishow u*xeMa20 show}
                                  {u*xdMa10 show u*xdMai0 9 le {(0) show} if
                                   u*xdMai0 cvishow u*xdMa20 show} ifelse
                     } if
       xcharti 12 eq {xan yan 600 add moveto L*Fa0x cvsshow1
                      xan yan 400 add moveto A*Fa0x cvsshow1
                      xan yan 200 add moveto B*Fa0x cvishow} if
       xcharti 13 eq {xan yan 600 add moveto os3*Fa0 cvsshow2
                      xan yan 400 add moveto ls3*Fa0 cvsshow2
                      xan yan 200 add moveto vs3*Fa0 cvsshow2} if
       xcharti 14 eq {CBKK
                      xan yan 665 add moveto cs4*Fa0 cvsshow2
                      xan yan 500 add moveto ms4*Fa0 cvsshow2
                      xan yan 335 add moveto ys4*Fa0 cvsshow2
                      xan yan 170 add moveto ns4*Fa0 cvsshow2
                      CBK} if

        } for %i=0,15
        } for %j=0,15

xcharti 5 le {%xchart=0,5
%mean grey stroke of steps 7 and 8
7 1 8 {/i exch def %i=7,8
       /xa xmin xd 0.5 mul sub def
       /ya ymax yd i mul 2 mul sub xd 0.5 mul sub def
       1 1 1 setrgbcolor
       xa ya xd xd rec stroke
      } for %i=7,8
      } if %xchart=0,5
      
%Data text for xcharti=6 to 11
0 0 0 setrgbcolor
TBIG

8600 14900 moveto
DEintp 0 eq {(d*)} {(u*)} ifelse show
( = ) show ColNames xcharts 2 add get show
8600 14500 moveto
xcharti 6 eq {(lab*olv*) show} if
xcharti 7 eq {(lab*rgb*) show} if
xcharti 8 eq {(LAB*LAB*) show -20 -50 rmoveto TBM (a) show 0 50 rmoveto TBIG} if
xcharti 9 eq {(LAB*LCH*) show -20 -50 rmoveto TBM (a) show 0 50 rmoveto TBIG} if
xcharti 10 eq {(lab*tch*) show} if
xcharti 11 eq {(lab*icu*) show TBM 0 -50 rmoveto DEintp 0 eq {(e)} {(d)} ifelse show 0 50 rmoveto TBIG} if
xcharti 12 eq {(LAB*LAB*) show} if
xcharti 13 eq {(lab*) show (olv'*) show} if %DEintp 0 eq {(olv'*) show} {(rgb'*) show} ifelse} if
xcharti 14 eq {(LAB*) show (cmyn'*) show} if %DEintp 0 eq {(cmyn'*) show} {(cmjn'*) show} ifelse} if

8600 06500 moveto
xcharti 6 eq {(lab*olv*) show} if
xcharti 7 eq {(lab*rgb*) show} if
xcharti 8 eq {(LAB*LAB*) show -20 -50 rmoveto TBM (a) show 0 50 rmoveto TBIG} if
xcharti 9 eq {(LAB*LCH*) show -20 -50 rmoveto TBM (a) show 0 50 rmoveto TBIG} if
xcharti 10 eq {(lab*tch*) show} if
xcharti 11 eq {(lab*icu*) show TBM 0 -50 rmoveto DEintp 0 eq {(e)} {(d)} ifelse show 0 50 rmoveto TBIG} if
xcharti 12 eq {(LAB*LAB*) show} if
xcharti 13 eq {(lab*) show (olv'*) show} if %DEintp 0 eq {(olv'*) show} {(rgb'*) show} ifelse} if
xcharti 14 eq {(LAB*) show (cmyn'*) show} if %DEintp 0 eq {(cmyn'*) show} {(cmjn'*) show} ifelse} if

} if %ibild=1

%CIELAB-Table
ibild 0 eq {5600}{4500} ifelse 9600 translate
/yhoe 6300 def

ibild 0 eq {/xmi0 0 def /ymi0 -50 def} {/xmi0 700 def /ymi0 -1400 def} ifelse

15 setlinewidth
1.0 setgray
0 ymi0  moveto 5300 xmi0 add 0 rlineto 0 4800 ymi0 sub rlineto
              -5300 xmi0 sub 0 rlineto
closepath fill
0.0 setgray
0 ymi0  moveto 5300 xmi0 add 0 rlineto 0 4800 ymi0 sub rlineto
              -5300 xmi0 sub 0 rlineto
closepath stroke
 
/nshow {300 /Times-ISOL1 FS  show} bind def
/kshow {300 /TimesI-ISOL1 FS  show} bind def
/bshow {300 /TimesB-ISOL1 FS  show} bind def
/jshow {300 /TimesBI-ISOL1 FS  show} bind def
/sshow {300 /Symbol FS  show} bind def
/ishow {220 /Times-ISOL1 FS -00 -50 rmoveto show 00 50 rmoveto} bind def
/eshow {220 /Times-ISOL1 FS 0 100 rmoveto show 0 -100 rmoveto} bind def

/yd 340 def %y-Zeilenabstand
%Spalten
/S1 20 def
/S2 450 def
/S3 1550 def
/S4 2650 def
/S5 3750 def
/S6 4800 def

/yu1 4650 def
/yu2 3800 def

0 4100 moveto ibild 0 eq {5300}{6000} ifelse 0 rlineto stroke

%Titeltext
 S1 4550 moveto
ibild 0 eq {xcharti 12 eq {TSYSIO} {TSYSIOa} ifelse bshow} {TSYSIOa bshow} ifelse
lanind 1 eq {(;) bshow xcharti 12 lt ibild 0 ne or {( adapted (a)) bshow} if
             ( CIELAB data) bshow} if
lanind 0 eq {(;) bshow xcharti 12 lt ibild 0 ne or {( adaptierte) bshow} if
             ( CIELAB\255Daten) bshow} if
S1 000 add 4250 moveto DEintp 0 eq {( d*)}{( u*)} ifelse kshow
S2 200 add 4250 moveto (L*=L*) kshow xcharti 12 lt ibild 0 ne or {(a) ishow} if
S3 200 add 4250 moveto (a*) kshow xcharti 12 lt ibild 0 ne or {(a) ishow} if
S4 000 add 4250 moveto (b*) kshow xcharti 12 lt ibild 0 ne or {(a) ishow} if
S5 100 sub 4250 moveto (C*) kshow (ab) ishow xcharti 12 lt ibild 0 ne or {(,a) ishow} if
S6 200 sub 4250 moveto (h*) kshow (ab) ishow xcharti 12 lt ibild 0 ne or {(,a) ishow} if
ibild 1 eq {S6 600 add 4250 moveto DEintp 0 eq {(u*)}{(d*)} ifelse kshow} if

ibild 0 eq {%BEG ibild=0
0 1 11 {/i exch def %i=0,11
        S1 20 add yu2 yd i mul sub moveto
        ColNames i get nshow
        ic 8 ge {(CIE) ishow}{(M) ishow xcharti 12 lt {(a) ishow} if} ifelse
        ( ) nshow
       } for %i=0,11

0 1 11 {/i exch def %i=0,11
       /ya yu2 yd i mul sub def
       xcharti 12 lt { %xcharti=12,#12
       /L*Fa LAB*a i 3 mul get def
       /A*Fa LAB*a i 3 mul 1 add get def
       /B*Fa LAB*a i 3 mul 2 add get def
       /C*Fa A*Fa dup mul B*Fa dup mul add sqrt def
       /H*Fa B*Fa A*Fa 0.0001 add atan def
       S2 350 add ya moveto L*Fa cvsshow2 
       S3 100 add ya moveto A*Fa cvsshow2
       S4 100 add ya moveto B*Fa cvsshow2
       S5 ya moveto C*Fa cvsshow2
       S6 ya moveto H*Fa cvishow
                    } %xcharti=12
                    { %xcharti#12
       /L*Fx LAB* i 3 mul get def
       /A*Fx LAB* i 3 mul 1 add get def
       /B*Fx LAB* i 3 mul 2 add get def
       /C*Fx A*Fx dup mul B*Fx dup mul add sqrt def
       /H*Fx B*Fx A*Fx 0.0001 add atan def
       S2 350 add ya moveto L*Fx cvsshow2
       S3 100 add ya moveto A*Fx cvsshow2
       S4 100 add ya moveto B*Fx cvsshow2
       S5 ya moveto C*Fx cvsshow2
       S6 ya moveto H*Fx cvishow
                    } ifelse %xcharti=12,#12

       } for %i=0,11
        }%END ibild=0
        {%BEG ibild=1
 0 1 15 {/i exch def %i=0,15
         S1 20 add yu2 yd i mul sub moveto
         DEintp 0 eq {ColdiNames}{ColeiNames} ifelse i get kshow
        } for %i=0,15

 0 1 15 {/i exch def %i=0,15
         /ya yu2 yd i mul sub def
         /L*Ma DEintp 0 eq {L*diMa} {L*eiMa} ifelse i get def
         /A*Ma DEintp 0 eq {A*diMa} {A*eiMa} ifelse i get def
         /B*Ma DEintp 0 eq {B*diMa} {B*eiMa} ifelse i get def
         /C*Ma A*Ma dup mul B*Ma dup mul add 0.0001 add sqrt def
         /H*Ma B*Ma A*Ma 0.0001 add atan def
         S1 ya moveto () nshow

         S2 350 add ya moveto L*Ma cvsshow2 
         S3 100 add ya moveto A*Ma cvsshow2
         S4 100 add ya moveto B*Ma cvsshow2
         S5 ya moveto C*Ma cvsshow2

         S6 100 sub ya moveto H*Ma cvishow
         S6 500 add ya moveto
         DEintp 0 eq {u*deiMa1 i get kshow
                      u*deiMai i get 9 le {(0) kshow} if u*deiMai i get 6 string cvs kshow 
                      u*deiMa2 i get kshow
                     }
                     {u*ediMa1 i get kshow
                      u*ediMai i get 9 le {(0) kshow} if u*ediMai i get 6 string cvs kshow 
                      u*ediMa2 i get kshow
                     } ifelse                    
        } for %i=0,15

        } ifelse %END ibild=1

ibild 0 eq {-5600}{-4500} ifelse -9600 translate

%CIELAB-Diagram

ibild 0 eq { %ibild=0

2700 11600 translate

25 setlinewidth
1.0 setgray
0 0  moveto 2800 0 rlineto 0 2800 rlineto
           -2800 0 rlineto
closepath fill
0.0 setgray
0 0  moveto 2800 0 rlineto 0 2800 rlineto
           -2800 0 rlineto
closepath stroke
 
1200 1300 translate
-1000 0 moveto 1000 0 lineto stroke
0 -1000 moveto 0 1000 lineto stroke

1100 0 moveto (a*) kshow (a) ishow
0 1100 moveto (b*) kshow (a) ishow

/rx 774 def %standard hexagon gamut
0.0 setgray
rx 030 cos mul rx 030 sin mul moveto
0 rx lineto
rx 150 cos mul rx 150 sin mul lineto
rx 210 cos mul rx 210 sin mul lineto
0 rx neg lineto
rx 330 cos mul rx 330 sin mul lineto closepath stroke

/r*x 1 def /g*x 0 def /b*x 0 def r*x g*x b*x setrgbcolor
rx 030 cos mul rx 030 sin mul 100 0 360 arc fill
/r*x 1 def /g*x 1 def /b*x 0 def r*x g*x b*x setrgbcolor
0 rx 100 0 360 arc fill
/r*x 0 def /g*x 1 def /b*x 0 def r*x g*x b*x setrgbcolor
rx 150 cos mul rx 150 sin mul 100 0 360 arc fill
/r*x 0 def /g*x 1 def /b*x 1 def r*x g*x b*x setrgbcolor
rx 210 cos mul rx 210 sin mul 100 0 360 arc fill
/r*x 0 def /g*x 0 def /b*x 1 def r*x g*x b*x setrgbcolor
0 rx neg 100 0 360 arc fill
/r*x 1 def /g*x 0 def /b*x 1 def r*x g*x b*x setrgbcolor
rx 330 cos mul rx 330 sin mul 100 0 360 arc fill

%plot hexagon in device (d) space
45 setlinewidth %actual gamut
0 0 0 setrgbcolor
0 1 5 {/i exch def %i=0,5
       /A*Ma LAB*a i 3 mul 1 add get def
       /B*Ma LAB*a i 3 mul 2 add get def
       i 0 eq {A*Ma 10 mul B*Ma 10 mul moveto}
              {A*Ma 10 mul B*Ma 10 mul lineto} ifelse
       i 5 eq {closepath stroke} if
       } for %i=0,5

%plot line of actual hue
50 setlinewidth
xcharts 0 eq {/r*x 1 def /g*x 0 def /b*x 0 def} if
xcharts 1 eq {/r*x 1 def /g*x 1 def /b*x 0 def} if
xcharts 2 eq {/r*x 0 def /g*x 1 def /b*x 0 def} if
xcharts 3 eq {/r*x 0 def /g*x 1 def /b*x 1 def} if
xcharts 4 eq {/r*x 0 def /g*x 0 def /b*x 1 def} if
xcharts 5 eq {/r*x 1 def /g*x 0 def /b*x 1 def} if
xcharts 5 le {%xcharts<=5
              r*x g*x b*x setrgbcolor
              0 0 moveto
              /A*Ma LAB*a xcharts 3 mul 1 add get def
              /B*Ma LAB*a xcharts 3 mul 2 add get def
              A*Ma 10 mul B*Ma 10 mul lineto stroke
             } if %xcharts<=5
xcharts 6 ge {%xcharts>=6
              /i xcharts 10 sub def
              /A*Ma0 DEintp 0 eq {A*diMa} {A*eiMa} ifelse i get def
              /B*Ma0 DEintp 0 eq {B*diMa} {B*eiMa} ifelse i get def
              /r*x DEintp 0 eq {o3*ddiMa} {o3*ediMa} ifelse i get def
              /g*x DEintp 0 eq {l3*ddiMa} {l3*ediMa} ifelse i get def
              /b*x DEintp 0 eq {v3*ddiMa} {v3*ediMa} ifelse i get def
              r*x g*x b*x setrgbcolor
              0 0 moveto
              A*Ma0 10 mul B*Ma0 10 mul lineto stroke
              A*Ma0 10 mul B*Ma0 10 mul moveto
              -100 -100 rlineto 200 200 rlineto stroke
              A*Ma0 10 mul B*Ma0 10 mul moveto
              -100  100 rlineto 200 -200 rlineto stroke
            } if %xcharts>=6

-1200 -1300 translate

-2700 -11600 translate

} if %ibild=0

/u* 0 def
/H*MGam 6 array def
/C*MGam 6 array def
0 1 5 {/i exch def %i=0,5
       /A*Ma LAB*a i 3 mul 1 add get def
       /B*Ma LAB*a i 3 mul 2 add get def
       /C*MGama A*Ma dup mul B*Ma dup mul add sqrt def
       H*MGam i B*Ma A*Ma 0.0001 add atan put
       C*MGam i C*MGama put
       /u* u* C*MGama L*Wio L*Nio sub mul add def
       } for %i=0,5
/u*r u* 77.4 77.4 mul 6 mul div 100 mul def
1 1 1 setrgbcolor

ibild 1 eq { %ibild=1

/xmtext 2200 def /xms 0 def
xmtext xms sub 11400 moveto TBG
(%Gamut) showen
(%Umfang) showde
xmtext xms sub 11000 moveto TBG
(u*) show (rel) ishow TBG ( = ) show u*r cvishow

0 1 4 {/i exch def %i=0,4
       /H*dif H*MGam i 1 add get H*MGam i get sub def
       i 0 eq {/H*MGamin H*dif def /H*MGamax H*dif def} if
       H*dif H*MGamin lt {/H*MGamin H*dif def} if
       H*dif H*MGamax gt {/H*MGamax H*dif def} if
       } for %i=0,4
/g*Hr H*MGamin H*MGamax div 100 mul def
xmtext xms sub 10600 moveto TBG
(%Regularity) showen
(%Regularit\344t) showde
xmtext 10200 moveto TBG
(g*) show (H,rel) ishow TBG ( = ) show g*Hr cvishow
0 1 4 {/i exch def %i=0,4
       /C*akt C*MGam i get def
       i 0 eq {/C*MGamin C*akt def /C*MGamax C*akt def} if
       C*akt C*MGamin lt {/C*MGamin C*akt def} if
       C*akt C*MGamax gt {/C*MGamax C*akt def} if
       } for %i=0,4
/g*Cr C*MGamin C*MGamax div 100 mul def
xmtext 09800 moveto TBG
(g*) show (C,rel) ishow TBG ( = ) show g*Cr cvishow

} if %ibild=1

ibild 1 eq {-13800 -1700 translate} if
ibild 0 eq { -1900 -1700 translate} if

} if %xcharts>=10

} for %ibild=0,1

} if %xcharts<=25

xcharts 26 eq {%xcharts=26

/xss 600 def /yss xss def

/xmins 650 3 div 2.2 mul def
/ymaxs 15800 def
/xds 600 def
/xsd xss xds sub 0.5 mul def
/ysd xss xds sub 0.5 mul def

0.5 0.5 0.5 setrgbcolor
0 0 moveto 24500     0 rlineto 0 17000 rlineto
           24500 neg 0 rlineto closepath fill

20 setlinewidth

500 3 div 2 mul /Times-ISOL1 FS
0 0 0 setrgbcolor
1 1 27 {/i exch def %i=1,27
  /x xss 0.15 mul def
  /y 27.6 yss mul yss i mul sub def
  x y moveto nr1 i 1 sub get show
} for %i=1,27

1 1 37 {/i exch def %i=1,37
  /x xss i mul 000 add def
  /y 27.5 yss mul def
  x y moveto tx1 i 1 sub get show
} for %i=1,37

CBKK
/IMODE 0 def %input rgb for output LAB*
%row no.1 and 2: 9xrgb
/imax 08 def
/jmax 08 def
/kmax 08 def
0 1 kmax {/k exch def %beg k=0,08
          /k0 k 3 idiv def
          /k1 k k0 3 mul sub def
          /xadd k1 xss 9 mul mul def
          /yadd k0 xss 9 mul mul def
0 1 jmax {/j exch def %beg j=0,jmax
0 1 imax {/i exch def %beg i=0,imax
          /n i j 9 mul add k 81 mul add def
          /j1 j k1 9 mul add def
          /j1$ tx1 j1 get def
          /i1 i 1 add k0 9 mul add def
          /xa xmins j xss mul add xadd add xsd add def
          /ya ymaxs i yss mul sub yadd sub ysd add def
          /r*x k kmax div def /g*x j jmax div def /b*x i imax div def

          /tLAB 1 def
          r*x g*x b*x
          DEintp 0 eq { %DEintp=0
                       proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } %DEintp=0
                      { %DEintp=1
                       proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } ifelse %DEintp=1
          
          /L*Fa0 L*Fa def
          /A*Fa0 A*Fa def
          /B*Fa0 B*Fa def
          /C*Fa0 C*Fa def
          /H*Fa0 H*Fa def
          
          /c*rs0 c*rs def
          /t*s0 t*s def
          /l*s0 l*rs def
          /h*s0 H*Fa0 360 div def
          /i*s0 1 n*s sub def
          
          /a*sr A*Wior A*Nior sub l*s0 mul def
          /b*sr B*Wior B*Nior sub l*s0 mul def
          /L*Fa0x L*Fa0 def
          /A*Fa0x A*Fa0 A*Nior add a*sr add def
          /B*Fa0x B*Fa0 B*Nior add b*sr add def

          /r*x DEintp 0 eq {o3*dd0} {o3*dd0} ifelse def
          /g*x DEintp 0 eq {l3*dd0} {l3*dd0} ifelse def
          /b*x DEintp 0 eq {v3*dd0} {v3*dd0} ifelse def
          
          r*x g*x b*x setrgbcolor %only to calculate olv'*3, cmyn'*4
          /os3*Fa0 o* def
          /ls3*Fa0 l* def
          /vs3*Fa0 v* def
          /cs4*Fa0 c4*Fa def
          /ms4*Fa0 m4*Fa def
          /ys4*Fa0 y4*Fa def
          /ns4*Fa0 n4*Fa def
          
        xcharti 5 le {r*x g*x b*x setrgbcolor
                      xa ya xds dup rec fill
                      1 r*x sub 1 g*x sub 1 b*x sub 0 setcmykcolor
                      xa ya xds 0.5 mul dup rem fill} if
        xcharti 6 ge {1 1 1 setrgbcolor xa ya xds xds rec fill
                      0 0 0 setrgbcolor xa ya xds xds rec stroke} if
        xcharti 0 eq {%xcharti=0
                      [100 300] 0 setdash
                      r*x 0 eq g*x 0 eq and b*x 0 eq and {1 setgray}
                                                         {0 setgray} ifelse
                      xa ya xds 0.5 mul dup rem stroke
                      [ ] 0 setdash
                     } if %xcharti=0
        xcharti 6 ge {0 0 0 setrgbcolor
                      /xan xa xds 0.00 mul sub def
                      /yan ya xds 0.25 mul sub def} if
        xcharti 6 eq {xan yan 600 add moveto DEintp 0 eq {o3*dd0}{o3*dd0} ifelse cvsshow2
                      xan yan 400 add moveto DEintp 0 eq {l3*dd0}{l3*dd0} ifelse cvsshow2
                      xan yan 200 add moveto DEintp 0 eq {v3*dd0}{v3*dd0} ifelse cvsshow2} if
        xcharti 7 eq {xan yan 600 add moveto DEintp 0 eq {o3*de0}{o3*de0} ifelse cvsshow2
                      xan yan 400 add moveto DEintp 0 eq {l3*de0}{l3*de0} ifelse cvsshow2
                      xan yan 200 add moveto DEintp 0 eq {v3*de0}{v3*de0} ifelse cvsshow2} if
        xcharti 8 eq {xan yan 600 add moveto L*Fa0 cvsshow1
                      xan yan 400 add moveto A*Fa0 cvsshow1
                      xan yan 200 add moveto B*Fa0 cvsshow1} if
        xcharti 9 eq {xan yan 600 add moveto L*Fa0 cvsshow1
                      xan yan 400 add moveto C*Fa0 cvsshow1
                      xan yan 200 add moveto H*Fa0 cvishow} if
       xcharti 10 eq {xan yan 600 add moveto t*s0 cvsshow2
                      xan yan 400 add moveto c*rs0 cvsshow2
                      xan yan 200 add moveto h*s0 cvsshow2} if
       xcharti 11 eq {xan yan 600 add moveto i*s0 cvsshow2
                      xan yan 400 add moveto c*rs0 cvsshow2
                      xan yan 200 add moveto
                      DEintp 0 eq {u*xeMa10 show u*xeMai0 9 le {(0) show} if
                                   u*xeMai0 cvishow u*xeMa20 show}
                                  {u*xdMa10 show u*xdMai0 9 le {(0) show} if
                                   u*xdMai0 cvishow u*xdMa20 show} ifelse
                     } if
       xcharti 12 eq {xan yan 600 add moveto L*Fa0x cvsshow1
                      xan yan 400 add moveto A*Fa0x cvsshow1
                      xan yan 200 add moveto B*Fa0x cvishow} if
       xcharti 13 eq {xan yan 600 add moveto os3*Fa0 cvsshow2
                      xan yan 400 add moveto ls3*Fa0 cvsshow2
                      xan yan 200 add moveto vs3*Fa0 cvsshow2} if
       xcharti 14 eq {CBKK
                      xan yan 610 add moveto cs4*Fa0 cvsshow2
                      xan yan 460 add moveto ms4*Fa0 cvsshow2
                      xan yan 320 add moveto ys4*Fa0 cvsshow2
                      xan yan 180 add moveto ns4*Fa0 cvsshow2
                      CBK} if
         } for %end i=0,jmax
         } for %end j=0,jmax
         } for %end k=0,kmax
         
%3x rgbcmy
/id 1 8 div def
/rijn 81 array def %for intermediate storage
/gijn 81 array def /bijn 81 array def
/lmax 2 def
/n 728 def
0 1 lmax {/l exch def %beg k=0,kmax
          /xadd 3 xss 9 mul mul def
          /yadd l yss 9 mul mul def

%for intermediate storage of l=0,lmax
0 1 01 {/jchart exch def %jchart=0,1
        /xchartj l jchart 3 mul add def
0 1 08 {/j exch def %j=0,7
        /im 8 j sub def
jchart 1 im {/i exch def %i=0,8
        /ia 1 id j mul sub def
        /argb ia def /brgb ia i id mul sub def
        xchartj 0 eq {/r argb def /g brgb def /b brgb def} if
        xchartj 1 eq {/r argb def /g argb def /b brgb def} if
        xchartj 2 eq {/r brgb def /g argb def /b brgb def} if
        xchartj 3 eq {/r brgb def /g argb def /b argb def} if
        xchartj 4 eq {/r brgb def /g brgb def /b argb def} if
        xchartj 5 eq {/r argb def /g brgb def /b argb def} if
        jchart 0 eq {/in i j add def /jn j def}
                    {/in j def /jn i j add def} ifelse
                     rijn in 9 mul jn add r put
                     gijn in 9 mul jn add g put
                     bijn in 9 mul jn add b put
        } for %i=0,7
        } for %j=0,8
        } for %jchart=0,1
        
%for output of l=0,lmax
0 1 08 {/j exch def %j=0,8
0 1 08 {/i exch def %i=0,8
        /r*x rijn i j 9 mul add get def
        /g*x gijn i j 9 mul add get def
        /b*x bijn i j 9 mul add get def
        /xa xmins xss j mul add xadd add xsd add def
        /ya ymaxs xss i mul sub yadd sub ysd add def
          
          /tLAB 1 def
          r*x g*x b*x
          DEintp 0 eq { %DEintp=0
                       proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } %DEintp=0
                      { %DEintp=1
                       proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } ifelse %DEintp=1
          
          /L*Fa0 L*Fa def
          /A*Fa0 A*Fa def
          /B*Fa0 B*Fa def
          /C*Fa0 C*Fa def
          /H*Fa0 H*Fa def
          
          /c*rs0 c*rs def
          /t*s0 t*s def
          /l*s0 l*rs def
          /h*s0 H*Fa0 360 div def
          /i*s0 1 n*s sub def
          
          /a*sr A*Wior A*Nior sub l*s0 mul def
          /b*sr B*Wior B*Nior sub l*s0 mul def
          /L*Fa0x L*Fa0 def
          /A*Fa0x A*Fa0 A*Nior add a*sr add def
          /B*Fa0x B*Fa0 B*Nior add b*sr add def

          /r*x DEintp 0 eq {o3*dd0} {o3*dd0} ifelse def
          /g*x DEintp 0 eq {l3*dd0} {l3*dd0} ifelse def
          /b*x DEintp 0 eq {v3*dd0} {v3*dd0} ifelse def
          
          r*x g*x b*x setrgbcolor %only to calculate olv'*3, cmyn'*4
          /os3*Fa0 o* def
          /ls3*Fa0 l* def
          /vs3*Fa0 v* def
          /cs4*Fa0 c4*Fa def
          /ms4*Fa0 m4*Fa def
          /ys4*Fa0 y4*Fa def
          /ns4*Fa0 n4*Fa def
          
        xcharti 5 le {r*x g*x b*x setrgbcolor
                      xa ya xds dup rec fill
                      1 r*x sub 1 g*x sub 1 b*x sub 0 setcmykcolor
                      xa ya xds 0.5 mul dup rem fill} if
        xcharti 6 ge {1 1 1 setrgbcolor xa ya xds xds rec fill
                      0 0 0 setrgbcolor xa ya xds xds rec stroke} if
        xcharti 0 eq {%xcharti=0
                      [100 300] 0 setdash
                      r*x 0 eq g*x 0 eq and b*x 0 eq and {1 setgray}
                                                         {0 setgray} ifelse
                      xa ya xds 0.5 mul dup rem stroke
                      [ ] 0 setdash
                     } if %xcharti=0
        xcharti 6 ge {0 0 0 setrgbcolor
                      /xan xa xds 0.00 mul sub def
                      /yan ya xds 0.25 mul sub def} if
        xcharti 6 eq {xan yan 600 add moveto DEintp 0 eq {o3*dd0}{o3*dd0} ifelse cvsshow2
                      xan yan 400 add moveto DEintp 0 eq {l3*dd0}{l3*dd0} ifelse cvsshow2
                      xan yan 200 add moveto DEintp 0 eq {v3*dd0}{v3*dd0} ifelse cvsshow2} if
        xcharti 7 eq {xan yan 600 add moveto DEintp 0 eq {o3*de0}{o3*de0} ifelse cvsshow2
                      xan yan 400 add moveto DEintp 0 eq {l3*de0}{l3*de0} ifelse cvsshow2
                      xan yan 200 add moveto DEintp 0 eq {v3*de0}{v3*de0} ifelse cvsshow2} if
        xcharti 8 eq {xan yan 600 add moveto L*Fa0 cvsshow1
                      xan yan 400 add moveto A*Fa0 cvsshow1
                      xan yan 200 add moveto B*Fa0 cvsshow1} if
        xcharti 9 eq {xan yan 600 add moveto L*Fa0 cvsshow1
                      xan yan 400 add moveto C*Fa0 cvsshow1
                      xan yan 200 add moveto H*Fa0 cvishow} if
       xcharti 10 eq {xan yan 600 add moveto t*s0 cvsshow2
                      xan yan 400 add moveto c*rs0 cvsshow2
                      xan yan 200 add moveto h*s0 cvsshow2} if
       xcharti 11 eq {xan yan 600 add moveto i*s0 cvsshow2
                      xan yan 400 add moveto c*rs0 cvsshow2
                      xan yan 200 add moveto
                      DEintp 0 eq {u*xeMa10 show u*xeMai0 9 le {(0) show} if
                                   u*xeMai0 cvishow u*xeMa20 show}
                                  {u*xdMa10 show u*xdMai0 9 le {(0) show} if
                                   u*xdMai0 cvishow u*xdMa20 show} ifelse
                     } if
       xcharti 12 eq {xan yan 600 add moveto L*Fa0x cvsshow1
                      xan yan 400 add moveto A*Fa0x cvsshow1
                      xan yan 200 add moveto B*Fa0x cvishow} if
       xcharti 13 eq {xan yan 600 add moveto os3*Fa0 cvsshow2
                      xan yan 400 add moveto ls3*Fa0 cvsshow2
                      xan yan 200 add moveto vs3*Fa0 cvsshow2} if
       xcharti 14 eq {CBKK
                      xan yan 610 add moveto cs4*Fa0 cvsshow2
                      xan yan 460 add moveto ms4*Fa0 cvsshow2
                      xan yan 320 add moveto ys4*Fa0 cvsshow2
                      xan yan 180 add moveto ns4*Fa0 cvsshow2
                      CBK} if
        } for %i=0,7
        } for %j=0,8

        } for %end l=0,lmax
        
%6wrgbcmy
/n 971
/lmax 03 def %4 rows with geys
/kmax 1 def %9 or 16 steps
0 1 kmax {/k exch def %
          k 0 eq {/jmax 08 def} {/jmax 15 def} ifelse
0 1 lmax {/l exch def %beg l=0,lmax
          /xadd 36 l add xss mul def
          /yadd k 9 xss mul mul def
          /j1 l 36 add def
          /j1$ tx1 j1 get def
0 1 jmax {/j exch def %j=0,08
          /n n 1 add def
          /i1 j k 9 mul add 1 add def %9 steps, 16 steps
          /argb j jmax div def
          /xa xmins xadd add xsd add def
          /ya ymaxs xss j mul sub yadd sub ysd add def
          /r*x argb def /g*x argb def /b*x argb def
          
          /tLAB 1 def
          r*x g*x b*x
          DEintp 0 eq { %DEintp=0
                       proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } %DEintp=0
                      { %DEintp=1
                      proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } ifelse %DEintp=1
          
          /L*Fa0 L*Fa def
          /A*Fa0 A*Fa def
          /B*Fa0 B*Fa def
          /C*Fa0 C*Fa def
          /H*Fa0 H*Fa def
          
          /c*rs0 c*rs def
          /t*s0 t*s def
          /l*s0 l*rs def
          /h*s0 H*Fa0 360 div def
          /i*s0 1 n*s sub def
          
          /a*sr A*Wior A*Nior sub l*s0 mul def
          /b*sr B*Wior B*Nior sub l*s0 mul def
          /L*Fa0x L*Fa0 def
          /A*Fa0x A*Fa0 A*Nior add a*sr add def
          /B*Fa0x B*Fa0 B*Nior add b*sr add def

          /r*x DEintp 0 eq {o3*dd0} {o3*dd0} ifelse def
          /g*x DEintp 0 eq {l3*dd0} {l3*dd0} ifelse def
          /b*x DEintp 0 eq {v3*dd0} {v3*dd0} ifelse def
          
          r*x g*x b*x setrgbcolor %only to calculate olv'*3, cmyn'*4
          /os3*Fa0 o* def
          /ls3*Fa0 l* def
          /vs3*Fa0 v* def
          /cs4*Fa0 c4*Fa def
          /ms4*Fa0 m4*Fa def
          /ys4*Fa0 y4*Fa def
          /ns4*Fa0 n4*Fa def
          
        xcharti 5 le {
          l 0 eq {0 0 0 1 argb sub setcmykcolor} if
          l 1 eq {argb setgray} if
          l 2 eq {1 argb sub dup dup 0 setcmykcolor} if
          l 3 eq {argb dup dup setrgbcolor} if
                      xa ya xds dup rec fill
                      1 r*x sub 1 g*x sub 1 b*x sub 0 setcmykcolor
                      xa ya xds 0.5 mul dup rem fill} if
        xcharti 6 ge {1 1 1 setrgbcolor xa ya xds xds rec fill
                      0 0 0 setrgbcolor xa ya xds xds rec stroke} if
        xcharti 0 eq {%xcharti=0
                      [100 300] 0 setdash
                      r*x 0 eq g*x 0 eq and b*x 0 eq and {1 setgray}
                                                         {0 setgray} ifelse
                      xa ya xds 0.5 mul dup rem stroke
                      [ ] 0 setdash
                     } if %xcharti=0
        xcharti 6 ge {0 0 0 setrgbcolor
                      /xan xa xds 0.00 mul sub def
                      /yan ya xds 0.25 mul sub def} if
        xcharti 6 eq {xan yan 600 add moveto DEintp 0 eq {o3*dd0}{o3*dd0} ifelse cvsshow2
                      xan yan 400 add moveto DEintp 0 eq {l3*dd0}{l3*dd0} ifelse cvsshow2
                      xan yan 200 add moveto DEintp 0 eq {v3*dd0}{v3*dd0} ifelse cvsshow2} if
        xcharti 7 eq {xan yan 600 add moveto DEintp 0 eq {o3*de0}{o3*de0} ifelse cvsshow2
                      xan yan 400 add moveto DEintp 0 eq {l3*de0}{l3*de0} ifelse cvsshow2
                      xan yan 200 add moveto DEintp 0 eq {v3*de0}{v3*de0} ifelse cvsshow2} if
        xcharti 8 eq {xan yan 600 add moveto L*Fa0 cvsshow1
                      xan yan 400 add moveto A*Fa0 cvsshow1
                      xan yan 200 add moveto B*Fa0 cvsshow1} if
        xcharti 9 eq {xan yan 600 add moveto L*Fa0 cvsshow1
                      xan yan 400 add moveto C*Fa0 cvsshow1
                      xan yan 200 add moveto H*Fa0 cvishow} if
       xcharti 10 eq {xan yan 600 add moveto t*s0 cvsshow2
                      xan yan 400 add moveto c*rs0 cvsshow2
                      xan yan 200 add moveto h*s0 cvsshow2} if
       xcharti 11 eq {xan yan 600 add moveto i*s0 cvsshow2
                      xan yan 400 add moveto c*rs0 cvsshow2
                      xan yan 200 add moveto
                      DEintp 0 eq {u*xeMa10 show u*xeMai0 9 le {(0) show} if
                                   u*xeMai0 cvishow u*xeMa20 show}
                                  {u*xdMa10 show u*xdMai0 9 le {(0) show} if
                                   u*xdMai0 cvishow u*xdMa20 show} ifelse
                     } if
       xcharti 12 eq {xan yan 600 add moveto L*Fa0x cvsshow1
                      xan yan 400 add moveto A*Fa0x cvsshow1
                      xan yan 200 add moveto B*Fa0x cvishow} if
       xcharti 13 eq {xan yan 600 add moveto os3*Fa0 cvsshow2
                      xan yan 400 add moveto ls3*Fa0 cvsshow2
                      xan yan 200 add moveto vs3*Fa0 cvsshow2} if
       xcharti 14 eq {CBKK
                      xan yan 610 add moveto cs4*Fa0 cvsshow2
                      xan yan 460 add moveto ms4*Fa0 cvsshow2
                      xan yan 320 add moveto ys4*Fa0 cvsshow2
                      xan yan 180 add moveto ns4*Fa0 cvsshow2
                      CBK} if
         } for %j=0,jmax
       
         } for %l=0,lmax
       
         } for %k=0,kmax
       
%basic colours 1072 - 1080
/basrgb 24 array def
/basrgb
[0 0 0 1 1 1
 1 0 0 0 1 1
 1 1 0 0 0 1
 0 1 0 1 0 1
] def
/n 1071 def
0 1 7 {/i exch def %i=0,7
       /n n 1 add def
       /i3 i 3 mul def
       /xadd 36 xss mul def
       /yadd 25 xss mul def
       i 0 eq {/l 0 def /j 0 def /j1$ (k) def /i1 26 def} if
       i 1 eq {/l 0 def /j 1 def /j1$ (k) def /i1 27 def} if
       i 2 eq {/l 1 def /j 0 def /j1$ (l) def /i1 26 def} if
       i 3 eq {/l 1 def /j 1 def /j1$ (l) def /i1 27 def} if
       i 4 eq {/l 2 def /j 0 def /j1$ (m) def /i1 26 def} if
       i 5 eq {/l 2 def /j 1 def /j1$ (m) def /i1 27 def} if
       i 6 eq {/l 3 def /j 0 def /j1$ (n) def /i1 26 def} if
       i 7 eq {/l 3 def /j 1 def /j1$ (n) def /i1 27 def} if
       /xa xmins xss l mul add xadd add xsd add def
       /ya ymaxs xss j mul sub yadd sub ysd add def
       /r*x basrgb i3       get def
       /g*x basrgb i3 1 add get def
       /b*x basrgb i3 2 add get def
          
          /tLAB 1 def
          r*x g*x b*x
          DEintp 0 eq { %DEintp=0
          proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } %DEintp=0
                      { %DEintp=1
          proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL
                       /o3*dd0 o3*dd def
                       /l3*dd0 l3*dd def
                       /v3*dd0 v3*dd def
                       /o3*de0 o3*de def
                       /l3*de0 l3*de def
                       /v3*de0 v3*de def
                       /u*xdMa10 u*ddMa1 def /u*xeMa10 u*deMa1 def
                       /u*xdMai0 u*ddMai def /u*xeMai0 u*deMai def
                       /u*xdMa20 u*ddMa2 def /u*xeMa20 u*deMa2 def
                      } ifelse %DEintp=1
          
          /L*Fa0 L*Fa def
          /A*Fa0 A*Fa def
          /B*Fa0 B*Fa def
          /C*Fa0 C*Fa def
          /H*Fa0 H*Fa def
          
          /c*rs0 c*rs def
          /t*s0 t*s def
          /l*s0 l*rs def
          /h*s0 H*Fa0 360 div def
          /i*s0 1 n*s sub def
          
          /a*sr A*Wior A*Nior sub l*s0 mul def
          /b*sr B*Wior B*Nior sub l*s0 mul def
          /L*Fa0x L*Fa0 def
          /A*Fa0x A*Fa0 A*Nior add a*sr add def
          /B*Fa0x B*Fa0 B*Nior add b*sr add def

          r*x g*x b*x setrgbcolor %only to calculate olv'*3, cmyn'*4
          /os3*Fa0 o* def
          /ls3*Fa0 l* def
          /vs3*Fa0 v* def
          /cs4*Fa0 c4*Fa def
          /ms4*Fa0 m4*Fa def
          /ys4*Fa0 y4*Fa def
          /ns4*Fa0 n4*Fa def
          
          /r*x DEintp 0 eq {o3*dd0} {o3*dd0} ifelse def
          /g*x DEintp 0 eq {l3*dd0} {l3*dd0} ifelse def
          /b*x DEintp 0 eq {v3*dd0} {v3*dd0} ifelse def
          
        xcharti 5 le {r*x g*x b*x setrgbcolor
                      xa ya xds dup rec fill
                      1 r*x sub 1 g*x sub 1 b*x sub 0 setcmykcolor
                      xa ya xds 0.5 mul dup rem fill} if
        xcharti 6 ge {1 1 1 setrgbcolor xa ya xds xds rec fill
                      0 0 0 setrgbcolor xa ya xds xds rec stroke} if
        xcharti 0 eq {%xcharti=0
                      [100 300] 0 setdash
                      r*x 0 eq g*x 0 eq and b*x 0 eq and {1 setgray}
                                                         {0 setgray} ifelse
                      xa ya xds 0.5 mul dup rem stroke
                      [ ] 0 setdash
                     } if %xcharti=0
        xcharti 6 ge {0 0 0 setrgbcolor
                      /xan xa xds 0.00 mul sub def
                      /yan ya xds 0.25 mul sub def} if
        xcharti 6 eq {xan yan 600 add moveto DEintp 0 eq {o3*dd0}{o3*dd0} ifelse cvsshow2
                      xan yan 400 add moveto DEintp 0 eq {l3*dd0}{l3*dd0} ifelse cvsshow2
                      xan yan 200 add moveto DEintp 0 eq {v3*dd0}{v3*dd0} ifelse cvsshow2} if
        xcharti 7 eq {xan yan 600 add moveto DEintp 0 eq {o3*de0}{o3*de0} ifelse cvsshow2
                      xan yan 400 add moveto DEintp 0 eq {l3*de0}{l3*de0} ifelse cvsshow2
                      xan yan 200 add moveto DEintp 0 eq {v3*de0}{v3*de0} ifelse cvsshow2} if
        xcharti 8 eq {xan yan 600 add moveto L*Fa0 cvsshow1
                      xan yan 400 add moveto A*Fa0 cvsshow1
                      xan yan 200 add moveto B*Fa0 cvsshow1} if
        xcharti 9 eq {xan yan 600 add moveto L*Fa0 cvsshow1
                      xan yan 400 add moveto C*Fa0 cvsshow1
                      xan yan 200 add moveto H*Fa0 cvishow} if
       xcharti 10 eq {xan yan 600 add moveto t*s0 cvsshow2
                      xan yan 400 add moveto c*rs0 cvsshow2
                      xan yan 200 add moveto h*s0 cvsshow2} if
       xcharti 11 eq {xan yan 600 add moveto i*s0 cvsshow2
                      xan yan 400 add moveto c*rs0 cvsshow2
                      xan yan 200 add moveto
                      DEintp 0 eq {u*xeMa10 show u*xeMai0 9 le {(0) show} if
                                   u*xeMai0 cvishow u*xeMa20 show}
                                  {u*xdMa10 show u*xdMai0 9 le {(0) show} if
                                   u*xdMai0 cvishow u*xdMa20 show} ifelse
                     } if
       xcharti 12 eq {xan yan 600 add moveto L*Fa0x cvsshow1
                      xan yan 400 add moveto A*Fa0x cvsshow1
                      xan yan 200 add moveto B*Fa0x cvishow} if
       xcharti 13 eq {xan yan 600 add moveto os3*Fa0 cvsshow2
                      xan yan 400 add moveto ls3*Fa0 cvsshow2
                      xan yan 200 add moveto vs3*Fa0 cvsshow2} if
       xcharti 14 eq {CBKK
                      xan yan 610 add moveto cs4*Fa0 cvsshow2
                      xan yan 460 add moveto ms4*Fa0 cvsshow2
                      xan yan 320 add moveto ys4*Fa0 cvsshow2
                      xan yan 180 add moveto ns4*Fa0 cvsshow2
                      CBK} if
      } for %i=0,7
      
40 3 div 2 mul setlinewidth
/xtmin xmins def
/ytmax ymaxs xss 01 mul add def
/ytmin ytmax xss 27 mul sub def
/xtmax xtmin xss 36 mul add def
/ytmean1 ytmin ytmax ytmin sub 0.3333 mul add def
/ytmean2 ytmin ytmax ytmin sub 0.6667 mul add def
1 0 0 setrgbcolor
1 1 4 {/k exch def
       /xta xtmin xss 9 mul k mul add def
       xta ytmin 100 sub moveto xta ytmax 100 add lineto stroke
      } for
xtmin 100 sub ytmean1 moveto xtmax ytmean1 lineto stroke
xtmin 100 sub ytmean2 moveto xtmax xss 4 mul add 100 add ytmean2 lineto stroke
/ytmean3 ytmin 2 xss mul add def
xtmax ytmean3 moveto xtmax xss 4 mul add 100 add ytmean3 lineto stroke

0 0 0 setrgbcolor
TBIG
22600 16500 moveto
xcharti 6 eq {(lab*olv*) show} if
xcharti 7 eq {(lab*rgb*) show} if
xcharti 8 eq {(LAB*LAB*) show -20 -50 rmoveto TBM (a) show 0 50 rmoveto TBIG} if
xcharti 9 eq {(LAB*LCH*) show -20 -50 rmoveto TBM (a) show 0 50 rmoveto TBIG} if
xcharti 10 eq {(lab*tch*) show} if
xcharti 11 eq {(lab*icu*) show TBM 0 -50 rmoveto DEintp 0 eq {(e)} {(d)} ifelse show 0 50 rmoveto TBIG} if
xcharti 12 eq {(LAB*LAB*) show} if
xcharti 13 eq {(lab*) show (olv'*) show} if %DEintp 0 eq {(olv'*) show} {(rgb'*) show} ifelse} if
xcharti 14 eq {(LAB*) show (cmyn'*) show} if %DEintp 0 eq {(cmyn'*) show} {(cmjn'*) show} ifelse} if

} if %xcharts=26

ColSpx 0 eq xcharti 5 eq and {
/ausz 8 def
0 0 0 setrgbcolor
8000 6000 moveto
700 /TimesBI-ISOL1 FS
30 rotate
(Black separation empty) showen
(Schwarz-Separation leer) showde
-30 rotate
/ausz 7 def
           } if

showpage
grestore

%} for %xcharts END xcharts=09,09 only circle

%} for %xchartl END xchartl=00,02

%%Trailer

%%EndDocument
EndEPSF grestore gsave

BeginEPSF  86 MM 020 MM translate 12 /Times-ISOL1 FS -9 MM -7 MM  moveto
( ) show
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 18

%line 409
%!PS-Adobe-3.0 EPSF-3.0 IG500-8,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG500-8,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave

BeginEPSF
161 MM 197 MM translate
  10 /Times-ISOL1 FS  1 1 scale  -77 -91 translate
%%BeginDocument: Bild 12

%line 419

%%EndDocument
EndEPSF grestore gsave
                                        
BeginEPSF
161 MM 152 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 21

%line 429
%!PS-Adobe-3.0 EPSF-3.0 IG501-1,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG501-1,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave

BeginEPSF
219 MM 152 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 22

%line 439
%!PS-Adobe-3.0 EPSF-3.0 IG501-2,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG501-2,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave
                         
BeginEPSF
161 MM 108 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 23

%line 449
%!PS-Adobe-3.0 EPSF-3.0 IG501-3,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG501-3,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave
                         
BeginEPSF
219 MM 108 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 24

%line 459
%!PS-Adobe-3.0 EPSF-3.0 IG501-4,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG501-4,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave
              
BeginEPSF
161 MM 064 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 25

%line 469
%!PS-Adobe-3.0 EPSF-3.0 IG501-5,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG501-5,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave

BeginEPSF
219 MM 064 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 26

%line 479
%!PS-Adobe-3.0 EPSF-3.0 IG501-6,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG501-6,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave
                         
BeginEPSF
251 MM 020 MM translate
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 27

%line 489
%!PS-Adobe-3.0 EPSF-3.0 IG501-7,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG501-7,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave

BeginEPSF
219 MM 020 MM translate 12 /Times-ISOL1 FS -9 MM -7 MM  moveto ( ) show
  10 /Times-ISOL1 FS  53 MM 1 MM moveto ( ) show 1 1 scale  -77 -91 translate
%%BeginDocument: Bild 28

%line 499
%!PS-Adobe-3.0 EPSF-3.0 IG501-8,
%%BoundingBox: 70 90 226 206

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
%%EndProlog
gsave

8 /Times-Roman FS
72 83 moveto
%!2     (IG501-8,) show

72 90 translate

%! 0.01 MM 0.01 MM scale
%! 15 setlinewidth
%! 0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
%! closepath stroke

grestore

showpage
%%Trailer

%%EndDocument
EndEPSF grestore gsave

BeginEPSF
219 MM 080 MM add 008 MM translate %80 MM Breite von TestStreifen
  10 /Times-ISOL1 FS  53 MM 1 MM moveto () show 1 1 scale -77 21 MM sub -91 translate
%%BeginDocument: Bild 29 Teststreifen Ueberlaenge

%line 509

%%EndDocument
EndEPSF grestore gsave

BeginEPSF
-0.0 MM -0.0 MM translate %xy-Verschiebung Rechteckrahmen nach innen%

%%BeginDocument: Bild 30 %Rechteckrahmen

%line 519
%!PS-Adobe-3.0 EPSF-3.0 Frame arround with Internet text DG02 20081001
%%BoundingBox: 0 0 598 845

%%EndProlog
gsave

/lanind 1 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
/i*ptrsc where {pop %/i*ptrsc i*ptrsc def
               }
               {/i*ptrsc 0 def} ifelse
gsave

/xchartg where {pop /xchartx xchartg def} {/xchartx 0 def} ifelse
/colormg where {pop /colorm colormg def} {/colorm 0 def} ifelse
/ISRL*ioG where {pop}{/ISRL*ioG 0 def} ifelse
/ISIN*ioG where {pop}{/ISIN*ioG 0 def} ifelse
/ISOU*ioG where {pop}{/ISOU*ioG 0 def} ifelse

xchartx 0 eq {/xcharti 1 def} if
xchartx 1 eq {/xcharti 6 def} if
xchartx 2 eq {/xcharti 7 def} if

xcharti 0 eq {/ausz 8 def /xchartt (A) def} if
xcharti 1 eq {/ausz 8 def /xchartt (F) def} if
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
xcharti 6 eq {/ausz 8 def /xchartt (F) def} if
xcharti 7 eq {/ausz 8 def /xchartt (F) def} if
xcharti 8 eq {/ausz 8 def /xchartt (F) def} if
xcharti 9 eq {/ausz 8 def /xchartt (F) def} if
xcharti 10 eq {/ausz 8 def /xchartt (F) def} if
xcharti 11 eq {/ausz 8 def /xchartt (F) def} if
xcharti 12 eq {/ausz 8 def /xchartt (F) def} if
xcharti 13 eq {/ausz 8 def /xchartt (F) def} if
xcharti 14 eq {/ausz 8 def /xchartt (F) def} if

%LAB*ioL, ColSep*ioL, and procedures (*ioL) are only in Y10-7N.EPS
%proc_LAB*ioG, proc_ColSep*ioG, and procedures (*ioG) are only in Y10G00NA.PS6.PS and OUTLIN1X
%for colorm=0, default rgb/cmyk-values are used for Frame
%for colorm=1, rgb/cmyk-values of proc_LAB*ioG, proc_ColSep*ioG are used for Frame
%for colorm=0, rgb/cmyk-values of LAB*ioL, ColSep*ioL are used in Y10-7N
%for colorm=1, rgb/cmyk-values of proc_LAB*ioG, proc_ColSep*ioG are used in Y10-7N
%for consistancy use same procedures in Y10-7N and Y10G00NA.PS6.PS

colorm 1 eq {proc_LAB*ioG proc_ColSep*ioG} if %LAB*ioL, ColSep*ioL only in Y10-7!

0 setgray

1.0 1.0  scale

0.0 MM 0.0 MM translate

0.15 MM setlinewidth

/xx 20 array def
/yy 20 array def
/dd 20 array def

/xx [000 296 296 000  002 294 294 002  005 291 291 005 %speziell
     006 290 290 006  008 288 288 008 ] def
/yy [000 000 210 210  002 002 208 208  005 005 205 205 %speziell
     006 006 204 204  008 008 202 202 ] def
/dd [060 017 -60 -17  058 015 -58 -15  056 013 -56 -13
     054 011 -54 -11  052 009 -52 -09 ] def

/xt 1 def %without/with frame

xt 0 eq {%xt=0,1 ifelse

/i0 12 def
/i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def
xx i0 get MM yy i0 get MM moveto xx i1 get MM yy i1 get MM lineto
xx i2 get MM yy i2 get MM lineto xx i3 get MM yy i3 get MM lineto
xx i0 get MM yy i0 get MM lineto stroke

3.0 MM /Times-ISOL1 FS
xx i0 get MM 110 MM add yy i0 get MM 2.5 MM sub moveto
(xxx/IG50/IG50L) show
LSS$ show LSX$ show (0) show
LSC$ show LEX$ show
(, Page ) showen
(, Seite ) showde
xchartx 1 add cvishow (/3) show
(; ) show LAB*TE 0 get show
} %xt=0

{ %xt=1

/xlu 017 MM def /ylu 017 MM def
/xro 279 MM def /yro 193 MM def
/xlo 017 MM def /ylo 193 MM def
/xru 279 MM def /yru 017 MM def

xlu 8 MM sub ylu moveto  16 MM 0 rlineto stroke
xlu ylu 8 MM sub moveto 0  16 MM rlineto stroke
xro 8 MM add yro moveto -16 MM 0 rlineto stroke
xro yro 8 MM add moveto 0 -16 MM rlineto stroke

xru 8 MM sub yru moveto  16 MM 0 rlineto stroke
xru yru 8 MM sub moveto 0  16 MM rlineto stroke
xlo 8 MM add ylo moveto -16 MM 0 rlineto stroke
xlo ylo 8 MM add moveto 0 -16 MM rlineto stroke

1 2 7 {/i exch def %Zentrierkreise
xlu ylu i MM 0 360 arc stroke
xro yro i MM 0 360 arc stroke
xru yru i MM 0 360 arc stroke
xlo ylo i MM 0 360 arc stroke
      } for %i

12 4 16 {/i exch def /i0 i def %i=0,16
%0 4 16 {/i exch def /i0 i def %i=0,16
        /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def

i 16 eq {0.30 MM setlinewidth} {0.15 MM setlinewidth} ifelse

0 setgray        
xx i0 get MM yy i0 get MM moveto xx i1 get MM yy i1 get MM lineto
xx i2 get MM yy i2 get MM lineto xx i3 get MM yy i3 get MM lineto
xx i0 get MM yy i0 get MM lineto stroke

i 16 eq {6 /Times-ISOL1 FS
         /x00 67 def /xdif 32 def /y0o 202.3 def /y0u 6.3 def  
         /x0l 6.1 def /x0r 288 def /y00 22 def /ydif 32 def
         x00 xdif 0 mul add MM y0o MM moveto (V) show
         x00 xdif 0 mul add MM y0u MM moveto (C) show
         x00 xdif 1 mul add MM y0o MM moveto (L) show
         x00 xdif 1 mul add MM y0u MM moveto (M) show
         x00 xdif 2 mul add MM y0o MM moveto (O) show
         x00 xdif 2 mul add MM y0u MM moveto (Y) show
         x00 xdif 3 mul add MM y0o MM moveto (Y) show
         x00 xdif 3 mul add MM y0u MM moveto (O) show
         x00 xdif 4 mul add MM y0o MM moveto (M) show
         x00 xdif 4 mul add MM y0u MM moveto (L) show
         x00 xdif 5 mul add MM y0o MM moveto (C) show
         x00 xdif 5 mul add MM y0u MM moveto (V) show

         x0l MM y00 ydif 0 mul add MM moveto (V) show
         x0r MM y00 ydif 0 mul add MM moveto (C) show
         x0l MM y00 ydif 1 mul add MM moveto (L) show
         x0r MM y00 ydif 1 mul add MM moveto (M) show
         x0l MM y00 ydif 2 mul add MM moveto (O) show
         x0r MM y00 ydif 2 mul add MM moveto (Y) show
         x0l MM y00 ydif 3 mul add MM moveto (Y) show
         x0r MM y00 ydif 3 mul add MM moveto (O) show
         x0l MM y00 ydif 4 mul add MM moveto (M) show
         x0r MM y00 ydif 4 mul add MM moveto (L) show
         x0l MM y00 ydif 5 mul add MM moveto (C) show
         x0r MM y00 ydif 5 mul add MM moveto (V) show
        } if

       } for %i=0,16

0 1 10 {/j0 exch def /j1 j0 1 add def %j0
 
         j0 0 eq {tzcolv* setrgbcolor} if
         j0 1 eq {0 setgray} if
         j0 2 eq {tzmolv* setrgbcolor} if
         j0 3 eq {0 setgray} if
         j0 4 eq {tzyolv* setrgbcolor} if
         j0 5 eq {0 setgray} if
         j0 6 eq {tzoolv* setrgbcolor} if
         j0 7 eq {0 setgray} if
         j0 8 eq {tzlolv* setrgbcolor} if
         j0 9 eq {0 setgray} if
         j0 10 eq {tzvolv* setrgbcolor} if

12 4 16 {/i exch def /i0 i def %i=0,16
%0 4 16 {/i exch def /i0 i def %i=0,16
        /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def

i 16 eq {0.30 MM setlinewidth} {0.15 MM setlinewidth} ifelse         

xx i0 get dd i0 get add 16 j0 mul add MM yy i0 get MM moveto
xx i0 get dd i0 get add 16 j1 mul add MM yy i0 get MM lineto stroke

xx i1 get MM yy i1 get dd i1 get add 16 j0 mul add MM moveto
xx i1 get MM yy i1 get dd i1 get add 16 j1 mul add MM lineto stroke

xx i2 get dd i2 get add 16 j0 mul sub MM yy i2 get MM moveto
xx i2 get dd i2 get add 16 j1 mul sub MM yy i2 get MM lineto stroke

xx i3 get MM yy i3 get dd i3 get add 16 j0 mul sub MM moveto
xx i3 get MM yy i3 get dd i3 get add 16 j1 mul sub MM lineto stroke

       } for %i=0,16

       } for %j0

0.15 MM setlinewidth
/s 7 MM def /s1 8 MM def /s5 36 MM def
16 1 20 {/j exch def /j0 j 16 sub def %j=16,20
         /ix0 xlu  8 MM add j0 7 MM mul add def /iy0 ylu 8 MM sub def

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

 ij 0 eq {/ix0 xlu  8 MM add j0 7 MM mul add def /iy0 ylu 8 MM sub def} if
 ij 1 eq {/ix0 xru 43 MM sub j0 7 MM mul add def /iy0 yru 8 MM sub def} if
 ij 2 eq {/ix0 xlo  8 MM add j0 7 MM mul add def /iy0 ylo 1 MM add def} if
 ij 3 eq {/ix0 xro 43 MM sub j0 7 MM mul add def /iy0 yro 1 MM add def} if

i*ptrsc 0 eq i*ptrsc 2 eq or {%i*ptrsc=0,2 cmy0* setcmykcolor
              j 16 eq {/ng tzan j get def
                       ng ng ng 0 setcmykcolor
                       ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if
              /ng tzan j get def
              ng ng ng 0 setcmykcolor
              ix0 iy0 s s  rec fill
             } if %i*ptrsc=0,2
             
i*ptrsc 1 eq i*ptrsc 3 eq or {%i*ptrsc=1,3 www* setrgbcolor
              j 16 eq {/wg 1 tzan j get sub def
                       wg
                       setgray %N
                       ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if
              /wg 1 tzan j get sub def
              wg
              setgray %N
              ix0 iy0 s s  rec fill
             } if %i*ptrsc=1,3
             
i*ptrsc 4 eq i*ptrsc 5 eq or {%i*ptrsc=4,5
  [/CIEBasedABC <<    %Farbraum und Grenzen fuer D65
  /RangeABC [0 100 -128 127 -128 127]
  /DecodeABC [{16 add 116 div} bind {500 div} bind {200 div} bind]
  /MatrixABC [1 1 1 1 0 0 0 0 -1]
  /DecodeLMN
    [{dup 6 29 div ge {dup dup mul mul}
     {4 29 div sub 108 841 div mul} ifelse 0.9505 mul} bind
     {dup 6 29 div ge {dup dup mul mul}
     {4 29 div sub 108 841 div mul} ifelse} bind
     {dup 6 29 div ge {dup dup mul mul}
     {4 29 div sub 108 841 div mul} ifelse 1.0890 mul} bind]
    /WhitePoint  [0.9505 1 1.089]                %CIEXYZ fuer D65
 >>] setcolorspace

 j 16 eq {tznLAB* 0 get tzwLAB* 0 get tznLAB* 0 get sub 0.25 j0 mul mul add
          tznLAB* 1 get tzwLAB* 1 get tznLAB* 1 get sub 0.25 j0 mul mul add
          tznLAB* 2 get tzwLAB* 2 get tznLAB* 2 get sub 0.25 j0 mul mul add
          setcolor %N
          ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if
          tznLAB* 0 get tzwLAB* 0 get tznLAB* 0 get sub 0.25 j0 mul mul add
          tznLAB* 1 get tzwLAB* 1 get tznLAB* 1 get sub 0.25 j0 mul mul add
          tznLAB* 2 get tzwLAB* 2 get tznLAB* 2 get sub 0.25 j0 mul mul add
          setcolor %N
          ix0 iy0 s s  rec fill
             } if %i*ptrsc=4,5

i*ptrsc 6 eq {%i*ptrsc=6 000n* setcmykcolor
              j 16 eq {/ng tzan j get def
                       0 0 0 ng setcmykcolor
                       ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if
              /ng tzan j get def
              0 0 0 ng setcmykcolor
              ix0 iy0 s s  rec fill
             } if %i*ptrsc=6

i*ptrsc 7 eq {%i*ptrsc=7 w* setgray
              j 16 eq {/wg 1 tzan j get sub def
                       wg setgray
                       ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if
              /wg 1 tzan j get sub def
              wg setgray
              ix0 iy0 s s  rec fill
             } if %i*ptrsc=7

      } for %ij=0,3

        } for %j=16,20
                                                      
0 setgray
018 MM 008.2 MM moveto 6 /Times-Roman FS (-8) show
018 MM 006.2 MM moveto 6 /Times-Roman FS (-6) show

276 MM 008.2 MM moveto 6 /Times-Roman FS (-8) show
276 MM 006.2 MM moveto 6 /Times-Roman FS (-6) show

018 MM 202.2 MM moveto 6 /Times-Roman FS (-8) show
018 MM 204.2 MM moveto 6 /Times-Roman FS (-6) show

276 MM 202.2 MM moveto 6 /Times-Roman FS (-8) show
276 MM 204.2 MM moveto 6 /Times-Roman FS (-6) show

0 setgray
12 /Times-ISOL1 FS
61 MM 13 MM  moveto
(TUB\255Pr\374fvorlage IG50; Farbmetrik\255Systeme) showde
(TUB\255test chart IG50; Colorimetric systems) showen
(, Page ) showen
(, Seite ) showde
xchartx 1 add cvishow (/3) show

61 MM 09 MM  moveto %(D65: ) show
(Bunttonkreis und Datentabellen f\374r 16 Buntt\366ne ) showde
(Hue circle and data tables for 16 hues ) showen
12 /TimesI-ISOL1 FS
DEintp 0 eq {(o00y) show}{(r00j) show} ifelse
12 /Times-ISOL1 FS
( bis ) showde ( to ) showen
12 /TimesI-ISOL1 FS
DEintp 0 eq {(m75o) show}{(b75r) show} ifelse

12 /Times-ISOL1 FS
168 MM 13 MM moveto
(    input: ) showen
(Eingabe: ) showde
12 /TimesI-ISOL1 FS
(rgb (->olv*) setrgbcolor) show

12 /Times-ISOL1 FS
168 MM 9 MM moveto
(    output: ) showen
(Ausgabe: ) showde

LSC$ (N) eq {%LSC$=N
             12 /Times-ISOL1 FS
             (no change compared to input) showen
             (keine Eingabe\344nderung) showde
            } if %LSC$=N

LSC$ (S) eq {
(Startup (S) data dependend) showen
(Startup(S)Daten abh\344ngig) showde
            } if
                 
LSC$ (F) eq {
12 /TimesI-ISOL1 FS
             i*ptrsc 0 eq {(cmy0* / 000n* setcmykcolor) show} if
             i*ptrsc 1 eq {xcharti 0 eq {12 /Times-ISOL1 FS
                                         (no change compared to input) showen
                                         (keine Eingabe\344nderung) showde
                                        }
                                        {(->LAB*->cmy0* setcmyk) show
                                        } ifelse
                          } if
             i*ptrsc 2 eq {(cmy0* / nnn0* setcmykcolor) show} if
             i*ptrsc 3 eq {(olv* / www* setrgbcolor) show} if
             i*ptrsc 4 eq {(lab* setcolor) show} if
             i*ptrsc 5 eq {(LAB* setcolor) show} if
             i*ptrsc 6 eq {(000n* setcmykcolor) show} if
             i*ptrsc 7 eq {(w* setgray) show} if
            } if
%0 setgray %end white and unvisible

12 /Times-ISOL1 FS

 62 MM 198.5 MM  moveto
(http://130.149.60.45/~farbmetrik/IG50/IG50L) show
(0) show
LSC$ show LEX$ show

%1 setgray %start white and unvisible
(; ) show
LSC$ (N) eq {
xcharti 0 eq {(Start\255Ausgabe) showde (start output) showen}
             {(Transfer und Ausgabe) showde (transfer and output) showen} ifelse
(start) showes
(start) showfr
(start) showit
(start) showjp
(start) showm
           } if
LSC$ (C) eq {
(Start) showde
(start) showen
(start) showes
(start) showfr
(start) showit
(start) showjp
(start) showm
           } if
LSC$ (F) eq {
xcharti 0 eq {(Start\255Ausgabe) showde (start output) showen}
             {(Linearisierte Ausgabe) showde (linearized output) showen} ifelse
(linearized) showes
(linearized) showfr
(linearized) showit
(linearized) showjp
(linearized) showm
           } if

 62 MM 194 MM  moveto
LSC$ (N) eq LSC$ (C) eq or {
(N: Keine Ausgabe\255Linearisierung (OL) in Datei (F), Startup (S), Ger\344t (D)) showde
(N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showen
(N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showes
(N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showfr
(N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showit
(N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showjp
(N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showm
           }
           {LSC$ show (: ) show
(Linearisierte\255Ausgabe) showde
(linearized output) showen
(linearized output) showes
(linearized output) showfr
(linearized output) showit
(linearized output) showjp
(linearized output) showm
(IG50/IG50L) show
LSS$ show LSX$ show (0) show
LSC$ show LEY$ show
          } ifelse
LSC$ (F) eq {
( in der Datei (F)) showde
( in File (F)) showen
( in File (F)) showes
( in File (F)) showfr
( in File (F)) showit
( in File (F)) showjp
( in File (F)) showm
           } if
LSC$ (S) eq {
( im Distiller Startup (S) Directory) showde
( in Distiller Startup (S) Directory) showen
( in Distiller Startup (S) Directory) showes
( in Distiller Startup (S) Directory) showfr
( in Distiller Startup (S) Directory) showit
( in Distiller Startup (S) Directory) showjp
( in Distiller Startup (S) Directory) showm
           } if
LSC$ (D) eq {
( in PostScript Device (D)) showde
( in PostScript Device (D)) showen
( in PostScript Device (D)) showes
( in PostScript Device (D)) showfr
( in PostScript Device (D)) showit
( in PostScript Device (D)) showjp
( in PostScript Device (D)) showm
           } if
LSC$ (T) eq {
( von Distiller Startup (S) Directory) showde
( of Distiller Startup (S) Directory) showen
( of Distiller Startup (S) Directory) showes
( of Distiller Startup (S) Directory) showfr
( of Distiller Startup (S) Directory) showit
( of Distiller Startup (S) Directory) showjp
( of Distiller Startup (S) Directory) showm
           } if
LSC$ (E) eq {
( von PostScript Device (D)) showde
( of PostScript Device (D)) showen
( of PostScript Device (D)) showes
( of PostScript Device (D)) showfr
( of PostScript Device (D)) showit
( of PostScript Device (D)) showjp
( of PostScript Device (D)) showm
           } if
xcharti 2 ge xcharti 5 le and {(; Separation: ) show
              tzcolv* setrgbcolor (c) show
              tzmolv* setrgbcolor (m) show
              tzyolv* setrgbcolor (y) show
              tznolv* setrgbcolor (n) show
              LSC$ (F) eq {tznolv* setrgbcolor (*) show} if
             } if
%0 setgray %end white and unvisible

 16 MM 185 MM moveto
-90 rotate
(Siehe Original/Kopie: ) showde
(See original or copy: ) showen
(http://web.me.com/klaus.richter/IG50/IG50L) show
(0) show
LSC$ show LEX$ show
90 rotate

 12 MM 185 MM moveto
-90 rotate
(Technische Information: ) showde
(Technical information: ) showen
(http://www.ps.bam.de) show
( or ) showen ( oder ) showde
(http://130.149.60.45/~farbmetrik) show
 90 rotate

281 MM 185 MM moveto
-90 rotate
(TUB\255Registrierung: 20090901\255IG50/IG50L) showde
(TUB registration: 20090901\255IG50/IG50L) showen
(0) show
LSC$ show LEX$ show
90 rotate

281 MM 74 MM moveto
-90 rotate
(TUB\255Material: Code=rha4ta) showde
(TUB material: code=rha4ta) showen
90 rotate

277 MM 185 MM moveto
-90 rotate
/cvishow {cvi 6 string cvs show} def
/cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def

( Anwendung f\374r Ausgabe von) showde
( visuellen Display\255Systemen) showde
( application for output of) showen
( visual display systems) showen

IMES 1 eq LSC$ (N) ne and { %IMES=1
             (, Yr=) show Yre cvsshow1 (, XYZ) show
          } if %IMES=1
90 rotate

/i0 8 def
/i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def
0.30 MM setlinewidth
0 setgray
xx i0 get MM yy i0 get MM moveto xx i1 get MM yy i1 get MM lineto
xx i2 get MM yy i2 get MM lineto xx i3 get MM yy i3 get MM lineto
xx i0 get MM yy i0 get MM lineto stroke

%} if %end if xcharti=0

%/xlu1 013 MM def /ylu1 010 MM def
%/xro1 283 MM def /yro1 200 MM def
%/xlo1 013 MM def /ylo1 200 MM def
%/xru1 283 MM def /yru1 010 MM def

%xlu1 4 MM sub ylu1 moveto  8 MM 0 rlineto stroke
%xlu1 ylu1 4 MM sub moveto 0  8 MM rlineto stroke
%xro1 4 MM add yro1 moveto -8 MM 0 rlineto stroke
%xro1 yro1 4 MM add moveto 0 -8 MM rlineto stroke

%xru1 4 MM sub yru1 moveto  8 MM 0 rlineto stroke
%xru1 yru1 4 MM sub moveto 0  8 MM rlineto stroke
%xlo1 4 MM add ylo1 moveto -8 MM 0 rlineto stroke
%xlo1 ylo1 4 MM add moveto 0 -8 MM rlineto stroke

} ifelse %xt=0,1 ifelse

%} for %output with colorm end
%} for %output with xcolor end
%} for %output with lanind end

%%Trailer

%%EndDocument
EndEPSF grestore gsave
                                                        
showpage
grestore

} for %end for xchartg=xchartg1,xchartg2
%} for %end for pcountg=pcountg1,pcount2g
%} for %end for scountg=scountg1,scount2g

%%Trailer