%!PS-Adobe-3.0 EPSF-3.0 IE770-7N %%BoundingBox: 70 83 800 610 %START PDFDE011.EPS /pdfmark07 where {pop} {userdict /pdfmark07 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://www.ps.bam.de or http://130.149.60.445/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2009090112000) /ModDate (D:2009090112000) /DOCINFO pdfmark07 [ /View [ /FitB ] /DOCVIEW pdfmark07 %END PDFDE011 /ColSpxL 0 def /DEintp 1 def %Early binding /sggray where {pop /slgray {sggray} bind def} {/slgray {setgray} bind def} ifelse /sgcmykcolor where {pop /slcmykcolor {sgcmykcolor} bind def} {/slcmykcolor {setcmykcolor} bind def} ifelse /sgrgbcolor where {pop /slrgbcolor {sgrgbcolor} bind def} {/slrgbcolor {setrgbcolor} bind def} ifelse /ColSpxG where {pop /ColSpx {ColSpxG} bind def} {/ColSpx {ColSpxL} bind def} ifelse /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse } forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse } forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse } forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse } forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIK {250 /TimesI-ISOL1 FS} bind def /TIM {300 /TimesI-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TBK {250 /TimesB-ISOL1 FS} bind def /TBM {300 /TimesB-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBIK {250 /TimesBI-ISOL1 FS} bind def /TBIM {300 /TimesBI-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /CKK {200 /Courier-ISOL1 FS} bind def /CK {250 /Courier-ISOL1 FS} bind def /CM {300 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBKK {200 /CourierB-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def %***************************************************************************** %BEG IE77Y/Y10-7N.EPS, ident. for NP-(*ioL), FP-files (*ioL) 20090901 %***************************************************************************** %Data (FRS09_92a) def /proc_LAB*ioL {%BEG Procedure proc_LAB*ioL %requires ISRL*ioL=0,1,3 /RJGBLAB* 12 array def /RJGBLAB*[ 39.92 58.74 27.99 % R CIE No.09 elementary colours in LAB, D65 81.26 -2.89 71.56 % J CIE No.10 52.23 -42.42 13.60 % G CIE No.11 30.57 1.41 -46.47 % B CIE No.12 ] def /LAB* 132 array def %12x3=36 including N,W + 16x3=48 elementary system + 16x3=48 device system /LAB*a 132 array def /LAB*Hx 13 array def %0_to_6 8_to_12 for device and elemetary colours /LAB*00 24 array def /LAB*01 24 array def /LAB*02 24 array def /LAB*03 24 array def /LAB*04 24 array def /LAB*05 24 array def /LAB*06 24 array def /LAB*07 24 array def /LAB*TE %not used [(ORS18) (TLS00) (FRS06) (TSL18) (NLS00) (NLS18) (SRS18) (TLS70) (TLS00) (TLS06) (TLS11) (TLS18) (TLS27) (TLS38) (TLS52) (TLS70) (OLS00) (OLS06) (OLS11) (OLS18) (OLS27) (OLS38) (OLS52) (OLS70)] def %FRS09_92.DAT: measured data are not dapated here; 55 lines, 141:195 ISRL*ioL 0 eq { %ISRL*ioL=0 /LAB*00 [%D=Device OYLCVMO+NW %for Offset Reflective System (ORS18) %47.94 65.31 52.07 %O 0 %90.37 -11.16 96.17 %Y 1 %50.90 -62.97 36.71 %L 2 %58.62 -30.63 -42.75 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 %25.72 31.45 -44.36 %V 4 %48.13 75.20 -6.80 %M 5 %18.01 0.50 -0.47 %N 7 %95.41 -0.99 4.76 %W 8 %ZE45N_CM_OF_080602_1080.TXT, 1080 colours, 20080602, Matching OFF $ (FRS09_92) %100 x LAB* %#1000 x (r g b c m y 0) %nr. pos $ 0035.06 0060.53 0039.66 %#1000 0000 0000 0000 1000 1000 0000 %0648 S19 %O1 0 $ 0083.77 -004.50 0103.15 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y1 1 $ 0044.13 -062.11 0043.56 %#0000 1000 0000 1000 0000 1000 0000 %0072 I01 %L1 2 $ 0052.66 -028.56 -036.99 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C1 3 $ 0014.15 0050.78 -062.60 %#0000 0000 1000 1000 1000 0000 0000 %0008 A09 %V1 4 $ 0037.37 0079.18 -037.93 %#1000 0000 1000 0000 1000 0000 0000 %0656 S27 %M1 5 $ 0008.58 0000.46 -003.35 %#0000 0000 0000 1000 1000 1000 0000 %0000 A01 %N1 6 $ 0092.02 0000.69 -006.48 %#1000 1000 1000 0000 0000 0000 0000 %0728 a27 %W1 7 $ %$ %0035.87 0060.76 0039.80 %#1000 0000 0000 0000 1000 1000 0000 %0801 j01 %O2 0 $ %0083.76 -004.64 0102.56 %#1000 1000 0000 0000 0000 1000 0000 %0882 j10 %Y2 1 $ %0043.65 -062.07 0043.08 %#0000 1000 0000 1000 0000 1000 0000 %0963 j19 %L2 2 $ %0052.82 -028.73 -036.80 %#0000 1000 1000 1000 0000 0000 0000 %0737 b09 %C2 3 $ %0013.33 0052.23 -063.40 %#0000 0000 1000 1000 1000 0000 0000 %0818 b18 %V2 4 $ %0037.56 0079.25 -037.75 %#1000 0000 1000 0000 1000 0000 0000 %0899 b27 %M2 5 $ %0008.16 0000.62 -003.84 %#0000 0000 0000 1000 1000 1000 0000 %0809 j09 %N2 6 $ %0092.07 0000.62 -006.26 %#1000 1000 1000 0000 0000 0000 0000 %0729 b01 %W2 7 $ %$ %ZE45N_CM_OF_080602_1080.TXT, 1080 colours, 20080602, Matching OFF $ (FRS09_92a) %100 x LAB*a %#1000 x (r g b c m y 0) %nr. pos $ %0035.06 0059.99 0044.01 %#1000 0000 0000 0000 1000 1000 0000 %0648 S19 %O1 0 $ %0083.77 -005.16 0109.32 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y1 1 $ %0044.13 -062.67 0048.25 %#0000 1000 0000 1000 0000 1000 0000 %0072 I01 %L1 2 $ %0052.66 -029.15 -031.98 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C1 3 $ %0014.15 0050.30 -059.03 %#0000 0000 1000 1000 1000 0000 0000 %0008 A09 %V1 4 $ %0037.37 0078.64 -033.49 %#1000 0000 1000 0000 1000 0000 0000 %0656 S27 %M1 5 $ %0008.58 0000.00 0000.00 %#0000 0000 0000 1000 1000 1000 0000 %0000 A01 %N1 6 $ %0092.02 0000.00 0000.00 %#1000 1000 1000 0000 0000 0000 0000 %0728 a27 %W1 7 $ %$ %0035.87 0060.13 0044.44 %#1000 0000 0000 0000 1000 1000 0000 %0801 j01 %O2 0 $ %0083.76 -005.27 0108.59 %#1000 1000 0000 0000 0000 1000 0000 %0882 j10 %Y2 1 $ %0043.65 -062.69 0047.95 %#0000 1000 0000 1000 0000 1000 0000 %0963 j19 %L2 2 $ %0052.82 -029.35 -031.67 %#0000 1000 1000 1000 0000 0000 0000 %0737 b09 %C2 3 $ %0013.33 0051.60 -059.41 %#0000 0000 1000 1000 1000 0000 0000 %0818 b18 %V2 4 $ %0037.56 0078.62 -033.06 %#1000 0000 1000 0000 1000 0000 0000 %0899 b27 %M2 5 $ %0008.16 0000.00 0000.00 %#0000 0000 0000 1000 1000 1000 0000 %0809 j09 %N2 6 $ %0092.07 0000.00 0000.00 %#1000 1000 1000 0000 0000 0000 0000 %0729 b01 %W2 7 $ %$ ] def %OYLCVMO+NW /LAB*01 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS00) 50.50 76.92 64.55 %O 0 92.66 -20.70 90.75 %Y 1 83.63 -82.76 79.90 %L 2 86.88 -46.17 -13.56 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 30.39 76.06 -103.6 %V 4 corected 57.30 94.35 -58.42 %M 5 corected 00.01 0.00 0.00 %N 7 corected 95.41 0.00 0.00 %W 8 ] def %OYLCVMO+NW /LAB*02 [%D=Device OYLCVMO+NW %for Device Reflective System (FRS06. FUJI) 32.57 61.14 43.72 %8-0-0 O-W 0 olv* setrgbcolor 64 82.73 -3.51 109.24 %8-8-0 Y-W 1 olv* setrgbcolor 32 39.43 -62.87 42.80 %0-8-0 L-W 2 olv* setrgbcolor 80 47.86 -27.73 -37.62 %0-8-8 C-W 3 olv* setrgbcolor 0 actual printer 10.16 53.56 -62.92 %0-0-8 V-W 4 olv* setrgbcolor 96 34.50 79.53 -36.77 %8-0-8 M-W 5 olv* setrgbcolor 16 06.25 -1.63 -1.73 %0-0-0 N-W 6 olv* setrgbcolor 48 91.97 -0.18 -5.11 %8-8-8 A-W 7 olv* setrgbcolor ] def %OYLCVMO+NW /LAB*03 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS18) 52.76 71.63 49.88 %O 0 92.74 -20.03 84.97 %Y 1 84.00 -78.99 73.94 %L 2 87.14 -44.42 -13.12 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 35.47 64.92 -95.07 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 59.01 89.33 -55.68 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 18.01 0.00 0.00 %N 6 Yr=2.52 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*04 [%Natural symmetric Luminous System OYLCVMO+NW (NLS00) 31.81 82.62 47.70 %O 0 95.40/2 = 47.70 63.61 00.00 95.40 %Y 1 C*ab = 95.40 31.81 -82.62 47.70 %L 2 0.866 C*ab = 0.866 * 95.40 = 82.62 63.61 -82.62 -47.70 %C 3 delta L*=25.8 31.81 00.00 -95.40 %V 4 43.81=00.01+31.80 63.61 82.62 -47.70 %M 5 69.61=00.01+2*31.80 00.01 0.00 0.00 %N 6 95.40/3 = 31.80 95.41 0.00 0.00 %W 7 95.40*(2/3) = 63.60 ] def %CVMOYLC+NW /LAB*05 [%Natural symmetric Luminous System OYLCVMO+NW (NLS18) 43.81 67.03 38.70 %O 0 77.40/2 = 38.70 69.61 00.00 77.40 %Y 1 C*ab = 77.40 43.81 -67.03 38.70 %L 2 0.866 C*ab = 67.03 69.61 -67.03 -38.70 %C 3 delta L*=25.8 43.81 00.00 -77.40 %V 4 43.81=18.01+25.80 69.61 67.03 -38.70 %M 5 69.61=18.01+2*25.80 18.01 0.00 0.00 %N 6 18.01+77.40/3 = 18.01+25.80=43.81 95.41 0.00 0.00 %W 7 18.01+77.40*(2/3) = 18.01+51.60=69.61 ] def %CVMOYLC+NW /LAB*06 [%Symmetric Reflective System OYLCVMO+NW (SRS18) 56.71 67.03 38.70 %O 0 18.01 + 77.40*0.5 = 18.01 + 38.70 = 56.71 56.71 00.00 77.40 %Y 1 C*ab = 77.40 56.71 -67.03 38.70 %L 2 0.866 C*ab = 67.03 56.71 -67.03 -38.70 %C 3 delta L*=25.8 56.71 00.00 -77.40 %V 4 43.81=18.01+25.80 56.71 67.03 -38.70 %M 5 69.61=18.01+2*25.80 18.01 0.00 0.00 %N 6 95.41 0.00 0.00 %W 7 95.41=18.01+3*25.80 ] def %CVMOYLC+NW /LAB*07 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS70) 76.43 26.27 10.57 %O 0 93.93 -10.77 34.63 %Y 1 89.32 -35.81 27.64 %L 2 90.93 -21.96 -7.08 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 72.10 15.76 -35.64 %V 4 78.50 37.52 -25.24 %M 5 69.70 0.00 0.00 %N 6 Yr=40.32 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW } if %ISRL*ioL=0 ISRL*ioL 1 eq { %ISRL*ioL=1 /LAB*00 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS00) 50.50 76.91 64.55 %O 0 92.66 -20.68 90.75 %Y 1 83.62 -82.74 79.90 %L 2 86.88 -46.15 -13.54 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 30.39 76.06 -103.6 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 57.31 94.35 -58.40 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 00.01 0.00 0.00 %N 6 Yr=0.00 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*01 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS06) 51.08 75.54 59.69 %O 0 92.68 -20.51 89.24 %Y 1 83.72 -81.79 78.32 %L 2 86.94 -45.72 -13.43 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 31.77 72.91 -101.3 %V 4 57.74 93.06 -57.71 %M 5 05.69 0.00 0.00 %N 6 Yr=0.63 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*02 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS11) 51.65 74.20 55.83 %O 0 92.70 -20.35 87.77 %Y 1 83.81 -80.85 76.81 %L 2 87.01 -45.28 -13.33 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 33.06 70.03 -99.09 %V 4 58.17 91.80 -57.03 %M 5 10.99 0.00 0.00 %N 6 Yr=1.26 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*03 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS18) 52.76 71.63 49.88 %O 0 92.74 -20.03 84.97 %Y 1 84.00 -78.99 73.94 %L 2 87.14 -44.42 -13.12 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 35.47 64.92 -95.07 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 59.01 89.33 -55.68 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 18.01 0.00 0.00 %N 6 Yr=2.52 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*04 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS27) 54.88 66.84 41.69 %O 0 92.82 -19.39 79.81 %Y 1 84.37 -75.39 68.76 %L 2 87.40 -42.72 -12.70 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 39.70 56.66 -88.02 %V 4 60.64 84.61 -53.08 %M 5 26.85 0.00 0.00 %N 6 Yr=5.04 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*05 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS38) 58.77 58.45 31.73 %O 0 92.98 -18.11 70.81 %Y 1 85.11 -68.58 60.02 %L 2 87.92 -39.42 -11.87 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 46.64 44.93 -76.56 %V 4 63.71 75.92 -48.22 %M 5 37.99 0.00 0.00 %N 6 Yr=10.08 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*06 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS52) 65.53 45.06 20.98 %O 0 93.30 -15.61 56.27 %Y 1 86.55 -56.31 46.52 %L 2 88.94 -33.19 -10.24 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 57.17 30.66 -59.40 %V 4 69.22 60.95 -39.57 %M 5 52.02 0.00 0.00 %N 6 Yr=20.16 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*07 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS70) 76.43 26.27 10.57 %O 0 93.93 -10.77 34.63 %Y 1 89.32 -35.81 27.64 %L 2 90.93 -21.96 -7.08 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 72.10 15.76 -35.64 %V 4 78.50 37.52 -25.24 %M 5 69.70 0.00 0.00 %N 6 Yr=40.32 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW } if %ISRL*ioL=1 ISRL*ioL 2 eq { %ISRL*ioL=2 /LAB*00 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS00) 45.14 71.37 75.54 %O 0 90.22 -10.60 99.51 %Y 1 48.45 -73.19 42.21 %L 2 56.88 -33.11 -47.41 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 16.48 45.84 -56.22 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 45.36 81.85 -9.29 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 00.01 0.00 0.00 %N 6 Yr=0.00 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*01 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS06) 45.87 69.79 66.99 %O 0 90.25 -10.51 97.42 %Y 1 49.08 -70.28 40.08 %L 2 57.33 -32.38 -46.80 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 19.26 40.73 -52.47 %V 4 46.07 80.12 -9.04 %M 5 05.69 0.00 0.00 %N 6 Yr=0.63 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*02 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS11) 46.57 68.27 59.62 %O 0 90.29 -10.43 95.45 %Y 1 49.70 -67.60 38.19 %L 2 57.76 -31.68 -46.19 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 21.67 36.81 -49.37 %V 4 46.77 78.45 -8.80 %M 5 10.99 0.00 0.00 %N 6 Yr=1.26 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*03 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS18) 47.94 65.39 50.52 %O 0 90.37 -10.26 91.75 %Y 1 50.90 -62.83 34.96 %L 2 58.62 -30.34 -45.01 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 25.72 31.10 -44.40 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 48.13 75.28 -8.36 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 18.01 0.00 0.00 %N 6 Yr=2.52 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*04 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS27) 50.51 60.17 40.13 %O 0 90.52 -9.92 85.20 %Y 1 53.18 -55.04 30.00 %L 2 60.28 -27.91 -42.75 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 32.06 24.02 -37.32 %V 4 50.68 69.50 -7.57 %M 5 26.85 0.00 0.00 %N 6 Yr=5.04 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*05 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS38) 55.13 51.42 29.16 %O 0 90.83 -9.25 74.37 %Y 1 57.35 -43.84 23.35 %L 2 63.39 -23.83 -38.56 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 41.26 16.67 -28.49 %V 4 55.27 59.74 -6.32 %M 5 37.99 0.00 0.00 %N 6 Yr=10.08 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*06 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS52) 62.90 38.38 18.55 %O 0 91.44 -7.95 57.91 %Y 1 64.49 -30.06 15.67 %L 2 68.98 -17.74 -31.24 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 53.87 10.09 -18.84 %V 4 63.00 44.96 -4.56 %M 5 52.02 0.00 0.00 %N 6 Yr=20.16 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*07 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS70) 75.01 21.53 9.07 %O 0 92.64 -5.45 34.85 %Y 1 75.86 -15.50 7.96 %L 2 78.37 -9.90 -19.51 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 70.54 4.74 -9.47 %V 4 75.07 25.47 -2.46 %M 5 69.70 0.00 0.00 %N 6 Yr=40.32 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW } if %ISRL*ioL=2 0 1 11 {/sISO exch def %sISO=0,11 /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def sISO 7 le { %sISO=0,7 ISIO*ioL 0 eq { %ORS18/TLS00/OLS00 LAB* i30 LAB*00 i30 get put LAB* i31 LAB*00 i31 get put LAB* i32 LAB*00 i32 get put } if ISIO*ioL 1 eq { %TLS00/TLS06/OLS06 LAB* i30 LAB*01 i30 get put LAB* i31 LAB*01 i31 get put LAB* i32 LAB*01 i32 get put } if ISIO*ioL 2 eq { %FRS06/TLS11/OLS11 LAB* i30 LAB*02 i30 get put LAB* i31 LAB*02 i31 get put LAB* i32 LAB*02 i32 get put } if ISIO*ioL 3 eq { %TLS18/TLS18/OLS18 LAB* i30 LAB*03 i30 get put LAB* i31 LAB*03 i31 get put LAB* i32 LAB*03 i32 get put } if ISIO*ioL 4 eq { %NLS00/TSL28/OLS28 LAB* i30 LAB*04 i30 get put LAB* i31 LAB*04 i31 get put LAB* i32 LAB*04 i32 get put } if ISIO*ioL 5 eq { %NRS18/TLS38/OLS38 LAB* i30 LAB*05 i30 get put LAB* i31 LAB*05 i31 get put LAB* i32 LAB*05 i32 get put } if ISIO*ioL 6 eq { %SRS18/TLS50/OLS50 LAB* i30 LAB*06 i30 get put LAB* i31 LAB*06 i31 get put LAB* i32 LAB*06 i32 get put } if ISIO*ioL 7 eq { %TLS70/TLS70/OLS70 LAB* i30 LAB*07 i30 get put LAB* i31 LAB*07 i31 get put LAB* i32 LAB*07 i32 get put } if } %sISO=0,7 {%sISO=8,11 %Definition 8 to 11 (24 to 35=33+2) /jISO sISO 8 sub def /j30 jISO 3 mul def /j31 j30 1 add def /j32 j30 2 add def LAB* i30 RJGBLAB* j30 get put LAB* i31 RJGBLAB* j31 get put LAB* i32 RJGBLAB* j32 get put LAB*a i30 LAB* i30 get put LAB*a i31 LAB* i31 get put LAB*a i32 LAB* i32 get put } ifelse } for %sISO=0,11 % possible change of LAB*a according to reduced gamut %LAB* = 20 for Black N %LAB* = 95 for White W %cfakt = (95 - 20)/(95.41 - 18.01) = 0.969 %LAB*L*Nn = 20 for Black N instead of LAB*L*N = 18,01 %LAB*L*Wn = 95 for White W instead of LAB*L*W = 95,41 %LAB*L*Zn = 20+(95-20)/2=57,5 for Grey Z instead of %LAB*L*Z = 18,01+(95,41-18,01)/2=56,71 %L*neu = L*alt + (1 - cfakt %For achromatic %deltaLmean = 57,5 (1-c*neu); 56,71 (1-c*alt) %deltaLmimu = 20,0 (1-c*neu); 18,01 (1-c*alt) %deltaLplus = 95,0 (1-c*neu); 95,41 (1-c*alt) %For chromatic M %deltaLmean = L*Ma,neu; L*Ma,alt = known %C*Ma,alt known, C*Ma,neu known /L*Nio LAB* 18 get def /A*Nio LAB* 19 get def /B*Nio LAB* 20 get def /L*Wio LAB* 21 get def /A*Wio LAB* 22 get def /B*Wio LAB* 23 get def /L*Wioref 92.0 def /L*Nioref 09.0 def /cfakt 1 def %/cfakt L*Wioref L*Nioref sub L*Wio L*Nio sub div def cfakt 1 ne {%cfakt#1 %change of lightness for Maximum colour /l*CIEN L*Nioref L*Nio sub L*Wio L*Nio sub div def /l*CIEW L*Wioref L*Nio sub L*Wio L*Nio sub div def LAB* 18 L*Nioref put %defined change of lightness and chroma a*,b* for N LAB* 19 A*Nio A*Wio A*Nio sub l*CIEN mul add put LAB* 20 B*Nio B*Wio B*Nio sub l*CIEN mul add put LAB* 21 L*Wioref put %defined change of lightness and chroma a*,b* for W LAB* 22 A*Nio A*Wio A*Nio sub l*CIEW mul add put LAB* 23 B*Nio B*Wio B*Nio sub l*CIEW mul add put %change of chroma by factor cfakt 0 1 07 {/iISO exch def /i30 iISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def LAB* i30 LAB* i30 get put LAB* i31 LAB* i31 get cfakt mul put LAB* i32 LAB* i32 get cfakt mul put } for } if %cfakt#1 /L*Nior LAB* 18 get def %r=reference for reverse transform /A*Nior LAB* 19 get def /B*Nior LAB* 20 get def /L*Wior LAB* 21 get def /A*Wior LAB* 22 get def /B*Wior LAB* 23 get def 0 1 7 {/iISO exch def %iISO=0,7 /i30 iISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def /l*CIE LAB* i30 get L*Nior sub L*Wior L*Nior sub div def /a*sr A*Wior A*Nior sub l*CIE mul def /b*sr B*Wior B*Nior sub l*CIE mul def LAB*a i30 LAB* i30 get put LAB*a i31 LAB* i31 get A*Nior sub a*sr sub put LAB*a i32 LAB* i32 get B*Nior sub b*sr sub put } for /L*Nio LAB*a 18 get def %=18.01 /A*Nio LAB*a 19 get def %=0 /B*Nio LAB*a 20 get def %=0 /L*Wio LAB*a 21 get def %=95.41 /A*Wio LAB*a 22 get def %=0 /B*Wio LAB*a 23 get def %=0 /A*Dio A*Wio A*Nio sub def %=0 /B*Dio B*Wio B*Nio sub def %=0 /cLAB*s0 3 array def %C cyan blue /vLAB*s0 3 array def %V violet blue /mLAB*s0 3 array def %M magenta red /oLAB*s0 3 array def %O orange red /yLAB*s0 3 array def %Y yellow /lLAB*s0 3 array def %L leaf green /nLAB*s0 3 array def %N black /wLAB*s0 3 array def %W white /rLAB*s0 3 array def %R elementary red /jLAB*s0 3 array def %J elementary yellow /gLAB*s0 3 array def %G elementary green /bLAB*s0 3 array def %B elementary blue %Determine Matrix data input or output data oLAB*s0 0 LAB*a 0 get L*Nio sub put oLAB*s0 1 LAB*a 1 get put oLAB*s0 2 LAB*a 2 get put yLAB*s0 0 LAB*a 3 get L*Nio sub put yLAB*s0 1 LAB*a 4 get put yLAB*s0 2 LAB*a 5 get put lLAB*s0 0 LAB*a 6 get L*Nio sub put lLAB*s0 1 LAB*a 7 get put lLAB*s0 2 LAB*a 8 get put cLAB*s0 0 LAB*a 9 get L*Nio sub put cLAB*s0 1 LAB*a 10 get put cLAB*s0 2 LAB*a 11 get put vLAB*s0 0 LAB*a 12 get L*Nio sub put vLAB*s0 1 LAB*a 13 get put vLAB*s0 2 LAB*a 14 get put mLAB*s0 0 LAB*a 15 get L*Nio sub put mLAB*s0 1 LAB*a 16 get put mLAB*s0 2 LAB*a 17 get put nLAB*s0 0 LAB*a 18 get L*Nio sub put nLAB*s0 1 LAB*a 19 get put nLAB*s0 2 LAB*a 20 get put wLAB*s0 0 LAB*a 21 get L*Nio sub put wLAB*s0 1 LAB*a 22 get put wLAB*s0 2 LAB*a 23 get put rLAB*s0 0 LAB*a 24 get L*Nio sub put rLAB*s0 1 LAB*a 25 get put rLAB*s0 2 LAB*a 26 get put jLAB*s0 0 LAB*a 27 get L*Nio sub put jLAB*s0 1 LAB*a 28 get put jLAB*s0 2 LAB*a 29 get put gLAB*s0 0 LAB*a 30 get L*Nio sub put gLAB*s0 1 LAB*a 31 get put gLAB*s0 2 LAB*a 32 get put bLAB*s0 0 LAB*a 33 get L*Nio sub put bLAB*s0 1 LAB*a 34 get put bLAB*s0 2 LAB*a 35 get put % Determine the input or output angle in the A* B* plane % of each of the colours defined above /C*Ang cLAB*s0 2 get cLAB*s0 1 get 0.0001 add atan def /V*Ang vLAB*s0 2 get vLAB*s0 1 get 0.0001 add atan def /M*Ang mLAB*s0 2 get mLAB*s0 1 get 0.0001 add atan def /O*Ang oLAB*s0 2 get oLAB*s0 1 get 0.0001 add atan def /Y*Ang yLAB*s0 2 get yLAB*s0 1 get 0.0001 add atan def /L*Ang lLAB*s0 2 get mLAB*s0 1 get 0.0001 add atan def /N*Ang 0 def /W*Ang 0 def /R*Ang rLAB*s0 2 get rLAB*s0 1 get 0.0001 add atan def /J*Ang jLAB*s0 2 get jLAB*s0 1 get 0.0001 add atan def /G*Ang gLAB*s0 2 get gLAB*s0 1 get 0.0001 add atan def /B*Ang bLAB*s0 2 get bLAB*s0 1 get 0.0001 add atan def %6+1 hue angles for 6 device colour (index 0 to 06) %4+1 hue angles for 4 elementary colours (index 8 to 12) %no. 6 and 7 originaly achromatic 0 1 11 {/iHx exch def /i1x iHx 3 mul 1 add def /i2x i1x 1 add def LAB*Hx iHx LAB*a i2x get LAB*a i1x get 0.000001 add atan put } for LAB*Hx 06 LAB*Hx 00 get 360 add put LAB*Hx 12 LAB*Hx 08 get 360 add put %6 Hue angles of elementary and intermediate colours e=RJGCgbBMbr /LAB*He 7 array def LAB*He 0 LAB*Hx 08 get put %R LAB*He 1 LAB*Hx 09 get put %J LAB*He 2 LAB*Hx 10 get put %G LAB*He 3 LAB*Hx 10 get LAB*Hx 11 get add 0.5 mul put %Cgb LAB*He 4 LAB*Hx 11 get put %B LAB*He 5 LAB*Hx 11 get LAB*Hx 08 get 360 add add 0.5 mul put %Mbr LAB*He 6 LAB*Hx 08 get 360 add put %R(+360) %6 Hue angles of device and intermediate colours d=OYLCVMO /LAB*Hd 7 array def LAB*Hd 0 LAB*Hx 00 get put %O LAB*Hd 1 LAB*Hx 01 get put %Y LAB*Hd 2 LAB*Hx 02 get put %L LAB*Hd 3 LAB*Hx 03 get put %C LAB*Hd 4 LAB*Hx 04 get put %V LAB*Hd 5 LAB*Hx 05 get put %M LAB*Hd 6 LAB*Hx 00 get 360 add put %O(+360) /ColeiNames 16 array def /ColeiNames [(r00j) (r25j) (r50j) (r75j) (j00g) (j25g) (j50g) (j75g) (g00b) (g25b) (g50b) (g75b) (b00r) (b25r) (b50r) (b75r) ] def /ColdiNames 16 array def /ColdiNames [(o00y) (o25y) (o50y) (o75y) (y00l) (y25l) (y50l) (y75l) (l00c) (l50c) (c00v) (c50v) (v00m) (v50m) (m00o) (m50o) ] def /L*diMa 16 array def %LAB*diMa /A*diMa 16 array def /B*diMa 16 array def /o3*ddiMa 16 array def %olv3*ddiMa /l3*ddiMa 16 array def /v3*ddiMa 16 array def /u*ddiMa1 16 array def %u*ddiMax /u*ddiMai 16 array def /u*ddiMa2 16 array def /o3*deiMa 16 array def %olv3*deiMa /l3*deiMa 16 array def /v3*deiMa 16 array def /u*deiMa1 16 array def %u*deiMax /u*deiMai 16 array def /u*deiMa2 16 array def /L*eiMa 16 array def %LAB*eiMa /A*eiMa 16 array def /B*eiMa 16 array def /o3*eeiMa 16 array def %olv3*eeiMa /l3*eeiMa 16 array def /v3*eeiMa 16 array def /u*eeiMa1 16 array def %u*eeiMax /u*eeiMai 16 array def /u*eeiMa2 16 array def /o3*ediMa 16 array def %olv3*ediMa /l3*ediMa 16 array def /v3*ediMa 16 array def /u*ediMa1 16 array def %u*ediMax /u*ediMai 16 array def /u*ediMa2 16 array def %/L*xiMa 16 array def %LAB*xiMa x=d/e %/A*xiMa 16 array def %/B*xiMa 16 array def %/o3*xxiMa 16 array def %olv3*xxiMa xx=dd/ee %/l3*xxiMa 16 array def %/v3*xxiMa 16 array def /u*xxiMa1 16 array def %u*xxiMax xx=dd/ee /u*xxiMai 16 array def /u*xxiMa2 16 array def %/o3*xyiMa 16 array def %olv3*xxiMa xy=de/ed %/l3*xyiMa 16 array def %/v3*xyiMa 16 array def %/u*xyiMa1 16 array def %u*xxiMax xy=de/ed %/u*xyiMai 16 array def %/u*xyiMa2 16 array def %Definition LAB*diMa, olv3*deiMa, u*deiMax (all 00 to 15) by equal device (d) hue angle difference %between O and Y, Y and L, L and C, C and V, V and M, and M and O %Definition of OYLCVMO, 4 steps between OYL, 2 steps between LCVMO 0 1 15 {/iinx exch def %iinx=0,15 %define device hue angle H*M of 16 hues iinx 00 eq {/H*M LAB*a 0 3 mul 2 add get LAB*a 0 3 mul 1 add get atan def} if iinx 01 eq {/H*M LAB*a 0 3 mul 2 add get LAB*a 0 3 mul 1 add get atan 0.75 mul LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan 0.25 mul add def} if iinx 02 eq {/H*M LAB*a 0 3 mul 2 add get LAB*a 0 3 mul 1 add get atan 0.50 mul LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan 0.50 mul add def} if iinx 03 eq {/H*M LAB*a 0 3 mul 2 add get LAB*a 0 3 mul 1 add get atan 0.25 mul LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan 0.75 mul add def} if iinx 04 eq {/H*M LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan def} if iinx 05 eq {/H*M LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan 0.75 mul LAB*a 2 3 mul 2 add get LAB*a 2 3 mul 1 add get atan 0.25 mul add def} if iinx 06 eq {/H*M LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan 0.50 mul LAB*a 2 3 mul 2 add get LAB*a 2 3 mul 1 add get atan 0.50 mul add def} if iinx 07 eq {/H*M LAB*a 1 3 mul 2 add get LAB*a 1 3 mul 1 add get atan 0.25 mul LAB*a 2 3 mul 2 add get LAB*a 2 3 mul 1 add get atan 0.75 mul add def} if iinx 08 eq {/H*M LAB*a 2 3 mul 2 add get LAB*a 2 3 mul 1 add get atan def} if iinx 09 eq {/H*M LAB*a 2 3 mul 2 add get LAB*a 2 3 mul 1 add get atan 0.5 mul LAB*a 3 3 mul 2 add get LAB*a 3 3 mul 1 add get atan 0.5 mul add def} if iinx 10 eq {/H*M LAB*a 3 3 mul 2 add get LAB*a 3 3 mul 1 add get atan def} if iinx 11 eq {/H*M LAB*a 3 3 mul 2 add get LAB*a 3 3 mul 1 add get atan 0.5 mul LAB*a 4 3 mul 2 add get LAB*a 4 3 mul 1 add get atan 0.5 mul add def} if iinx 12 eq {/H*M LAB*a 4 3 mul 2 add get LAB*a 4 3 mul 1 add get atan def} if iinx 13 eq {/H*M LAB*a 4 3 mul 2 add get LAB*a 4 3 mul 1 add get atan 0.5 mul LAB*a 5 3 mul 2 add get LAB*a 5 3 mul 1 add get atan 0.5 mul add def} if iinx 14 eq {/H*M LAB*a 5 3 mul 2 add get LAB*a 5 3 mul 1 add get atan def} if iinx 15 eq {/H*M LAB*a 5 3 mul 2 add get LAB*a 5 3 mul 1 add get atan 0.5 mul LAB*a 0 3 mul 2 add get LAB*a 0 3 mul 1 add get atan 360 add 0.5 mul add def} if proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioL %stores LAB*diMa L*diMa iinx L*Ma put A*diMa iinx A*Ma put B*diMa iinx B*Ma put %stores olv3*ddiMa o3*ddiMa iinx o3*ddMa put l3*ddiMa iinx l3*ddMa put v3*ddiMa iinx v3*ddMa put %stores u*ddiMax u*ddiMa1 iinx u*ddMa1 put u*ddiMai iinx u*ddMai put u*ddiMa2 iinx u*ddMa2 put %stores olv3*deiMa o3*deiMa iinx o3*deMa put l3*deiMa iinx l3*deMa put v3*deiMa iinx v3*deMa put %stores u*deiMax u*deiMa1 iinx u*deMa1 put u*deiMai iinx u*deMai put u*deiMa2 iinx u*deMa2 put } for %iinx=0,15 %Definition LAB*eiMa, olv3*ediMa, u*ediMax (all 00 to 15) by equal elementary (e) hue angle difference %between R and J, J and G, G and B, and B and R 0 1 03 {/ik exch def %ik=0,3 /H*1 RJGBLAB* ik 3 mul 2 add get RJGBLAB* ik 3 mul 1 add get 0.00001 add atan def ik 2 le {/ik2b ik 3 mul 5 add def} {/ik2b 2 def} ifelse /ik2a ik2b 1 sub def /H*2 RJGBLAB* ik2b get RJGBLAB* ik2a get 0.00001 add atan def ik 3 eq {/H*2 H*2 360 add def} if 0 1 03 {/ij exch def %ij=1,3 ij 0 eq {/a0 1.00 def /b0 0.00 def} if ij 1 eq {/a0 0.75 def /b0 0.25 def} if ij 2 eq {/a0 0.50 def /b0 0.50 def} if ij 3 eq {/a0 0.25 def /b0 0.75 def} if /H*M a0 H*1 mul b0 H*2 mul add def H*M 360 ge {/H*M H*M 360 sub def} if proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioL /iinx ik 4 mul ij add def %stores LAB*eiMa L*eiMa iinx L*Ma put A*eiMa iinx A*Ma put B*eiMa iinx B*Ma put %stores olv3*eeiMa o3*eeiMa iinx o3*deMa put l3*eeiMa iinx l3*deMa put v3*eeiMa iinx v3*deMa put %stores u*eeiMax u*eeiMa1 iinx u*deMa1 put u*eeiMai iinx u*deMai put u*eeiMa2 iinx u*deMa2 put %stores olv3*ediMa o3*ediMa iinx o3*ddMa put l3*ediMa iinx l3*ddMa put v3*ediMa iinx v3*ddMa put %stores u*eeiMax u*ediMa1 iinx u*ddMa1 put u*ediMai iinx u*ddMai put u*ediMa2 iinx u*ddMa2 put } for %ik=0,3 } for %ij=0,3 0 1 15 {/i exch def %i=0,15 %L*xiMa i DEintp 0 eq {L*diMa}{L*eiMa} ifelse i get put %LAB*xiMa x=d/e %A*xiMa i DEintp 0 eq {A*diMa}{A*eiMa} ifelse i get put %B*xiMa i DEintp 0 eq {B*diMa}{B*eiMa} ifelse i get put %o3*xxiMa i DEintp 0 eq {o3*ddiMa}{o3*eeiMa} ifelse i get put %olv3*xxiMa xx=dd/ee %l3*xxiMa i DEintp 0 eq {l3*ddiMa}{l3*eeiMa} ifelse i get put %v3*xxiMa i DEintp 0 eq {v3*ddiMa}{v3*eeiMa} ifelse i get put u*xxiMa1 i DEintp 0 eq {u*ddiMa1}{u*eeiMa1} ifelse i get put %u*xxiMax xx=dd/ee u*xxiMai i DEintp 0 eq {u*ddiMai}{u*eeiMai} ifelse i get put u*xxiMa2 i DEintp 0 eq {u*ddiMa2}{u*eeiMa2} ifelse i get put %o3*xyiMa i DEintp 0 eq {o3*deiMa}{o3*ediMa} ifelse i get put %olv3*xxiMa xy=de/ed %l3*xyiMa i DEintp 0 eq {l3*deiMa}{l3*ediMa} ifelse i get put %v3*xyiMa i DEintp 0 eq {v3*deiMa}{v3*ediMa} ifelse i get put %u*xyiMa1 i DEintp 0 eq {u*deiMa1}{u*ediMa1} ifelse i get put %u*xxiMax xy=de/ed %u*xyiMai i DEintp 0 eq {u*deiMai}{u*ediMai} ifelse i get put %u*xyiMa2 i DEintp 0 eq {u*deiMa2}{u*ediMa2} ifelse i get put } for %i=0,15 } bind def %END Procedure proc_LAB*ioL %*********************************************************** /proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioL { %BEG procedure proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioL %only for calculation without hue tables %input H*M (only hue (H) of Fa/Ma) %input LAB*a (6 adapted colours OYLCVM) %input nLAB*s0 (colour Black N for calculation of lab*l) %input wLAB*s0 (colour White W for achromatic axis) %output LAB*Ma %output olvi3*Ma %output cmyn3*Ma /L*Ha 50 def /A*Ha 75 H*M cos mul def /B*Ha 75 H*M sin mul def /UXF1a wLAB*s0 1 get B*Ha mul wLAB*s0 2 get A*Ha mul sub def /UXF2a wLAB*s0 2 get L*Ha mul wLAB*s0 0 get B*Ha mul sub def /UXF3a wLAB*s0 0 get A*Ha mul wLAB*s0 1 get L*Ha mul sub def /T1 0 def /T2 0 def 0 1 5 {/ia exch def /ia30 ia 3 mul def ia 5 eq {/ia31 0 def} {/ia31 ia30 3 add def} ifelse /T1 LAB*a ia30 get UXF1a mul LAB*a ia30 1 add get UXF2a mul add LAB*a ia30 2 add get UXF3a mul add def /T2 LAB*a ia31 get UXF1a mul LAB*a ia31 1 add get UXF2a mul add LAB*a ia31 2 add get UXF3a mul add def T1 0 le {/T1X (N) def} {/T1X (P) def} ifelse T2 0 gt {/T2X (P) def} {/T2X (N) def} ifelse T1 0 le T2 0 gt and {/ia3END ia30 def exit} if } for /L*11a LAB*a ia3END get def /A*11a LAB*a ia3END 1 add get def /B*11a LAB*a ia3END 2 add get def ia3END 15 ge {/ia3END -3 def} if /L*21a LAB*a ia3END 3 add get def /A*21a LAB*a ia3END 4 add get def /B*21a LAB*a ia3END 5 add get def /NENNER L*21a L*11a sub UXF1a mul A*21a A*11a sub UXF2a mul add B*21a B*11a sub UXF3a mul add def /ZAEHLE L*21a UXF1a mul A*21a UXF2a mul add B*21a UXF3a mul add def NENNER 0 ne {/ALPH ZAEHLE NENNER div def} {/ALPH 99999} ifelse /L*Ma ALPH L*11a mul 1 ALPH sub L*21a mul add def /A*Ma ALPH A*11a mul 1 ALPH sub A*21a mul add def /B*Ma ALPH B*11a mul 1 ALPH sub B*21a mul add def /C*Ma A*Ma dup mul B*Ma dup mul add 0.000001 add sqrt def /H*Ma B*Ma A*Ma atan def /H*abd B*Ha A*Ha 0.0001 add atan def /H*abe H*abd def %faktor and section in actual System (for example ORS18) /jsecd -1 def %main equations %faktd = [col_angh - LAB*Hd(n)]/[LAB*Hd(n+1) - LAB*Hd(n)] %col_angh = faktd [LAB*Hd(n+1) - LAB*Hd(n)] + LAB*Hd(n) H*abd LAB*Hd 0 get lt {/H*abd H*abd 360 add def} if 0 1 5 {/nx exch def /np nx 1 add def H*abd LAB*Hd nx get ge H*abd LAB*Hd np get lt and {/jsecd nx def /faktd H*abd LAB*Hd nx get sub LAB*Hd np get LAB*Hd nx get sub div def} if } for %nx=0,5 %1 0 0 %O jsecd=0 %1 1 0 %Y jsecd=1 %0 1 0 %L jsecd=2 %0 1 1 %C jsecd=3 %0 0 1 %V jsecd=4 %1 0 1 %M jsecd=5 jsecd -1 eq {STOPjsecd} if /fakmd 1 faktd sub def /o3*ddMa -1 def /l3*ddMa -1 def /v3*ddMa -1 def jsecd 0 eq {%sector O->Y, o3*=1, l3*=0->1, v3*=0 /o3*ddMa 1 def /l3*ddMa faktd def /v3*ddMa 0 def /u*ddMa1 (o) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (y) def} if jsecd 1 eq {%sector Y->L, o3*=1->0, l3*=1, v3*=0 /o3*ddMa fakmd def /l3*ddMa 1 def /v3*ddMa 0 def /u*ddMa1 (y) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (l) def} if jsecd 2 eq {%sector L->C, o3*=0, l3*=1, v3*=0->1 /o3*ddMa 0 def /l3*ddMa 1 def /v3*ddMa faktd def /u*ddMa1 (l) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (c) def} if jsecd 3 eq {%sector C->V, o3*=0, l3*=0->1, v3*=1 /o3*ddMa 0 def /l3*ddMa fakmd def /v3*ddMa 1 def /u*ddMa1 (c) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (v) def} if jsecd 4 eq {%sector V->M, o3*=0->1, l3*=0, v3*=1 /o3*ddMa faktd def /l3*ddMa 0 def /v3*ddMa 1 def /u*ddMa1 (v) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (m) def} if jsecd 5 eq {%sector M->O, o3*=1, l3*=0, v3*=1->0 /o3*ddMa 1 def /l3*ddMa 0 def /v3*ddMa fakmd def /u*ddMa1 (m) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (o) def} if o3*ddMa -1 eq {STOPo3*ddMa1} if l3*ddMa -1 eq {STOPl3*ddMa1} if v3*ddMa -1 eq {STOPv3*ddMa1} if /i3*ddMa 1 def /c3*ddMa 1 o3*ddMa sub def /m3*ddMa 1 l3*ddMa sub def /y3*ddMa 1 v3*ddMa sub def /n3*ddMa 0 def %calculations for elementary (e) system: %faktor and section in actual System (for example ORS18) /jsece -1 def %main equations %fakte = [col_angh - LAB*He(n)]/[LAB*He(n+1) - LAB*He(n)] %col_angh = fakte [LAB*He(n+1) - LAB*He(n)] + LAB*He(n) H*abe LAB*He 0 get lt {/H*abe H*abe 360 add def} if 0 1 5 {/nx exch def /np nx 1 add def H*abe LAB*He nx get ge H*abe LAB*He np get lt and {/jsece nx def /fakte H*abe LAB*He nx get sub LAB*He np get LAB*He nx get sub div def} if } for %nx=0,5 %1 0 0 %R jsece=0 %1 1 0 %J jsece=1 %0 1 0 %G jsece=2 %0 1 1 %C' jsece=3 %0 0 1 %B jsece=4 %1 0 1 %R jsece=5 jsece -1 eq {STOPjsece} if /fakme 1 fakte sub def /o3*deMa -1 def /l3*deMa -1 def /v3*deMa -1 def jsece 0 eq {%sector O->Y, o3*=1, l3*=0->1, v*=0 /o3*deMa 1 def /l3*deMa fakte def /v3*deMa 0 def /u*dtMa1 (r) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (j) def /u*deMa1 (r) def /u*deMai fakte 99 mul cviht def /u*deMa2 (j) def} if jsece 1 eq {%sector Y->L, o3*=1->0, l3*=1, v*=0 /o3*deMa fakme def /l3*deMa 1 def /v3*deMa 0 def /u*dtMa1 (j) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (g) def /u*deMa1 (j) def /u*deMai fakte 99 mul cviht def /u*deMa2 (g) def} if jsece 2 eq {%sector L->C, o3*=0, l3*=1, v*=0->1 /o3*deMa 0 def /l3*deMa 1 def /v3*deMa fakte def /u*dtMa1 (g) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (c') def /u*deMa1 (g) def /u*deMai fakte 99 mul 0.5 mul cviht def /u*deMa2 (b) def} if jsece 3 eq {%sector C->V, o3*=0, l3*=0->1, v*=1 /o3*deMa 0 def /l3*deMa fakme def /v3*deMa 1 def /u*dtMa1 (c') def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (b) def /u*deMa1 (g) def /u*deMai fakte 99 mul 0.5 mul 50 add cviht def /u*deMa2 (b) def} if jsece 4 eq {%sector V->M, o3*=0->1, l3*=0, v*=1 /o3*deMa fakte def /l3*deMa 0 def /v3*deMa 1 def /u*dtMa1 (b) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (m') def /u*deMa1 (b) def /u*deMai fakte 99 mul 0.5 mul cviht def /u*deMa2 (r) def} if jsece 5 eq {%sector M->O, o3*=1, l3*=0, v*=1->0 /o3*deMa 1 def /l3*deMa 0 def /v3*deMa fakme def /u*dtMa1 (m') def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (r) def /u*deMa1 (b) def /u*deMai fakte 99 mul 0.5 mul 50 add cviht def /u*deMa2 (r) def} if o3*deMa -1 eq {STOPo3*Ma0} if l3*deMa -1 eq {STOPl3*Ma0} if v3*deMa -1 eq {STOPv3*Ma0} if /i3*deMa 1 def /c3*deMa 1 o3*deMa sub def /m3*deMa 1 l3*deMa sub def /y3*deMa 1 v3*deMa sub def /n3*deMa 0 def /lab*nMa 0.00 def /lab*cMa 1.00 def /lab*wMa 0.00 def /lab*tMa 0.50 def /lab*hMa H*Ma 360 div def /lab*lMa L*Ma nLAB*s0 0 get sub wLAB*s0 0 get nLAB*s0 0 get sub 0.000001 add div def } bind def %END procedure proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioL %************************************************************* /proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL { %BEG Procedure proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL %transfer from elementary data to device (ed) and elementary data (ee) %For tLAB=1 Transfer to LAB*Ma and LAB*Fa /v*s exch def /l*s exch def /o*s exch def /i*p 0 def %test if achromatic %W special case %W: o*s, l*s, v*s = 1.00 1.0 o*s sub abs 0.001 le 1.0 l*s sub abs 0.001 le and 1.0 v*s sub abs 0.001 le and %W special case {/i*p 6 def %W /c*rs 0 def /n*s 0 def /w*s 1 def /t*s 1 def } if %Test if achromatic %N special case %N: o*n, l*n, v*n <= 0.01 o*s abs 0.001 le l*s abs 0.001 le and v*s abs 0.001 le and %N special case {/i*p 6 def %N /c*rs 0 def /n*s 1 def /w*s 0 def /t*s 0 def } if %test if achromatic Grey sample o*s l*s sub abs 0.001 le l*s v*s sub abs 0.001 le and %Achromatic grey special case {/i*p 6 def %Grey /c*rs 0 def /n*s 1 o*s sub def /w*s o*s def /t*s 1 n*s sub c*rs 0.5 mul sub def } if i*p 6 eq {%achromatic,chromatic colours /o3*edMa 1 def /l3*edMa 1 def /v3*edMa 1 def /o3*eeMa 1 def /l3*eeMa 1 def /v3*eeMa 1 def /u*edMa1 (o) def /u*edMai 0 def /u*edMa2 (y) def /u*etMa1 (r) def /u*etMai 0 def /u*etMa2 (j) def /u*eeMa1 (r) def /u*eeMai 0 def /u*eeMa2 (j) def /o3*ed o*s def /l3*ed l*s def /v3*ed v*s def /o3*ee o*s def /l3*ee l*s def /v3*ee v*s def } %achromatic i*p=6 { %chromatic i*p#6 o*s l*s ge o*s v*s ge and {/olv*smax o*s def l*s v*s ge {%sector O->Y, o3*=1, l3*=0->1, v3*=0 /olv*smin v*s def /olv*smean l*s def /jsecs 0 def} {%sector M->O, o3*=1, l3*=0, v3*=1->0 /olv*smin l*s def /olv*smean v*s def /jsecs 5 def} ifelse } if l*s v*s ge l*s o*s ge and {/olv*smax l*s def v*s o*s ge {%sector L->C, o3*=0, l3*=1, v3*=0->1 /olv*smin o*s def /olv*smean v*s def /jsecs 2 def} {%sector Y->L, o3*=1->0, l3*=1, v3*=0 /olv*smin v*s def /olv*smean o*s def /jsecs 1 def} ifelse } if v*s o*s ge v*s l*s ge and {/olv*smax v*s def o*s l*s ge {%sector V->M, o3*=0->1, l3*=0, v3*=1 /olv*smin l*s def /olv*smean o*s def /jsecs 4 def} {%sector C->V, o3*=0, l3*=0->1, v3*=1 /olv*smin o*s def /olv*smean l*s def /jsecs 3 def } ifelse } if /c*rs olv*smax olv*smin sub def /n*s 1 olv*smax sub def /w*s 1 n*s sub c*rs sub def /t*s 1 n*s sub c*rs 0.5 mul sub def /b_a olv*smean olv*smax div def /c_a olv*smin olv*smax div def /alpha 1 c_a sub def /fakts b_a c_a sub alpha 0.00001 add div def /fakms 1 fakts sub def %jsecs interpreted as elementary hue angle jsecs 0 eq {%sector O->Y, o3*=1, l3*=0->1, v3*=0 /o3*eeMa 1 def /l3*eeMa fakts def /v3*eeMa 0 def /H*Me LAB*He 0 get LAB*He 1 get LAB*He 0 get sub fakts mul add def /u*eeMa1 (o) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (y) def} if jsecs 1 eq {%sector Y->L, o3*=1->0, l3*=1, v3*=0 /o3*eeMa fakts def /l3*eeMa 1 def /v3*eeMa 0 def /H*Me LAB*He 1 get LAB*He 2 get LAB*He 1 get sub fakms mul add def /u*eeMa1 (y) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (l) def} if jsecs 2 eq {%sector L->C, o3*=0, l3*=1, v3*=0->1 /o3*eeMa 0 def /l3*eeMa 1 def /v3*eeMa fakts def /H*Me LAB*He 2 get LAB*He 3 get LAB*He 2 get sub fakts mul add def /u*eeMa1 (l) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (c) def} if jsecs 3 eq {%sector C->V, o3*=0, l3*=0->1, v3*=1 /o3*eeMa 0 def /l3*eeMa fakts def /v3*eeMa 1 def /H*Me LAB*He 3 get LAB*He 4 get LAB*He 3 get sub fakms mul add def /u*eeMa1 (c) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (v) def} if jsecs 4 eq {%sector V->M, o3*=0->1, l3*=0, v3*=1 /o3*eeMa fakts def /l3*eeMa 0 def /v3*eeMa 1 def /H*Me LAB*He 4 get LAB*He 5 get LAB*He 4 get sub fakts mul add def /u*eeMa1 (v) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (m) def} if jsecs 5 eq {%sector M->O, o3*=1, l3*=0, v3*=1->0 /o3*eeMa 1 def /l3*eeMa 0 def /v3*eeMa fakts def /H*Me LAB*He 5 get LAB*He 6 get LAB*He 5 get sub fakms mul add def /u*eeMa1 (m) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (o) def} if /i3*eeMa 1 def /c3*eeMa 1 o3*eeMa sub def /m3*eeMa 1 l3*eeMa sub def /y3*eeMa 1 v3*eeMa sub def /n3*eeMa 0 def H*Me 360 ge {/H*Me H*Me 360 sub def} if %H*Me = H*abd = H*abe for all hue angles /H*abd H*Me def %calculations for device (d) system: %faktor and section in actual System (for example ORS18) /jsece -1 def %main equations %faktd = [col_angh - LAB*Hd(n)]/[LAB*Hd(n+1) - LAB*Hd(n)] %col_angh = faktd [LAB*Hd(n+1) - LAB*Hd(n)] + LAB*Hd(n) H*abd LAB*Hd 0 get lt {/H*abd H*abd 360 add def} if 0 1 5 {/nx exch def /np nx 1 add def H*abd LAB*Hd nx get ge H*abd LAB*Hd np get lt and {/jsecd nx def /faktd H*abd LAB*Hd nx get sub LAB*Hd np get LAB*Hd nx get sub div def} if } for %nx=0,5 %1 0 0 %O jsecd=0 %1 1 0 %Y jsecd=1 %0 1 0 %L jsecd=2 %0 1 1 %C jsecd=3 %0 0 1 %V jsecd=4 %1 0 1 %O jsecd=5 jsecd -1 eq {STOPjsecd} if /fakmd 1 faktd sub def /o3*edMa -1 def /l3*edMa -1 def /v3*edMa -1 def jsecd 0 eq {%sector O->Y, o3*=1, l3*=0->1, v*=0 /o3*edMa 1 def /l3*edMa faktd def /v3*edMa 0 def /u*dtMa1 (o) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (y) def /u*edMa1 (o) def /u*edMai faktd 99 mul cviht def /u*edMa2 (y) def} if jsecd 1 eq {%sector Y->L, o3*=1->0, l3*=1, v*=0 /o3*edMa fakmd def /l3*edMa 1 def /v3*edMa 0 def /u*dtMa1 (y) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (l) def /u*edMa1 (y) def /u*edMai faktd 99 mul cviht def /u*edMa2 (l) def} if jsecd 2 eq {%sector L->C, o3*=0, l3*=1, v*=0->1 /o3*edMa 0 def /l3*edMa 1 def /v3*edMa faktd def /u*dtMa1 (l) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (c) def /u*edMa1 (l) def /u*edMai faktd 99 mul 0.5 mul cviht def /u*edMa2 (c) def} if jsecd 3 eq {%sector C->V, o3*=0, l3*=0->1, v*=1 /o3*edMa 0 def /l3*edMa fakmd def /v3*edMa 1 def /u*dtMa1 (c) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (v) def /u*edMa1 (c) def /u*edMai faktd 99 mul 0.5 mul 50 add cviht def /u*edMa2 (v) def} if jsecd 4 eq {%sector V->M, o3*=0->1, l3*=0, v*=1 /o3*edMa faktd def /l3*edMa 0 def /v3*edMa 1 def /u*dtMa1 (v) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (m) def /u*edMa1 (v) def /u*edMai faktd 99 mul 0.5 mul cviht def /u*edMa2 (m) def} if jsecd 5 eq {%sector M->O, o3*=1, l3*=0, v*=1->0 /o3*edMa 1 def /l3*edMa 0 def /v3*edMa fakmd def /u*dtMa1 (m) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (o) def /u*edMa1 (v) def /u*edMai faktd 99 mul 0.5 mul 50 add cviht def /u*edMa2 (o) def} if o3*edMa -1 eq {STOPo3*Ma0} if l3*edMa -1 eq {STOPl3*Ma0} if v3*edMa -1 eq {STOPv3*Ma0} if /i3*edMa 1 def /c3*edMa 1 o3*edMa sub def /m3*edMa 1 l3*edMa sub def /y3*edMa 1 v3*edMa sub def /n3*edMa 0 def /lab*nMa 0.00 def /lab*cMa 1.00 def /lab*wMa 0.00 def /lab*tMa 0.50 def /lab*hMa H*Ma 360 div def /lab*lMa L*Ma nLAB*s0 0 get sub wLAB*s0 0 get nLAB*s0 0 get sub 0.000001 add div def %/o3*ee o*s def %/o3*ee w*s o3*eeMa c*rs mul add def %/l3*ee l*s def %/l3*ee w*s l3*eeMa c*rs mul add def %/v3*ee v*s def %/v3*ee w*s v3*eeMa c*rs mul add def /o3*ee w*s o3*eeMa c*rs mul add def /l3*ee w*s l3*eeMa c*rs mul add def /v3*ee w*s v3*eeMa c*rs mul add def /o3*ed w*s o3*edMa c*rs mul add def /l3*ed w*s l3*edMa c*rs mul add def /v3*ed w*s v3*edMa c*rs mul add def } ifelse %chromatic colour i*p#6 %For tLAB=1 Transfer to LAB*Ma and LAB*Fa tLAB 1 eq {%tLAB = 1 i*p 6 eq { %achromatic,chromatic colours /L*Ma L*Wio def /A*Ma 0 def /B*Ma 0 def /H*Ma B*Ma A*Ma 0.0001 add atan def /C*Ma 0 def /L*Fa L*Nio L*Wio L*Nio sub w*s mul add def /A*Fa 0 def /B*Fa 0 def /H*Fa B*Fa A*Fa 0.0001 add atan def /C*Fa 0 def } %achromatic i*p=6 {%chromatic i*p#6 /H*M H*Me def %H*M allready defined /L*Ha 50 def /A*Ha 75 H*M cos mul def /B*Ha 75 H*M sin mul def /UXF1a wLAB*s0 1 get B*Ha mul wLAB*s0 2 get A*Ha mul sub def /UXF2a wLAB*s0 2 get L*Ha mul wLAB*s0 0 get B*Ha mul sub def /UXF3a wLAB*s0 0 get A*Ha mul wLAB*s0 1 get L*Ha mul sub def /T1 0 def /T2 0 def 0 1 5 {/ia exch def /ia30 ia 3 mul def ia 5 eq {/ia31 0 def} {/ia31 ia30 3 add def} ifelse /T1 LAB*a ia30 get UXF1a mul LAB*a ia30 1 add get UXF2a mul add LAB*a ia30 2 add get UXF3a mul add def /T2 LAB*a ia31 get UXF1a mul LAB*a ia31 1 add get UXF2a mul add LAB*a ia31 2 add get UXF3a mul add def T1 0 le {/T1X (N) def} {/T1X (P) def} ifelse T2 0 gt {/T2X (P) def} {/T2X (N) def} ifelse T1 0 le T2 0 gt and {/ia3END ia30 def exit} if } for /L*11a LAB*a ia3END get def /A*11a LAB*a ia3END 1 add get def /B*11a LAB*a ia3END 2 add get def ia3END 15 ge {/ia3END -3 def} if /L*21a LAB*a ia3END 3 add get def /A*21a LAB*a ia3END 4 add get def /B*21a LAB*a ia3END 5 add get def /NENNER L*21a L*11a sub UXF1a mul A*21a A*11a sub UXF2a mul add B*21a B*11a sub UXF3a mul add def /ZAEHLE L*21a UXF1a mul A*21a UXF2a mul add B*21a UXF3a mul add def NENNER 0 ne {/ALPH ZAEHLE NENNER div def} {/ALPH 99999} ifelse /L*Ma ALPH L*11a mul 1 ALPH sub L*21a mul add def /A*Ma ALPH A*11a mul 1 ALPH sub A*21a mul add def /B*Ma ALPH B*11a mul 1 ALPH sub B*21a mul add def /C*Ma A*Ma dup mul B*Ma dup mul add 0.000001 add sqrt def /H*Ma B*Ma A*Ma 0.0001 add atan def %equations %/c*rs olv*smax olv*smin sub def %/n*s 1 olv*smax sub def %/w*s 1 n*s sub c*rs sub def %/t*s 1 n*s sub c*rs 0.5 mul sub def %l* = t* + c* [L*M - L*N]/[L*W - L*N] - 0.5 c* %l* = (L*Fa - L*Na) / (L*Wa - L*Na) %L*Fa = l* (L*Wa - L*Na) + L*Na %given L*Nio, L*Wio /l*s t*s L*Ma L*Nio sub L*Wio L*Nio sub div c*rs mul add c*rs 0.5 mul sub def /L*Fa L*Nio L*Wio L*Nio sub l*s mul add def /C*Fa C*Ma c*rs mul def /H*Fa H*Ma def /A*Fa C*Fa H*Ma cos mul def /B*Fa C*Fa H*Ma sin mul def } ifelse %chromatic colour i*p#6 } if %tLAB = 1 } bind def %END Procedure proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL %******************************************************************** /proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL { %BEG Procedure proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL %transfer from device data to device (dd) and elementary data (de) %For tLAB=1 Transfer to LAB*Ma and LAB*Fa /v*s exch def /l*s exch def /o*s exch def /i*p 0 def %test if achromatic %W special case %W: o*s, l*s, v*s = 1.00 1.0 o*s sub abs 0.001 le 1.0 l*s sub abs 0.001 le and 1.0 v*s sub abs 0.001 le and %W special case {/i*p 6 def %W /c*rs 0 def /n*s 0 def /w*s 1 def /t*s 1 def } if %Test if achromatic %N special case %N: o*n, l*n, v*n <= 0.01 o*s abs 0.001 le l*s abs 0.001 le and v*s abs 0.001 le and %N special case {/i*p 6 def %N /c*rs 0 def /n*s 1 def /w*s 0 def /t*s 0 def } if %test if achromatic Grey sample o*s l*s sub abs 0.001 le l*s v*s sub abs 0.001 le and %Achromatic grey special case {/i*p 6 def %Grey /c*rs 0 def /n*s 1 o*s sub def /w*s o*s def /t*s 1 n*s sub c*rs 0.5 mul sub def } if i*p 6 eq {%achromatic,chromatic colours /o3*ddMa 1 def /l3*ddMa 1 def /v3*ddMa 1 def /o3*deMa 1 def /l3*deMa 1 def /v3*deMa 1 def /u*ddMa1 (o) def /u*ddMai 0 def /u*ddMa2 (y) def /u*dtMa1 (r) def /u*dtMai 0 def /u*dtMa2 (j) def /u*deMa1 (r) def /u*deMai 0 def /u*deMa2 (j) def /o3*dd o*s def /l3*dd l*s def /v3*dd v*s def /o3*de o*s def /l3*de l*s def /v3*de v*s def } %achromatic i*p=6 { %chromatic i*p#6 o*s l*s ge o*s v*s ge and {/olv*smax o*s def l*s v*s ge {%sector O->Y, o3*=1, l3*=0->1, v3*=0 /olv*smin v*s def /olv*smean l*s def /jsecd 0 def} {%sector M->O, o3*=1, l3*=0, v3*=1->0 /olv*smin l*s def /olv*smean v*s def /jsecd 5 def} ifelse } if l*s v*s ge l*s o*s ge and {/olv*smax l*s def v*s o*s ge {%sector L->C, o3*=0, l3*=1, v3*=0->1 /olv*smin o*s def /olv*smean v*s def /jsecd 2 def} {%sector Y->L, o3*=1->0, l3*=1, v3*=0 /olv*smin v*s def /olv*smean o*s def /jsecd 1 def} ifelse } if v*s o*s ge v*s l*s ge and {/olv*smax v*s def o*s l*s ge {%sector V->M, o3*=0->1, l3*=0, v3*=1 /olv*smin l*s def /olv*smean o*s def /jsecd 4 def} {%sector C->V, o3*=0, l3*=0->1, v3*=1 /olv*smin o*s def /olv*smean l*s def /jsecd 3 def } ifelse } if /c*rs olv*smax olv*smin sub def /n*s 1 olv*smax sub def /w*s 1 n*s sub c*rs sub def /t*s 1 n*s sub c*rs 0.5 mul sub def /b_a olv*smean olv*smax div def /c_a olv*smin olv*smax div def /alpha 1 c_a sub def /faktd b_a c_a sub alpha 0.00001 add div def /fakmd 1 faktd sub def %jsecd interpreted as device angle jsecd 0 eq {%sector O->Y, o3*=1, l3*=0->1, v3*=0 /o3*ddMa 1 def /l3*ddMa faktd def /v3*ddMa 0 def /H*M LAB*Hd 0 get LAB*Hd 1 get LAB*Hd 0 get sub faktd mul add def /u*ddMa1 (o) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (y) def} if jsecd 1 eq {%sector Y->L, o3*=1->0, l3*=1, v3*=0 /o3*ddMa faktd def /l3*ddMa 1 def /v3*ddMa 0 def /H*M LAB*Hd 1 get LAB*Hd 2 get LAB*Hd 1 get sub fakmd mul add def /u*ddMa1 (y) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (l) def} if jsecd 2 eq {%sector L->C, o3*=0, l3*=1, v3*=0->1 /o3*ddMa 0 def /l3*ddMa 1 def /v3*ddMa faktd def /H*M LAB*Hd 2 get LAB*Hd 3 get LAB*Hd 2 get sub faktd mul add def /u*ddMa1 (l) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (c) def} if jsecd 3 eq {%sector C->V, o3*=0, l3*=0->1, v3*=1 /o3*ddMa 0 def /l3*ddMa faktd def /v3*ddMa 1 def /H*M LAB*Hd 3 get LAB*Hd 4 get LAB*Hd 3 get sub fakmd mul add def /u*ddMa1 (c) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (v) def} if jsecd 4 eq {%sector V->M, o3*=0->1, l3*=0, v3*=1 /o3*ddMa faktd def /l3*ddMa 0 def /v3*ddMa 1 def /H*M LAB*Hd 4 get LAB*Hd 5 get LAB*Hd 4 get sub faktd mul add def /u*ddMa1 (v) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (m) def} if jsecd 5 eq {%sector M->O, o3*=1, l3*=0, v3*=1->0 /o3*ddMa 1 def /l3*ddMa 0 def /v3*ddMa faktd def /H*M LAB*Hd 5 get LAB*Hd 6 get LAB*Hd 5 get sub fakmd mul add def /u*ddMa1 (m) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (o) def} if /i3*ddMa 1 def /c3*ddMa 1 o3*ddMa sub def /m3*ddMa 1 l3*ddMa sub def /y3*ddMa 1 v3*ddMa sub def /n3*ddMa 0 def H*M 360 ge {/H*M H*M 360 sub def} if %H*M = H*abd = H*abe for all hue angles /H*abe H*M def %calculations for elementary (e) system: %faktor and section in actual System (for example ORS18) /jsece -1 def %main equations %fakte = [col_angh - LAB*He(n)]/[LAB*He(n+1) - LAB*He(n)] %col_angh = fakte [LAB*He(n+1) - LAB*He(n)] + LAB*He(n) H*abe LAB*He 0 get lt {/H*abe H*abe 360 add def} if 0 1 5 {/nx exch def /np nx 1 add def H*abe LAB*He nx get ge H*abe LAB*He np get lt and {/jsece nx def /fakte H*abe LAB*He nx get sub LAB*He np get LAB*He nx get sub div def} if } for %nx=0,5 %1 0 0 %R jsece=0 %1 1 0 %J jsece=1 %0 1 0 %G jsece=2 %0 1 1 %C' jsece=3 %0 0 1 %B jsece=4 %1 0 1 %R jsece=5 jsece -1 eq {STOPjsece} if /fakme 1 fakte sub def /o3*deMa -1 def /l3*deMa -1 def /v3*deMa -1 def jsece 0 eq {%sector O->Y, o3*=1, l3*=0->1, v*=0 /o3*deMa 1 def /l3*deMa fakte def /v3*deMa 0 def /u*dtMa1 (r) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (j) def /u*deMa1 (r) def /u*deMai fakte 99 mul cviht def /u*deMa2 (j) def} if jsece 1 eq {%sector Y->L, o3*=1->0, l3*=1, v*=0 /o3*deMa fakme def /l3*deMa 1 def /v3*deMa 0 def /u*dtMa1 (j) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (g) def /u*deMa1 (j) def /u*deMai fakte 99 mul cviht def /u*deMa2 (g) def} if jsece 2 eq {%sector L->C, o3*=0, l3*=1, v*=0->1 /o3*deMa 0 def /l3*deMa 1 def /v3*deMa fakte def /u*dtMa1 (g) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (c') def /u*deMa1 (g) def /u*deMai fakte 99 mul 0.5 mul cviht def /u*deMa2 (b) def} if jsece 3 eq {%sector C->V, o3*=0, l3*=0->1, v*=1 /o3*deMa 0 def /l3*deMa fakme def /v3*deMa 1 def /u*dtMa1 (c') def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (b) def /u*deMa1 (g) def /u*deMai fakte 99 mul 0.5 mul 50 add cviht def /u*deMa2 (b) def} if jsece 4 eq {%sector V->M, o3*=0->1, l3*=0, v*=1 /o3*deMa fakte def /l3*deMa 0 def /v3*deMa 1 def /u*dtMa1 (b) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (m') def /u*deMa1 (b) def /u*deMai fakte 99 mul 0.5 mul cviht def /u*deMa2 (r) def} if jsece 5 eq {%sector M->O, o3*=1, l3*=0, v*=1->0 /o3*deMa 1 def /l3*deMa 0 def /v3*deMa fakme def /u*dtMa1 (m') def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (r) def /u*deMa1 (b) def /u*deMai fakte 99 mul 0.5 mul 50 add cviht def /u*deMa2 (r) def} if o3*deMa -1 eq {STOPo3*Ma0} if l3*deMa -1 eq {STOPl3*Ma0} if v3*deMa -1 eq {STOPv3*Ma0} if /i3*deMa 1 def /c3*deMa 1 o3*deMa sub def /m3*deMa 1 l3*deMa sub def /y3*deMa 1 v3*deMa sub def /n3*deMa 0 def /lab*nMa 0.00 def /lab*cMa 1.00 def /lab*wMa 0.00 def /lab*tMa 0.50 def /lab*hMa H*Ma 360 div def /lab*lMa L*Ma nLAB*s0 0 get sub wLAB*s0 0 get nLAB*s0 0 get sub 0.000001 add div def /o3*dd o*s def /o3*dd w*s o3*ddMa c*rs mul add def /l3*dd l*s def /l3*dd w*s l3*ddMa c*rs mul add def /v3*dd v*s def /v3*dd w*s v3*ddMa c*rs mul add def /o3*de w*s o3*deMa c*rs mul add def /l3*de w*s l3*deMa c*rs mul add def /v3*de w*s v3*deMa c*rs mul add def } ifelse %chromatic colour i*p#6 %For tLAB=1 Transfer to LAB*Ma and LAB*Fa tLAB 1 eq {%tLAB = 1 i*p 6 eq {%achromatic,chromatic colours /L*Ma L*Wio def /A*Ma 0 def /B*Ma 0 def /H*Ma B*Ma A*Ma 0.0001 add atan def /C*Ma 0 def /L*Fa L*Nio L*Wio L*Nio sub w*s mul add def /A*Fa 0 def /B*Fa 0 def /H*Fa B*Fa A*Fa 0.0001 add atan def /C*Fa 0 def } %achromatic i*p=6 { %chromatic i*p#6 %H*M allready defined /L*Ha 50 def /A*Ha 75 H*M cos mul def /B*Ha 75 H*M sin mul def /UXF1a wLAB*s0 1 get B*Ha mul wLAB*s0 2 get A*Ha mul sub def /UXF2a wLAB*s0 2 get L*Ha mul wLAB*s0 0 get B*Ha mul sub def /UXF3a wLAB*s0 0 get A*Ha mul wLAB*s0 1 get L*Ha mul sub def /T1 0 def /T2 0 def 0 1 5 {/ia exch def /ia30 ia 3 mul def ia 5 eq {/ia31 0 def} {/ia31 ia30 3 add def} ifelse /T1 LAB*a ia30 get UXF1a mul LAB*a ia30 1 add get UXF2a mul add LAB*a ia30 2 add get UXF3a mul add def /T2 LAB*a ia31 get UXF1a mul LAB*a ia31 1 add get UXF2a mul add LAB*a ia31 2 add get UXF3a mul add def T1 0 le {/T1X (N) def} {/T1X (P) def} ifelse T2 0 gt {/T2X (P) def} {/T2X (N) def} ifelse T1 0 le T2 0 gt and {/ia3END ia30 def exit} if } for /L*11a LAB*a ia3END get def /A*11a LAB*a ia3END 1 add get def /B*11a LAB*a ia3END 2 add get def ia3END 15 ge {/ia3END -3 def} if /L*21a LAB*a ia3END 3 add get def /A*21a LAB*a ia3END 4 add get def /B*21a LAB*a ia3END 5 add get def /NENNER L*21a L*11a sub UXF1a mul A*21a A*11a sub UXF2a mul add B*21a B*11a sub UXF3a mul add def /ZAEHLE L*21a UXF1a mul A*21a UXF2a mul add B*21a UXF3a mul add def NENNER 0 ne {/ALPH ZAEHLE NENNER div def} {/ALPH 99999} ifelse /L*Ma ALPH L*11a mul 1 ALPH sub L*21a mul add def /A*Ma ALPH A*11a mul 1 ALPH sub A*21a mul add def /B*Ma ALPH B*11a mul 1 ALPH sub B*21a mul add def /C*Ma A*Ma dup mul B*Ma dup mul add 0.000001 add sqrt def /H*Ma B*Ma A*Ma 0.0001 add atan def %equations %/c*rs olv*smax olv*smin sub def %/n*s 1 olv*smax sub def %/w*s 1 n*s sub c*rs sub def %/t*s 1 n*s sub c*rs 0.5 mul sub def %l* = t* + c* [L*M - L*N]/[L*W - L*N] - 0.5 c* %l* = (L*Fa - L*Na) / (L*Wa - L*Na) %L*Fa = l* (L*Wa - L*Na) + L*Na %given L*Nio, L*Wio /l*s t*s L*Ma L*Nio sub L*Wio L*Nio sub div c*rs mul add c*rs 0.5 mul sub def /L*Fa L*Nio L*Wio L*Nio sub l*s mul add def /C*Fa C*Ma c*rs mul def /H*Fa H*Ma def /A*Fa C*Fa H*Ma cos mul def /B*Fa C*Fa H*Ma sin mul def } ifelse %chromatic colour i*p#6 } if %tLAB = 1 } bind def %END Procedure proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL %******************************************************************* from De990-7N04.PS /proc_ColSep*ioL {%BEG Procedure proc_ColSep*ioL ColourSeparation for NP-file 20090901 /setgc {pop pop pop 1 exch sub slgray} bind def /setgm {pop pop 1 exch sub slgray pop} bind def /setgy {pop 1 exch sub slgray pop pop} bind def /setgn {1 exch sub slgray pop pop pop} bind def /setgf {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def 0 ccolor eq 0 mcolor eq and 0 ycolor eq and {1 ncolor sub slgray} {1 ccolor sub 0.71 mul 1 mcolor sub 0.22 mul add 1 ycolor sub 0.07 mul add slgray} ifelse } bind def /setcmykcolorf { slcmykcolor} bind def %fuer PSL1/2-Farbgeraet /setcmyknew { %Ersatz setcolornew durch setcmykcolor1 ausz 1 eq {setgc} if %C ausz 2 eq {setgm} if %M ausz 3 eq {setgy} if %Y ausz 4 eq {pop pop pop /ccolor exch def ccolor 0 0 0 /setcmykcolor where %Abfrage Farb-/SW-Geraet {pop setcmykcolorf} %PSL1/2-Farb-Geraet {setgc} %PSL1-SW-Geraet ifelse } if %Cbunt ausz 5 eq {pop pop /mcolor exch def pop 0 mcolor 0 0 /setcmykcolor where %Abfrage Farb-/SW-Geraet {pop setcmykcolorf} %PSL1/2-Farb-Geraet {setgm} %PSL1-SW-Geraet ifelse } if %Mbunt ausz 6 eq {pop /ycolor exch def pop pop 0 0 ycolor 0 /setcmykcolor where %Abfrage Farb-/SW-Geraet {pop setcmykcolorf} %PSL1/2-Farb-Geraet {setgy} %PSL1-SW-Geraet ifelse } if %Ybunt ausz 7 eq {setgn} if %N ausz 8 ge { /setcmykcolor where %Abfrage Farb-/SW-Geraet {pop setcmykcolorf} %PSL1/2-Farb-Geraet {setgf} %PSL1-SW-Geraet ifelse } if %bei ausz=8: Farb- oder SW-Ausdruck je nach Drucker } bind def %********************************************************************* /rgb_LAB_Interp_olv*ioL {%BEG Procedure rgb_LAB_Interp_olv*ioL zm60'LABINPLT.PS %assumes input of rgb, LAB_Interpolation and calculation of olv* %split in chromatic and achromatic colours %two special cases black N and white W /b exch def /g exch def /r exch def r g sub abs 0.001 le r b sub abs 0.001 le and {%achromatic case /Case 0 def r abs 0.001 le g abs 0.001 le and b abs 0.001 le and {%N special case /Case 1 def } if %N special case 1 r sub abs 0.001 le 1 g sub abs 0.001 le and 1 b sub abs 0.001 le and {%W special case /Case 2 def } if }%achromatic {%chromatic /Case 3 def } ifelse %chromatic Case 1 eq {%Black N /o* 0 def /l* 0 def /v* 0 def } if %N special case Case 2 eq {%White W /o* 1 def /l* 1 def /v* 1 def } if %W special case Case 0 eq Case 3 eq or {%chromatic or gray /tLAB 1 def r g b proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioL L*Fa A*Fa B*Fa Lab2RGBinterpolation /v* exch def /l* exch def /o* exch def } if %chromatic or gray } bind def %END Procedure rgb_LAB_Interp_olv*ioL 'zm60'LABINPLT.PS %********************************************************************* /trans_rgb3*_cmyn4*ioL {%BEG Procedure trans_rgb3*_cmyn4*ioL %assumes input of olv* o* 0 le {/o* 0.0000 def} if l* 0 le {/l* 0.0000 def} if v* 0 le {/v* 0.0000 def} if o* 1 ge {/o* 1.0000 def} if l* 1 ge {/l* 1.0000 def} if v* 1 ge {/v* 1.0000 def} if /tdel 0 def v* l* ge l* o* ge and tdel 0 eq and % v* >= l* >= o* equal y* <= m* <= c* %sector C-V of C-M, C>=M: i*p=0 {/n*n 1 v* sub def /w*w o* def /tdel 1 def } if % v* >= l* >= o* v* o* ge o* l* ge and tdel 0 eq and % v* >= o* >= l* equal y* <= c* <= m* %sector V-M of C-M, M>=C: i*p=1 {/n*n 1 v* sub def /w*w l* def /tdel 1 def } if % v* >= o* >= l* o* v* ge v* l* ge and tdel 0 eq and % o* >= v* >= l* equal c* <= y* <= m* %sector M-O of M-Y, M>=Y: i*p=2 {/n*n 1 o* sub def /w*w l* def /tdel 1 def } if % o* >= v* >= l* o* l* ge l* v* ge and tdel 0 eq and % o* >= l* >= v* equal c* <= m* <= y* %sector O-Y of M-Y, Y>=M: i*p=3 {/n*n 1 o* sub def /w*w v* def /tdel 1 def } if % o* >= l* >= v* l* o* ge o* v* ge and tdel 0 eq and % l* >= o* >= v* equal m* <= c* <= y* %sector Y-L of Y-C, Y>=C: i*p=4 {/n*n 1 l* sub def /w*w v* def /tdel 1 def } if % l* >= o* >= v* l* v* ge v* o* ge and tdel 0 eq and % l* >= v* >= o* equal m* <= y* <= c* %sector L-C of Y-C, C>=Y: i*p=5 {/n*n 1 l* sub def /w*w o* def /tdel 1 def } if % l* >= v* >= o* %achromatic %W: o*, l*, v* = 1.00 1.0 o* sub abs 0.001 le 1.0 l* sub abs 0.001 le and 1.0 v* sub abs 0.001 le and %W special case {/n*n 0 def /w*w 1 def %W } if %N: o*, l*, v* <= 0.001 o* abs 0.001 le l* abs 0.001 le and v* abs 0.001 le and %N special case {/n*n 1 def /w*w 0 def %N } if %Achromatic o* l* sub abs 0.001 le l* v* sub abs 0.001 le and %Achromatic special case {/n*n 1 o* sub def /w*w o* def %grey } if /lab*wFa w*w def /lab*nFa n*n def /c3*Fa 1 o* sub def /m3*Fa 1 l* sub def /y3*Fa 1 v* sub def /c4*Fa c3*Fa lab*nFa sub def %at least one of cmy will be cero /m4*Fa m3*Fa lab*nFa sub def /y4*Fa y3*Fa lab*nFa sub def /n4*Fa lab*nFa def /o4*Fa 1 c4*Fa sub def /l4*Fa 1 m4*Fa sub def /v4*Fa 1 y4*Fa sub def /i4*Fa 1 n4*Fa sub def } bind def %END Procedure trans_rgb3*_cmyn4*ioL %******************************************************************* /trans_rgb3*_cmyn5*ioL {%BEG Procedure trans_rgb3*_cmyn5*ioL %assumes input of olv*, 'zm60'CMYN559LT.PS o* 0 le {/o* 0.0000 def} if l* 0 le {/l* 0.0000 def} if v* 0 le {/v* 0.0000 def} if o* 1 ge {/o* 1.0000 def} if l* 1 ge {/l* 1.0000 def} if v* 1 ge {/v* 1.0000 def} if /ok* o* def /lk* l* def /vk* v* def /tdel 0 def vk* lk* ge lk* ok* ge and tdel 0 eq and % v* >= l* >= o* equal y* <= m* <= c* %sector C-V of C-M, C>=M: i*p=0 {/n*n 1 vk* sub def /w*w ok* def /m*w lk* def /tdel 1 def /isec 3 def } if % v* >= l* >= o* vk* ok* ge ok* lk* ge and tdel 0 eq and % v* >= o* >= l* equal y* <= c* <= m* %sector V-M of C-M, M>=C: i*p=1 {/n*n 1 vk* sub def /w*w lk* def /m*w ok* def /tdel 1 def /isec 4 def } if % v* >= o* >= l* ok* vk* ge vk* lk* ge and tdel 0 eq and % o* >= v* >= l* equal c* <= y* <= m* %sector M-O of M-Y, M>=Y: i*p=2 {/n*n 1 ok* sub def /w*w lk* def /m*w vk* def /tdel 1 def /isec 5 def } if % o* >= v* >= l* ok* lk* ge lk* vk* ge and tdel 0 eq and % o* >= l* >= v* equal c* <= m* <= y* %sector O-Y of M-Y, Y>=M: i*p=3 {/n*n 1 ok* sub def /w*w vk* def /m*w lk* def /tdel 1 def /isec 0 def } if % o* >= l* >= v* lk* ok* ge ok* vk* ge and tdel 0 eq and % l* >= o* >= v* equal m* <= c* <= y* %sector Y-L of Y-C, Y>=C: i*p=4 {/n*n 1 lk* sub def /w*w vk* def /m*w ok* def /tdel 1 def /isec 1 def } if % l* >= o* >= v* lk* vk* ge vk* ok* ge and tdel 0 eq and % l* >= v* >= o* equal m* <= y* <= c* %sector L-C of Y-C, C>=Y: i*p=5 {/n*n 1 lk* sub def /w*w ok* def /m*w vk* def /tdel 1 def /isec 2 def } if % l* >= v* >= o* %achromatic %W: ok*, lk*, vk* = 1.00 1.0 ok* sub abs 0.001 le 1.0 lk* sub abs 0.001 le and 1.0 vk* sub abs 0.001 le and %W special case {/n*n 0 def /w*w 1 def /m*w 1 def %W /isec 6 def } if %N: ok*, lk*, vk* <= 0.001 ok* abs 0.001 le lk* abs 0.001 le and vk* abs 0.001 le and %N special case {/n*n 1 def /w*w 0 def /m*w 0 def %N /isec 6 def } if %Achromatic ok* lk* sub abs 0.001 le lk* vk* sub abs 0.001 le and %Achromatic special case {/n*n 1 ok* sub def /w*w ok* def /m*w ok* def %grey /isec 6 def } if /lab*wFa w*w def /lab*nFa n*n def /lab*cFa 1 n*n sub w*w sub def /argb 1 lab*nFa sub def /brgb m*w def /crgb lab*wFa def /c* lab*cFa def /lab*tFa 1 lab*nFa sub lab*cFa 0.5 mul sub def isec 6 eq {%BEG isec=6 achromatic /o*1 1 def /l*1 1 def /v*1 1 def }%END isec=6 achromatic {%BEG isec#6 chromatic /o*1 ok* argb 0.000001 add div def /l*1 lk* argb 0.000001 add div def /v*1 vk* argb 0.000001 add div def } ifelse %END isec#6 /c3*Fa 1 o*1 sub def /m3*Fa 1 l*1 sub def /y3*Fa 1 v*1 sub def /c4*Fa c3*Fa def %at least one of cmy will be cero /m4*Fa m3*Fa def /y4*Fa y3*Fa def /n4*Fa lab*nFa def /o4*Fa 1 c4*Fa sub def /l4*Fa 1 m4*Fa sub def /v4*Fa 1 y4*Fa sub def /i4*Fa 1 n4*Fa sub def } bind def %END Procedure trans_rgb3*_cmyn5*ioL 'zm60'CMYN559LT.PS %********************************************************************* /trans_rgb3*_cmyn6*ioL {%BEG Procedure trans_rgb3*_cmyn6*ioL %assumes input of olv*, 'zm60'CMYN559LT.PS o* 0 le {/o* 0.0000 def} if l* 0 le {/l* 0.0000 def} if v* 0 le {/v* 0.0000 def} if o* 1 ge {/o* 1.0000 def} if l* 1 ge {/l* 1.0000 def} if v* 1 ge {/v* 1.0000 def} if /ok* o* def /lk* l* def /vk* v* def /tdel 0 def vk* lk* ge lk* ok* ge and tdel 0 eq and % v* >= l* >= o* equal y* <= m* <= c* %sector C-V of C-M, C>=M: i*p=0 {/n*n 1 vk* sub def /w*w ok* def /m*w lk* def /tdel 1 def /isec 3 def } if % v* >= l* >= o* vk* ok* ge ok* lk* ge and tdel 0 eq and % v* >= o* >= l* equal y* <= c* <= m* %sector V-M of C-M, M>=C: i*p=1 {/n*n 1 vk* sub def /w*w lk* def /m*w ok* def /tdel 1 def /isec 4 def } if % v* >= o* >= l* ok* vk* ge vk* lk* ge and tdel 0 eq and % o* >= v* >= l* equal c* <= y* <= m* %sector M-O of M-Y, M>=Y: i*p=2 {/n*n 1 ok* sub def /w*w lk* def /m*w vk* def /tdel 1 def /isec 5 def } if % o* >= v* >= l* ok* lk* ge lk* vk* ge and tdel 0 eq and % o* >= l* >= v* equal c* <= m* <= y* %sector O-Y of M-Y, Y>=M: i*p=3 {/n*n 1 ok* sub def /w*w vk* def /m*w lk* def /tdel 1 def /isec 0 def } if % o* >= l* >= v* lk* ok* ge ok* vk* ge and tdel 0 eq and % l* >= o* >= v* equal m* <= c* <= y* %sector Y-L of Y-C, Y>=C: i*p=4 {/n*n 1 lk* sub def /w*w vk* def /m*w ok* def /tdel 1 def /isec 1 def } if % l* >= o* >= v* lk* vk* ge vk* ok* ge and tdel 0 eq and % l* >= v* >= o* equal m* <= y* <= c* %sector L-C of Y-C, C>=Y: i*p=5 {/n*n 1 lk* sub def /w*w ok* def /m*w vk* def /tdel 1 def /isec 2 def } if % l* >= v* >= o* %achromatic %W: ok*, lk*, vk* = 1.00 1.0 ok* sub abs 0.001 le 1.0 lk* sub abs 0.001 le and 1.0 vk* sub abs 0.001 le and %W special case {/n*n 0 def /w*w 1 def /m*w 1 def %W /isec 6 def } if %N: ok*, lk*, vk* <= 0.001 ok* abs 0.001 le lk* abs 0.001 le and vk* abs 0.001 le and %N special case {/n*n 1 def /w*w 0 def /m*w 0 def %N /isec 6 def } if %Achromatic ok* lk* sub abs 0.001 le lk* vk* sub abs 0.001 le and %Achromatic special case {/n*n 1 ok* sub def /w*w ok* def /m*w ok* def %grey /isec 6 def } if /lab*wFa w*w def /lab*nFa n*n def /lab*cFa 1 n*n sub w*w sub def /argb 1 lab*nFa sub def /brgb m*w def /crgb lab*wFa def /c* lab*cFa def /lab*tFa 1 lab*nFa sub lab*cFa 0.5 mul sub def isec 6 eq {%BEG isec=6 achromatic /o*1 1 def /l*1 1 def /v*1 1 def }%END isec=6 achromatic {%BEG isec#6 chromatic /o*1 ok* argb 0.000001 add div def /l*1 lk* argb 0.000001 add div def /v*1 vk* argb 0.000001 add div def } ifelse %END isec#6 /c3*Fa 1 o*1 sub def /m3*Fa 1 l*1 sub def /y3*Fa 1 v*1 sub def /c41*Fa c3*Fa def %at least one of cmy will be cero /m41*Fa m3*Fa def /y41*Fa y3*Fa def /n4*Fa lab*nFa def %change by deepness difference delta d* = c*S1 - c*S2 %use lab*cFa, lab*tFa for correction %equations of three lines %t* = 1 - 0.5 c* %t* = [t* / c*] c* %t* = [(t* + 0,18) / c*] c* - 0,18 %cut point S1 for nt=0,18: %c*s1 = 1 /[ t*F / c*F + 0,5 ] %cut point S2 for n=0,18: %c*s1 = (1 + nt) / [ (t*F + nt) / c*F + 0,5 ] %special case lab*cFa=0 and n=0,18 /nt 0.18 def lab*cFa 0 eq { %lab*cFa=0,#0 /c*S1 0 def /c*S2 0 def } %lab*cFa=0 { %lab*cFa#0 /c*S1 1 lab*tFa lab*cFa div 0.5 add div def /c*S2 1 nt add lab*tFa nt add lab*cFa div 0.5 add div def } ifelse %lab*cFa=0,#0 /c4*Fa c41*Fa c41*Fa c*S1 c*S2 sub mul sub def /m4*Fa m41*Fa m41*Fa c*S1 c*S2 sub mul sub def /y4*Fa y41*Fa y41*Fa c*S1 c*S2 sub mul sub def /o4*Fa 1 c4*Fa sub def /l4*Fa 1 m4*Fa sub def /v4*Fa 1 y4*Fa sub def /i4*Fa 1 n4*Fa sub def } bind def %END Procedure trans_rgb3*_cmyn6*ioL 'zm60'CMYN559LT.PS %********************************************************************* %BEG 'zm60'COLM57_590415LT.PS 20090901 ColSpx 0 eq {%ColSpx=0 /tLAB 0 def xcharti 1 ge {%xcharti>=1 'zm60'COLM57LT.PS cmy0* 20090901 colorm 0 eq {%BEG colorm=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if %standard cmy0* for input /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {dup dup /v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if %standard cmy0* for input /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def /i* 0 def } {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def /i* 0 def } ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def }%END colorm=0 {%BEG colorm=1 /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioL /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {/w*w exch def /o* w*w def /l* w*w def /v* w*w def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioL /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioL /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def } ifelse %END colorm=1 }%END %xcharti>=1 {%BEG %xcharti=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* l* v* slrgbcolor } def /setgray {dup dup /v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* slgray } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def /n4*Fa 0 def} {/o* 1 def /l* 1 def /v* 1 def /n4*Fa n*n def} ifelse /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def c4*Fa m4*Fa y4*Fa n4*Fa slcmykcolor } def } ifelse %END %xcharti=0 'zm60'COLM57LT.PS cmy0* 20090901 } if %ColSpx=0 %********************************************************************* ColSpx 1 eq {%ColSpx=1 /tLAB 0 def xcharti 1 ge {%xcharti>=1 'zm60'COLM559LT.PS cmyn6* 20080201 colorm 0 eq {%BEG colorm=0 /olvtrans 1 def %changes olv* to olvk* /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn6*ioL %in: olv*, out: cmyn6 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {/w*w exch def /v* w*w def /l* w*w def /o* w*w def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn6*ioL %in: olv*, out: cmyn6 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn6*ioL %in: olv*, out: cmyn6 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def }%END colorm=0 {%BEG colorm=1 /olvtrans 0 def %no change of olv* /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioL trans_rgb3*_cmyn6*ioL %in: olv*, out: cmyn6 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {dup dup /v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioL trans_rgb3*_cmyn6*ioL %in: olv*, out: cmyn6 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioL trans_rgb3*_cmyn6*ioL %in: olv*, out: cmyn6 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def } ifelse %END colorm=1 }%END %xcharti>=0 {%BEG %xcharti=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* l* v* slrgbcolor } def /setgray {dup dup /v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* slgray } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def /n4*Fa 0 def} {/o* 1 def /l* 1 def /v* 1 def /n4*Fa n*n def} ifelse /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def c4*Fa m4*Fa y4*Fa n4*Fa slcmykcolor } def } ifelse %END %xcharti=0 'zm60'COLM559LT.PS cmyn6* 20080201 } if %ColSpx=1 %*************************************************************** ColSpx 2 eq {%ColSpx=2 /tLAB 0 def xcharti 1 ge {%xcharti>=1 'zm60'COLM58LT.PS cmyn4* 20090901 colorm 0 eq {%BEG colorm=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn4*ioL %in: olv*, out: cmyn4 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {dup dup /v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn4*ioL %in: olv*, out: cmyn4 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn4*ioL %in: olv*, out: cmyn4 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def }%END colorm=0 {%BEG colorm=1 /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioL trans_rgb3*_cmyn4*ioL %needs olv* for input %produces cmyn4*ioL as output c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {dup dup /v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioL trans_rgb3*_cmyn4*ioL %in: olv*, out: cmyn4 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioL trans_rgb3*_cmyn4*ioL %in: olv*, out: cmyn4 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def } ifelse %END colorm=1 }%END %xcharti>=0 {%BEG %xcharti=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* l* v* slrgbcolor } def /setgray {dup dup /v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* slgray } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def /n4*Fa 0 def} {/o* 1 def /l* 1 def /v* 1 def /n4*Fa n*n def} ifelse /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def c4*Fa m4*Fa y4*Fa n4*Fa slcmykcolor } def } ifelse %END %xcharti=0 'zm60'COLM58LT.PS cmyn4* 20090901 } if %ColSpx=2 %************************************************************* ColSpx 3 eq {%ColSpx=3 /tLAB 0 def xcharti 1 ge {%xcharti>=1 'zm60'COLM559LT.PS cmyn5* 20090901 colorm 0 eq {%BEG colorm=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn5*ioL %in: olv*, out: cmyn5 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {dup dup /v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn5*ioL %in: olv*, out: cmyn5 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn5*ioL %in: olv*, out: cmyn5 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def }%END colorm=0 {%BEG colorm=1 /olvtrans 0 def %no change of olv* /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioL trans_rgb3*_cmyn5*ioL %in: olv*, out: cmyn5 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {dup dup /v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioL trans_rgb3*_cmyn5*ioL %in: olv*, out: cmyn5 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioL /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioL trans_rgb3*_cmyn5*ioL %in: olv*, out: cmyn5 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def } ifelse %END colorm=1 }%END %xcharti>=0 {%BEG %xcharti=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* l* v* slrgbcolor } def /setgray {dup dup /v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* slgray } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def /n4*Fa 0 def} {/o* 1 def /l* 1 def /v* 1 def /n4*Fa n*n def} ifelse /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def c4*Fa m4*Fa y4*Fa n4*Fa slcmykcolor } def } ifelse %END %xcharti=0 'zm60'COLM559LT.PS cmyn5* 20090901 } if %ColSpx=3 } bind def %BEG Procedure proc_ColSep*ioL ColourSeparation for NP-file 20090901 %***************************************************************************** %END IE77Y/Y10-7N.EPS, ident. for NP-(*ioL), FP-files (*ioL) 20090901 %***************************************************************************** %************************************************************************ %BEG IE77Y/Y10-7N.EPS, Procedures for all test elements 20090901 %************************************************************************ /tzNW [0.000 0.067 0.132 0.200 0.267 0.333 0.400 0.467 0.533 0.600 0.667 0.733 0.800 0.867 0.933 1.000 0.000 0.250 0.500 0.750 1.000] def /tzWN [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tzZW [0.500 0.533 0.567 0.600 0.633 0.667 0.700 0.733 0.767 0.800 0.833 0.867 0.900 0.933 0.967 1.000 0.500 0.625 0.750 0.875 1.000] def /tzWZ [1.000 0.967 0.933 0.900 0.867 0.833 0.800 0.767 0.733 0.700 0.667 0.633 0.600 0.567 0.533 0.500 1.000 0.875 0.750 0.625 0.500] def /tzNZ [0.000 0.033 0.067 0.100 0.133 0.167 0.200 0.233 0.267 0.300 0.333 0.367 0.400 0.433 0.467 0.500 0.000 0.125 0.250 0.375 0.500] def /tzZN [0.500 0.467 0.433 0.400 0.367 0.333 0.300 0.267 0.233 0.200 0.167 0.133 0.100 0.067 0.033 0.000 0.500 0.375 0.250 0.125 0.000] def /tza0 [0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000] def /tza1 [1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000] def %ENDE %*********************************************************************************** %*********************************************************************************** /proc_rosette { %BEG procedure rosette %requires 0<=ibild<=5 %requires DEintp=0,1 DEintp 0 eq xcharti 0 eq or {%DEintp=0,1 /tefaolvN [(N-O) (N-L) (N-V) (N-W) (N-Z)] def /tefaolvZ [(Z-O) (Z-L) (Z-V) (Z-W) (Z-N)] def /tefaolvW [(W-O) (W-L) (W-V) (W-N) (W-Z)] def /tefacmyN [(N-C) (N-M) (N-Y) (N-W) (N-Z)] def /tefacmyZ [(Z-C) (Z-M) (Z-Y) (Z-W) (Z-N)] def /tefacmyW [(W-C) (W-M) (W-Y) (W-N) (W-Z)] def } %DEintp=0 { %DEintp=1 /tefaolvN [(N-R) (N-G) (N-B) (N-W) (N-Z)] def /tefaolvZ [(Z-R) (Z-G) (Z-B) (Z-W) (Z-N)] def /tefaolvW [(W-R) (W-G) (W-B) (W-N) (W-Z)] def /tefacmyN [(N-C') (N-M') (N-J) (N-W) (N-Z)] def /tefacmyZ [(Z-C') (Z-M') (Z-J) (Z-W) (Z-N)] def /tefacmyW [(W-C') (W-M') (W-J) (W-N) (W-Z)] def } ifelse /colaolvN [{tgo} {tgl} {tgv} {tgw} {tgz}] def /colaolvZ [{tgo} {tgl} {tgv} {tgw} {tgn}] def /colaolvW [{tgo} {tgl} {tgv} {tgn} {tgz}] def /colacmyN [{tgc} {tgm} {tgy} {tgw} {tgz}] def /colacmyZ [{tgc} {tgm} {tgy} {tgw} {tgn}] def /colacmyW [{tgc} {tgm} {tgy} {tgn} {tgz}] def /colbolvN [{tgc} {tgm} {tgy} {tgo} {tgo}] def /colbolvZ [{tgc} {tgm} {tgy} {tgo} {tgo}] def /colbolvW [{tgc} {tgm} {tgy} {tgo} {tgo}] def /colbcmyN [{tgo} {tgl} {tgv} {tgo} {tgo}] def /colbcmyZ [{tgo} {tgl} {tgv} {tgo} {tgo}] def /colbcmyW [{tgo} {tgl} {tgv} {tgo} {tgo}] def /tefa 5 array def /cola 5 array def /colb 5 array def 0 1 4 {/ncol exch def %ncol=0,4 ibild 0 eq {tefa ncol tefaolvN ncol get put cola ncol colaolvN ncol get put colb ncol colbolvN ncol get put } if ibild 1 eq {tefa ncol tefaolvZ ncol get put cola ncol colaolvZ ncol get put colb ncol colbolvZ ncol get put } if ibild 2 eq {tefa ncol tefaolvW ncol get put cola ncol colaolvW ncol get put colb ncol colbolvW ncol get put } if ibild 3 eq {tefa ncol tefacmyN ncol get put cola ncol colacmyN ncol get put colb ncol colbcmyN ncol get put } if ibild 4 eq {tefa ncol tefacmyZ ncol get put cola ncol colacmyZ ncol get put colb ncol colbcmyZ ncol get put } if ibild 5 eq {tefa ncol tefacmyW ncol get put cola ncol colacmyW ncol get put colb ncol colbcmyW ncol get put } if } for %ncol=0,4 ibild 0 eq ibild 3 eq or {/TYP (N) def} if ibild 1 eq ibild 4 eq or {/TYP (Z) def} if ibild 2 eq ibild 5 eq or {/TYP () def} if %W 0 0 0 setrgbcolor TK 0 -230 moveto ibild 0 eq ibild 3 eq or {(IE770-5, ) show}{(IE771-5, ) show} ifelse (Bild ) showde (Picture ) showen ibild 3 ge {(B2) show}{(D2) show} ifelse TYP show (: ) show (Radialgitter ) showde (Radial gratings ) showen TBIK 0 1 4 {/ncol exch def %ncol=0,4 tefa ncol get show ncol 3 le {(, ) show} {(; ) show} ifelse } for %ncol=0,4 TIK (PS) show TK (-Operator) showde ( operator) showen TIK DEintp 0 eq xcharti 0 eq or {( olv* setrgbcolor ) show} {( rgb* setrgbcolor ) show} ifelse TK ibild 0 eq ibild 3 eq or {0 0 0 setrgbcolor} if ibild 1 eq ibild 4 eq or {0.5 0.5 0.5 setrgbcolor} if ibild 2 eq ibild 5 eq or {1 1 1 setrgbcolor} if 0 0 moveto 13000 0 rlineto 0 4000 rlineto -13000 0 rlineto closepath fill 0 0 0 setrgbcolor 0 0 moveto 13000 0 rlineto 0 4000 rlineto -13000 0 rlineto closepath stroke /xab 2500 def 0 1 4 {/ncol exch def %ncol=0,4 xab ncol mul 0 translate %neuer Rastermittelpunkt und Nullpunkt fuer Rosette, Radius 1,0 cm 1250 2100 translate ibild 0 eq ibild 3 eq or {1 1 1}{0 0 0} ifelse setrgbcolor newpath 0 0 0500 0 360 arc closepath stroke newpath 0 0 1000 0 360 arc closepath stroke cola ncol get exec 0 10 350 {newpath 0 0 moveto 0 0 1200 4 -1 roll dup 5 add arc closepath fill} for colb ncol get exec newpath 0 0 0300 0 360 arc closepath stroke -1250 -2100 translate %Text Rosette (Siemensstern) ibild 0 eq ibild 3 eq or {1 1 1} {0 0 0} ifelse setrgbcolor TBK 200 0100 moveto (Radialgitter ) showde (Radial grating ) showen TBIK tefa ncol get show tgz TBM 1250 500 add 2300 moveto (10) show 1250 1000 add 2300 moveto (20) show xab ncol mul neg 0 translate } for %ncol=0,4 } def %END proc_rosette %********************************************************** /proc_16step {%BEG proc_16step %requires 0<=ibild<=5 %requires DEintp=0,1 DEintp 0 eq xcharti 0 eq or {%DEintp=0,1 /tefaolvN (N-O, N-L, N-V, W-N) def /tefaolvZ (Z-O, Z-L, Z-V, W-N) def /tefaolvW (W-O, W-L, W-V, W-N) def /tefacmyN (N-C, N-M, N-Y, W-N) def /tefacmyZ (Z-C, Z-M, Z-Y, W-N) def /tefacmyW (W-C, W-M, W-Y, W-N) def /tenfolvN [(O) (L) (V) (N)] def /tenfolvZ [(O) (L) (V) (N)] def /tenfolvW [(O) (L) (V) (N)] def /tenfcmyN [(C) (M) (Y) (N)] def /tenfcmyZ [(C) (M) (Y) (N)] def /tenfcmyW [(C) (M) (Y) (N)] def } %DEintp=0 { %DEintp=1 /tefaolvN (N-R, N-G, N-B, W-N) def /tefaolvZ (Z-R, Z-G, Z-B, W-N) def /tefaolvW (W-R, W-G, W-B, W-N) def /tefacmyN (N-C', N-M', N-J, W-N) def /tefacmyZ (Z-C', Z-M', Z-J, W-N) def /tefacmyW (W-C', W-M', W-J, W-N) def /tenfolvN [(R) (G) (B) (N)] def /tenfolvZ [(R) (G) (B) (N)] def /tenfolvW [(R) (G) (B) (N)] def /tenfcmyN [(C') (M') (J) (N)] def /tenfcmyZ [(C') (M') (J) (N)] def /tenfcmyW [(C') (M') (J) (N)] def } ifelse /colaolvN [{tgw} {tgo} {tgl} {tgv} {tgz}] def /colaolvZ [{tgn} {tgo} {tgl} {tgv} {tgw}] def /colaolvW [{tgn} {tgo} {tgl} {tgv} {tgz}] def /colacmyN [{tgw} {tgc} {tgm} {tgy} {tgz}] def /colacmyZ [{tgn} {tgc} {tgm} {tgy} {tgw}] def /colacmyW [{tgn} {tgc} {tgm} {tgy} {tgz}] def /tzo3N 48 array def /tzl3N 48 array def /tzv3N 48 array def /tzn3N 48 array def 0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %N-OLV tzo3N nfar3 tzNW nfar get put tzo3N nfar3 1 add 0.0 put tzo3N nfar3 2 add 0.0 put tzl3N nfar3 0.0 put tzl3N nfar3 1 add tzNW nfar get put tzl3N nfar3 2 add 0.0 put tzv3N nfar3 0.0 put tzv3N nfar3 1 add 0.0 put tzv3N nfar3 2 add tzNW nfar get put tzn3N nfar3 tzWN nfar get put tzn3N nfar3 1 add tzWN nfar get put tzn3N nfar3 2 add tzWN nfar get put} for /tzo3Z 48 array def /tzl3Z 48 array def /tzv3Z 48 array def /tzn3Z 48 array def 0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %Z-OLV tzo3Z nfar3 tzZW nfar get put tzo3Z nfar3 1 add tzZN nfar get put tzo3Z nfar3 2 add tzZN nfar get put tzl3Z nfar3 tzZN nfar get put tzl3Z nfar3 1 add tzZW nfar get put tzl3Z nfar3 2 add tzZN nfar get put tzv3Z nfar3 tzZN nfar get put tzv3Z nfar3 1 add tzZN nfar get put tzv3Z nfar3 2 add tzZW nfar get put tzn3Z nfar3 tzWN nfar get put tzn3Z nfar3 1 add tzWN nfar get put tzn3Z nfar3 2 add tzWN nfar get put} for /tzo3W 48 array def /tzl3W 48 array def /tzv3W 48 array def /tzn3W 48 array def 0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %W-OLV tzo3W nfar3 1.0 put tzo3W nfar3 1 add tzWN nfar get put tzo3W nfar3 2 add tzWN nfar get put tzl3W nfar3 tzWN nfar get put tzl3W nfar3 1 add 1.0 put tzl3W nfar3 2 add tzWN nfar get put tzv3W nfar3 tzWN nfar get put tzv3W nfar3 1 add tzWN nfar get put tzv3W nfar3 2 add 1.0 put tzn3W nfar3 tzWN nfar get put tzn3W nfar3 1 add tzWN nfar get put tzn3W nfar3 2 add tzWN nfar get put} for /tzc3N 48 array def /tzm3N 48 array def /tzy3N 48 array def /tzn3N 48 array def 0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %N-CMY tzc3N nfar3 0.0 put tzc3N nfar3 1 add tzNW nfar get put tzc3N nfar3 2 add tzNW nfar get put tzm3N nfar3 tzNW nfar get put tzm3N nfar3 1 add 0.0 put tzm3N nfar3 2 add tzNW nfar get put tzy3N nfar3 tzNW nfar get put tzy3N nfar3 1 add tzNW nfar get put tzy3N nfar3 2 add 0.0 put tzn3N nfar3 tzWN nfar get put tzn3N nfar3 1 add tzWN nfar get put tzn3N nfar3 2 add tzWN nfar get put} for /tzc3Z 48 array def /tzm3Z 48 array def /tzy3Z 48 array def /tzn3Z 48 array def 0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %Z-CMY tzc3Z nfar3 tzZN nfar get put tzc3Z nfar3 1 add tzZW nfar get put tzc3Z nfar3 2 add tzZW nfar get put tzm3Z nfar3 tzZW nfar get put tzm3Z nfar3 1 add tzZN nfar get put tzm3Z nfar3 2 add tzZW nfar get put tzy3Z nfar3 tzZW nfar get put tzy3Z nfar3 1 add tzZW nfar get put tzy3Z nfar3 2 add tzZN nfar get put tzn3Z nfar3 tzWN nfar get put tzn3Z nfar3 1 add tzWN nfar get put tzn3Z nfar3 2 add tzWN nfar get put} for /tzc3W 48 array def /tzm3W 48 array def /tzy3W 48 array def /tzn3W 48 array def 0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %W-CMY tzc3W nfar3 tzWN nfar get put tzc3W nfar3 1 add 1.0 put tzc3W nfar3 2 add 1.0 put tzm3W nfar3 1.0 put tzm3W nfar3 1 add tzWN nfar get put tzm3W nfar3 2 add 1.0 put tzy3W nfar3 1.0 put tzy3W nfar3 1 add 1.0 put tzy3W nfar3 2 add tzWN nfar get put tzn3W nfar3 tzWN nfar get put tzn3W nfar3 1 add tzWN nfar get put tzn3W nfar3 2 add tzWN nfar get put} for /tenf 5 array def /cola 5 array def /tza3 48 array def ibild 0 eq {/tefa tefaolvN def} if ibild 1 eq {/tefa tefaolvZ def} if ibild 2 eq {/tefa tefaolvW def} if ibild 3 eq {/tefa tefacmyN def} if ibild 4 eq {/tefa tefacmyZ def} if ibild 5 eq {/tefa tefacmyW def} if 0 1 3 {/ncol exch def %ncol=0,3 ibild 0 eq {cola ncol colaolvN ncol get put tenf ncol tenfolvN ncol get put } if ibild 1 eq {cola ncol colaolvZ ncol get put tenf ncol tenfolvZ ncol get put } if ibild 2 eq {cola ncol colaolvW ncol get put tenf ncol tenfolvW ncol get put } if ibild 3 eq {cola ncol colacmyN ncol get put tenf ncol tenfcmyN ncol get put } if ibild 4 eq {cola ncol colacmyZ ncol get put tenf ncol tenfcmyZ ncol get put } if ibild 5 eq {cola ncol colacmyW ncol get put tenf ncol tenfcmyW ncol get put } if } for %ncol=0,`3` ibild 0 eq ibild 3 eq or {/TYP (N) def} if ibild 1 eq ibild 4 eq or {/TYP (Z) def} if ibild 2 eq ibild 5 eq or {/TYP () def} if %W 0 0 0 setrgbcolor TK 0 -230 moveto ibild 0 eq ibild 3 eq or {(IE770-1, ) show}{(IE771-1, ) show} ifelse (Bild ) showde (Picture ) showen ibild 3 ge {(B4) show}{(D4) show} ifelse TYP show (: ) show (16 gleichabst\344ndige Stufen ) showde (16 equidistant steps ) showen TBIK tefa show (; ) show TIK (PS) show TK (-Operator) showde ( operator) showen TIK DEintp 0 eq xcharti 0 eq or {( olv* setrgbcolor ) show} {( rgb* setrgbcolor ) show} ifelse TK ibild 0 eq ibild 3 eq or {0 0 0 setrgbcolor} if ibild 1 eq ibild 4 eq or {0.5 0.5 0.5 setrgbcolor} if ibild 2 eq ibild 5 eq or {1 1 1 setrgbcolor} if 0 0 moveto 11200 0 rlineto 0 4000 rlineto -11200 0 rlineto closepath fill 0 0 0 setrgbcolor 0 0 moveto 11200 0 rlineto 0 4000 rlineto -11200 0 rlineto closepath stroke /yab -850 def 000 3950 translate /n* [(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (A) (B) (C) (D) (E) (F)] def ibild 0 eq ibild 3 eq or {1 1 1} {0 0 0} ifelse setrgbcolor 0 1 16 {/j exch def /ix0 j 700 mul def /iy0 -850 def %j=0,16 ix0 25 add iy0 3100 sub moveto 000 4000 rlineto -50 000 rlineto 000 -4000 rlineto closepath fill } for %j=0,16 0 1 3 {/ncol exch def %=0,3 fuer O,L,V,N, or C,M,Y,N ibild 0 eq {%ibild=0 0 1 47 {/n exch def ncol 0 eq {tza3 n tzo3N n get put} if ncol 1 eq {tza3 n tzl3N n get put} if ncol 2 eq {tza3 n tzv3N n get put} if ncol 3 eq {tza3 n tzn3N n get put} if } for } if %ibild=0 ibild 1 eq {%ibild=1 0 1 47 {/n exch def ncol 0 eq {tza3 n tzo3Z n get put} if ncol 1 eq {tza3 n tzl3Z n get put} if ncol 2 eq {tza3 n tzv3Z n get put} if ncol 3 eq {tza3 n tzn3Z n get put} if } for } if %ibild=1 ibild 2 eq {%ibild=2 0 1 47 {/n exch def ncol 0 eq {tza3 n tzo3W n get put} if ncol 1 eq {tza3 n tzl3W n get put} if ncol 2 eq {tza3 n tzv3W n get put} if ncol 3 eq {tza3 n tzn3W n get put} if } for } if %ibild=2 ibild 3 eq {%ibild=3 0 1 47 {/n exch def ncol 0 eq {tza3 n tzc3N n get put} if ncol 1 eq {tza3 n tzm3N n get put} if ncol 2 eq {tza3 n tzy3N n get put} if ncol 3 eq {tza3 n tzn3N n get put} if } for } if %ibild=3 ibild 4 eq {%ibild=4 0 1 47 {/n exch def ncol 0 eq {tza3 n tzc3Z n get put} if ncol 1 eq {tza3 n tzm3Z n get put} if ncol 2 eq {tza3 n tzy3Z n get put} if ncol 3 eq {tza3 n tzn3Z n get put} if } for } if %ibild=4 ibild 5 eq {%ibild=5 0 1 47 {/n exch def ncol 0 eq {tza3 n tzc3W n get put} if ncol 1 eq {tza3 n tzm3W n get put} if ncol 2 eq {tza3 n tzy3W n get put} if ncol 3 eq {tza3 n tzn3W n get put} if } for } if %ibild=5 0 yab translate CBKK %square test samples /l 0 def 0 1 15 {/j exch def /j3 j 3 mul def /ix0 j 700 mul def /iy0 0 def tza3 j3 get tza3 j3 1 add get tza3 j3 2 add get /o3*dd00 tza3 j3 get def /l3*dd00 tza3 j3 1 add get def /v3*dd00 tza3 j3 2 add get def setrgbcolor /o3*ed00 o* def /l3*ed00 l* def /v3*ed00 v* def l 0 eq {/ixd 700 def /iyd 700 def %ixd,iyd ix0 iy0 moveto ixd 000 rlineto 000 iyd rlineto ixd neg 000 rlineto closepath fill } if %ixd,iyd % 1 1 1 setrgbcolor % ix0 125 add iy0 125 add moveto % 450 000 rlineto 0 450 rlineto % -450 000 rlineto closepath fill % 0 0 0 setrgbcolor % ix0 125 add iy0 125 add 300 add moveto % xcharti 0 eq {o3*dd00 cvsshow2} if % xcharti 1 ge {o3*ed00 cvsshow2} if % ix0 125 add iy0 125 add 150 add moveto % xcharti 0 eq {l3*dd00 cvsshow2} if % xcharti 1 ge {l3*ed00 cvsshow2} if % ix0 125 add iy0 125 add 000 add moveto % xcharti 0 eq {v3*dd00 cvsshow2} if % xcharti 1 ge {v3*ed00 cvsshow2} if } for %j %ibild 0 eq ibild 3 eq or {1 1 1} {0 0 0} ifelse setrgbcolor 0 0 0 setrgbcolor TBIG 11350 300 moveto tenf ncol get show ibild 0 eq ibild 3 eq or {1 1 1} {0 0 0} ifelse setrgbcolor TBM ncol 3 eq { %N 0 1 15 {/j exch def /ix0 250 j 700 mul add def /iy0 -350 def ix0 iy0 moveto n* j get show } for %j } if %N } for %ncol=0,1,2,3 fuer O, L, V, N 000 -550 translate 25 setlinewidth 0 0 0 setrgbcolor -25 0 moveto 11250 0 rlineto 0 4000 rlineto -11250 0 rlineto closepath stroke } def %END porc_16stepOLV %********************************************************** /proc_lettersize {%BEG proc_lettersize %requires 0<=ibild<=5 %requires DEintp=0,1 DEintp 0 eq xcharti 0 eq or {%DEintp=0,1 /tefaolvN (W, O, L, V, Z) def /tefaolvZ (N, O, L, V, W) def /tefaolvW (N, O, L, V, Z) def /tefacmyN (W, C, M, Y, Z) def /tefacmyZ (N, C, M, Y, W) def /tefacmyW (N, C, M, Y, Z) def /tenfolvN [(W) (O) (L) (V) (Z)] def /tenfolvZ [(N) (O) (L) (V) (W)] def /tenfolvW [(N) (O) (L) (V) (Z)] def /tenfcmyN [(W) (C) (M) (Y) (Z)] def /tenfcmyZ [(N) (C) (M) (Y) (W)] def /tenfcmyW [(N) (C) (M) (Y) (Z)] def } %DEintp=0 { %DEintp=1 /tefaolvN (W, R, G, B, Z) def /tefaolvZ (N, R, G, B, W) def /tefaolvW (N, R, G, B, Z) def /tefacmyN (W, C', M', J, Z) def /tefacmyZ (N, C', M', J, W) def /tefacmyW (N, C', M', J, Z) def /tenfolvN [(W) (R) (G) (B) (Z)] def /tenfolvZ [(N) (R) (G) (B) (W)] def /tenfolvW [(N) (R) (G) (B) (Z)] def /tenfcmyN [(W) (C') (M') (J) (Z)] def /tenfcmyZ [(N) (C') (M') (J) (W)] def /tenfcmyW [(N) (C') (M') (J) (Z)] def } ifelse /colaolvN [{tgw} {tgo} {tgl} {tgv} {tgz}] def /colaolvZ [{tgn} {tgo} {tgl} {tgv} {tgw}] def /colaolvW [{tgn} {tgo} {tgl} {tgv} {tgz}] def /colacmyN [{tgw} {tgc} {tgm} {tgy} {tgz}] def /colacmyZ [{tgn} {tgc} {tgm} {tgy} {tgw}] def /colacmyW [{tgn} {tgc} {tgm} {tgy} {tgz}] def /na [(+-:.) (xyz;) (tuvw) (pqrs) (lmno) (hijk) (defg) (!abc) (lmno) (hijk) (defg) (!abc) (+-:.) (xyz;) (tuvw) (pqrs) (pqrs) (lmno) (hijk) (+-:.) (xyz;) (tuvw) (defg) (!abc) (tuvw) (pqrs) (lmno) (hijk) (+-:.) (!abc) (xyz;) (defg)] def /ar 72 def /ak [4 3 2 8 7 1 5 6 8 5 3 7 2 1 4 6 6 3 5 4 3 7 2 8 4 1 6 7 8 2 3 5 1 5 4 8 7 2 3 6 8 1 7 6 2 5 4 3 1 2 5 8 4 3 6 7 5 3 2 8 7 6 1 4 6 4 1 2 7 3 5 8 7 1 8 5 2 6 3 4 7 6 3 4 8 5 2 1 7 6 1 4 5 3 2 8 4 3 2 8 7 1 5 6 2 1 4 6 8 5 3 7 8 2 7 1 4 5 3 6 6 7 8 2 5 3 1 4 2 1 5 4 8 3 6 7 8 2 4 6 7 5 3 1 8 3 7 5 2 6 1 4 6 1 4 8 2 5 7 3] def /ng [(10) ( 8) ( 6) ( 4)] def /xtransl [0 3500 6500 9000] def /tenf 5 array def /cola 5 array def ibild 0 eq {/tefa tefaolvN def} if ibild 1 eq {/tefa tefaolvZ def} if ibild 2 eq {/tefa tefaolvW def} if ibild 3 eq {/tefa tefacmyN def} if ibild 4 eq {/tefa tefacmyZ def} if ibild 5 eq {/tefa tefacmyW def} if 0 1 4 {/ncol exch def %ncol=0,4 ibild 0 eq {cola ncol colaolvN ncol get put tenf ncol tenfolvN ncol get put } if ibild 1 eq {cola ncol colaolvZ ncol get put tenf ncol tenfolvZ ncol get put } if ibild 2 eq {cola ncol colaolvW ncol get put tenf ncol tenfolvW ncol get put } if ibild 3 eq {cola ncol colacmyN ncol get put tenf ncol tenfcmyN ncol get put } if ibild 4 eq {cola ncol colacmyZ ncol get put tenf ncol tenfcmyZ ncol get put } if ibild 5 eq {cola ncol colacmyW ncol get put tenf ncol tenfcmyW ncol get put } if } for %ncol=0,4 ibild 0 eq ibild 3 eq or {/TYP (N) def} if ibild 1 eq ibild 4 eq or {/TYP (Z) def} if ibild 2 eq ibild 5 eq or {/TYP () def} if %W 0 0 0 setrgbcolor TK 0 -230 moveto ibild 0 eq ibild 3 eq or {(IE770-3, ) show}{(IE771-3, ) show} ifelse (Bild ) showde (Picture ) showen ibild 3 ge {(B5) show}{(D5) show} ifelse TYP show (: ) show (Schrift und Landoltringe ) showde (Script and Landolt\255rings ) showen TBIK tefa show (; ) show TIK (PS) show TK (-Operator) showde ( operator) showen TIK DEintp 0 eq xcharti 0 eq or {( olv* setrgbcolor ) show} {( rgb* setrgbcolor ) show} ifelse TK ibild 0 eq ibild 3 eq or {0 0 0 setrgbcolor} if ibild 1 eq ibild 4 eq or {0.5 0.5 0.5 setrgbcolor} if ibild 2 eq ibild 5 eq or {1 1 1 setrgbcolor} if 0 0 moveto 11200 0 rlineto 0 4000 rlineto -11200 0 rlineto closepath fill 0 0 0 setrgbcolor 0 0 moveto 11200 0 rlineto 0 4000 rlineto -11200 0 rlineto closepath stroke 200 000 translate %200 trans /igroe -1 def /mg -1 def 10 -2 04 {/n exch def /mg mg 1 add def /igroe igroe 1 add def /n480 40 n mul def /n600 45 n mul def /n300 25 n mul def /n150 15 n mul def /n360 30 n mul def /nar 6 n mul def /n6000 480 n mul def /n5000 400 n mul def %STOP xtransl mg get 0 translate /ix0 0 def n480 /Times-Roman FS 0 1 07 {/j exch def /iy0 3500 j n600 mul sub def ibild 0 eq ibild 3 eq or {1 1 1} {0 0 0} ifelse setrgbcolor ix0 100 add iy0 200 add moveto na j igroe 8 mul add get exec show j 7 eq { %Zusatz Schriftgroesse 10, 8, 6, 4 ix0 100 add iy0 200 add n600 sub moveto ng mg get exec show} if } for 0 1 04 {/ncol exch def /ix0 n600 2 mul ncol n600 mul add def /iy0 3500 8 n600 mul sub 0 1 07 {/j exch def /iy0 3500 j n600 mul sub def /k ncol 8 mul j add igroe 32 mul add def n setlinewidth cola ncol get exec newpath nar setlinewidth ix0 300 add iy0 300 add nar 2.5 mul 0 360 arc closepath fill ibild 0 eq ibild 3 eq or {0 0 0 setrgbcolor} if ibild 1 eq ibild 4 eq or {0.5 0.5 0.5 setrgbcolor} if ibild 2 eq ibild 5 eq or {1 1 1 setrgbcolor} if ix0 300 add iy0 300 add nar 1.5 mul 0 360 arc closepath fill ix0 300 add iy0 300 add moveto /m ak k get exec def m 1 eq {nar 2.6 mul 0 rlineto closepath stroke} if %0 m 2 eq {nar 2.6 mul 45 sin mul nar 2.6 mul 45 cos mul rlineto closepath stroke} if %45 m 3 eq {0 nar 2.6 mul rlineto closepath stroke} if %90 m 4 eq {nar 2.6 mul 135 sin mul nar 2.6 mul 135 cos mul rlineto closepath stroke} if %135 m 5 eq {nar 2.6 mul neg 0 rlineto closepath stroke} if %0 m 6 eq {nar 2.6 mul 235 sin mul nar 2.6 mul 235 cos mul rlineto closepath stroke} if %45 m 7 eq {0 nar 2.6 mul neg rlineto closepath stroke} if %0 m 8 eq {nar 2.6 mul 315 sin mul nar 2.6 mul 315 cos mul rlineto closepath stroke} if %45 } for %j acht Orientierungen ibild 0 eq ibild 3 eq or {1 1 1} {0 0 0} ifelse setrgbcolor ix0 300 add n150 sub iy0 300 add n600 sub n150 sub moveto tenf ncol get show } for %ncol=0,4 xtransl mg get neg 0 translate } for %n vier Schrift-Groessen -200 000 translate %200 trans } def %END proc_lettersize %********************************************************** /proc_Landolt { %BEG proc_Landolt %requires 0<=ibild<=5 %requires DEintp=0,1 %requires ncol=0,1 or 2,3 DEintp 0 eq xcharti 0 eq or {%DEintp=0,1 ncol1 0 eq { %ncol1=0,#0 /tefaolvN (N-O, N-L) def /tefaolvZ (Z-O, Z-L) def /tefaolvW (W-O, W-L) def /tefacmyN (N-C, N-M) def /tefacmyZ (Z-C, Z-M) def /tefacmyW (W-C, W-M) def /tefaolvN1 (N-O) def /tefaolvZ1 (Z-O) def /tefaolvW1 (W-O) def /tefacmyN1 (N-C) def /tefacmyZ1 (Z-C) def /tefacmyW1 (W-C) def /tefaolvN2 (N-L) def /tefaolvZ2 (Z-L) def /tefaolvW2 (W-L) def /tefacmyN2 (N-M) def /tefacmyZ2 (Z-M) def /tefacmyW2 (W-M) def } %ncol1=0 { %ncol1#0 /tefaolvN (N-V, W-N) def /tefaolvZ (Z-V, W-N) def /tefaolvW (W-V, W-N) def /tefacmyN (N-Y, W-N) def /tefacmyZ (Z-Y, W-N) def /tefacmyW (W-Y, W-N) def /tefaolvN1 (N-V) def /tefaolvZ1 (Z-V) def /tefaolvW1 (W-V) def /tefacmyN1 (N-Y) def /tefacmyZ1 (Z-Y) def /tefacmyW1 (W-Y) def /tefaolvN2 (W-N) def /tefaolvZ2 (W-N) def /tefaolvW2 (W-N) def /tefacmyN2 (W-N) def /tefacmyZ2 (W-N) def /tefacmyW2 (W-N) def } ifelse %ncol1=0,#0 }%DEintp=0 {%DEintp=1 ncol1 0 eq { %ncol1=0,#0 /tefaolvN (N-R, N-G) def /tefaolvZ (Z-R, Z-G) def /tefaolvW (W-R, W-G) def /tefacmyN (N-C', N-M') def /tefacmyZ (Z-C', Z-M') def /tefacmyW (W-C', W-M') def /tefaolvN1 (N-R) def /tefaolvZ1 (Z-R) def /tefaolvW1 (W-R) def /tefacmyN1 (N-C') def /tefacmyZ1 (Z-C') def /tefacmyW1 (W-C') def /tefaolvN2 (N-G) def /tefaolvZ2 (Z-G) def /tefaolvW2 (W-G) def /tefacmyN2 (N-M') def /tefacmyZ2 (Z-M') def /tefacmyW2 (W-M') def } %ncol1=0 { %ncol1=#0 /tefaolvN (N-B, W-N) def /tefaolvZ (Z-B, W-N) def /tefaolvW (W-B, W-N) def /tefacmyN (N-J, W-N) def /tefacmyZ (Z-J, W-N) def /tefacmyW (W-J, W-N) def /tefaolvN1 (N-B) def /tefaolvZ1 (Z-B) def /tefaolvW1 (W-B) def /tefacmyN1 (N-J) def /tefacmyZ1 (Z-J) def /tefacmyW1 (W-J) def /tefaolvN2 (W-N) def /tefaolvZ2 (W-N) def /tefaolvW2 (W-N) def /tefacmyN2 (W-N) def /tefacmyZ2 (W-N) def /tefacmyW2 (W-N) def } ifelse %ncol1=0,#0 } ifelse %DEintp=0,1 /tzo3N 48 array def /tzl3N 48 array def /tzv3N 48 array def /tzn3N 48 array def 0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %N-OLV tzo3N nfar3 tzWN nfar get put tzo3N nfar3 1 add 1.0 put tzo3N nfar3 2 add 1.0 put tzl3N nfar3 1.0 put tzl3N nfar3 1 add tzWN nfar get put tzl3N nfar3 2 add 1.0 put tzv3N nfar3 1.0 put tzv3N nfar3 1 add 1.0 put tzv3N nfar3 2 add tzNW nfar get put tzn3N nfar3 tzWN nfar get put tzn3N nfar3 1 add tzWN nfar get put tzn3N nfar3 2 add tzWN nfar get put} for /tzo3Z 48 array def /tzl3Z 48 array def /tzv3Z 48 array def /tzn3Z 48 array def 0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %Z-OLV tzo3Z nfar3 tzNZ nfar get put tzo3Z nfar3 1 add tzWZ nfar get put tzo3Z nfar3 2 add tzWZ nfar get put tzl3Z nfar3 tzWZ nfar get put tzl3Z nfar3 1 add tzNZ nfar get put tzl3Z nfar3 2 add tzWZ nfar get put tzv3Z nfar3 tzWZ nfar get put tzv3Z nfar3 1 add tzWZ nfar get put tzv3Z nfar3 2 add tzNZ nfar get put tzn3Z nfar3 tzWN nfar get put tzn3Z nfar3 1 add tzWN nfar get put tzn3Z nfar3 2 add tzWN nfar get put} for /tzo3W 48 array def /tzl3W 48 array def /tzv3W 48 array def /tzn3W 48 array def 0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %W-OLV tzo3W nfar3 0.0 put tzo3W nfar3 1 add tzWN nfar get put tzo3W nfar3 2 add tzWN nfar get put tzl3W nfar3 tzWN nfar get put tzl3W nfar3 1 add 0.0 put tzl3W nfar3 2 add tzWN nfar get put tzv3W nfar3 tzWN nfar get put tzv3W nfar3 1 add tzWN nfar get put tzv3W nfar3 2 add 0.0 put tzn3W nfar3 tzWN nfar get put tzn3W nfar3 1 add tzWN nfar get put tzn3W nfar3 2 add tzWN nfar get put} for /tzc3N 48 array def /tzm3N 48 array def /tzy3N 48 array def /tzn3N 48 array def 0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %N-CMY tzc3N nfar3 1.0 put tzc3N nfar3 1 add tzNW nfar get put tzc3N nfar3 2 add tzNW nfar get put tzm3N nfar3 tzNW nfar get put tzm3N nfar3 1 add 1.0 put tzm3N nfar3 2 add tzNW nfar get put tzy3N nfar3 tzNW nfar get put tzy3N nfar3 1 add tzNW nfar get put tzy3N nfar3 2 add 1.0 put tzn3N nfar3 tzWN nfar get put tzn3N nfar3 1 add tzWN nfar get put tzn3N nfar3 2 add tzWN nfar get put} for /tzc3Z 48 array def /tzm3Z 48 array def /tzy3Z 48 array def /tzn3Z 48 array def 0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %Z-CMY tzc3Z nfar3 tzWZ nfar get put tzc3Z nfar3 1 add tzNZ nfar get put tzc3Z nfar3 2 add tzNZ nfar get put tzm3Z nfar3 tzNZ nfar get put tzm3Z nfar3 1 add tzWZ nfar get put tzm3Z nfar3 2 add tzNZ nfar get put tzy3Z nfar3 tzNZ nfar get put tzy3Z nfar3 1 add tzNZ nfar get put tzy3Z nfar3 2 add tzWZ nfar get put tzn3Z nfar3 tzWN nfar get put tzn3Z nfar3 1 add tzWN nfar get put tzn3Z nfar3 2 add tzWN nfar get put} for /tzc3W 48 array def /tzm3W 48 array def /tzy3W 48 array def /tzn3W 48 array def 0 1 15 {/nfar exch def /nfar3 nfar 3 mul def %W-CMY tzc3W nfar3 tzWN nfar get put tzc3W nfar3 1 add 0.0 put tzc3W nfar3 2 add 0.0 put tzm3W nfar3 0.0 put tzm3W nfar3 1 add tzWN nfar get put tzm3W nfar3 2 add 0.0 put tzy3W nfar3 0.0 put tzy3W nfar3 1 add 0.0 put tzy3W nfar3 2 add tzWN nfar get put tzn3W nfar3 tzWN nfar get put tzn3W nfar3 1 add tzWN nfar get put tzn3W nfar3 2 add tzWN nfar get put} for /tza3 48 array def ibild 0 eq {/tefa tefaolvN def /tefa1 tefaolvN1 def /tefa2 tefaolvN2 def} if ibild 1 eq {/tefa tefaolvZ def /tefa1 tefaolvZ1 def /tefa2 tefaolvZ2 def} if ibild 2 eq {/tefa tefaolvW def /tefa1 tefaolvW1 def /tefa2 tefaolvW2 def} if ibild 3 eq {/tefa tefacmyN def /tefa1 tefacmyN1 def /tefa2 tefacmyN2 def} if ibild 4 eq {/tefa tefacmyZ def /tefa1 tefacmyZ1 def /tefa2 tefacmyZ2 def} if ibild 5 eq {/tefa tefacmyW def /tefa1 tefacmyW1 def /tefa2 tefacmyW2 def} if ibild 0 eq ibild 3 eq or {/TYP (N) def} if ibild 1 eq ibild 4 eq or {/TYP (Z) def} if ibild 2 eq ibild 5 eq or {/TYP () def} if %W old number 0 0 0 setrgbcolor TK 0 -230 moveto ibild 0 eq ibild 3 eq or {(IE770-) show}{(IE771-) show} ifelse ncol1 0 eq {(5, ) show} {(7, ) show} ifelse (Bild ) showde (Picture ) showen ncol1 0 eq {ibild 3 ge {(B6) show}{(D6) show} ifelse} {ibild 3 ge {(B7) show}{(D7) show} ifelse} ifelse TYP show (: ) show (Landoltringe ) showde (Landolt\255rings ) showen TBIK tefa show (; ) show TIK (PS) show TK (-Operator) showde ( operator) showen TIK DEintp 0 eq xcharti 0 eq or {( olv* setrgbcolor ) show} {( rgb* setrgbcolor ) show} ifelse TK ibild 0 eq ibild 3 eq or {0 0 0 setrgbcolor} if ibild 1 eq ibild 4 eq or {0.5 0.5 0.5 setrgbcolor} if ibild 2 eq ibild 5 eq or {1 1 1 setrgbcolor} if 0 0 moveto 11200 0 rlineto 0 4000 rlineto -11200 0 rlineto closepath fill 0 0 0 setrgbcolor 0 0 moveto 11200 0 rlineto 0 4000 rlineto -11200 0 rlineto closepath stroke /xab 5450 def 50 0 translate /ar 80 def ar setlinewidth ncol1 1 ncol2 {/ncol exch def %=0,1,2,3 O,L,V,N xab ncol ncol1 sub mul 0 translate ncol 0 eq { %O 0 1 47 {/n exch def ibild 0 eq {tza3 n tzo3N n get put} if ibild 1 eq {tza3 n tzo3Z n get put} if ibild 2 eq {tza3 n tzo3W n get put} if ibild 3 eq {tza3 n tzc3N n get put} if ibild 4 eq {tza3 n tzc3Z n get put} if ibild 5 eq {tza3 n tzc3W n get put} if } for /nc [(F-D) (8-6) (2-0) (E-F) (7-8) (0-1)] def /nl [0 7 13 1 8 15] def %entspricht F 8 2, E 7 0, +2, -1 /ak [4 3 2 8 7 1 5 6 8 5 3 7 2 1 4 6 6 3 5 4 3 7 2 8 4 1 6 7 8 2 3 5 1 5 4 8 7 2 3 6 8 1 7 6 2 5 4 3] def /ndif1 2 def /ndif2 -1 def } if %C ncol 1 eq { %L 0 1 47 {/n exch def ibild 0 eq {tza3 n tzl3N n get put} if ibild 1 eq {tza3 n tzl3Z n get put} if ibild 2 eq {tza3 n tzl3W n get put} if ibild 3 eq {tza3 n tzm3N n get put} if ibild 4 eq {tza3 n tzm3Z n get put} if ibild 5 eq {tza3 n tzm3W n get put} if } for /nc [(F-D) (8-6) (2-0) (E-F) (7-8) (0-1)] def /nl [0 7 13 1 8 15] def %entspricht F 8 2, E 7 0, +2, -1 /ak [6 7 8 2 3 5 4 1 7 2 3 6 1 5 4 8 6 4 8 5 3 7 2 1 7 2 8 6 3 5 4 3 8 1 7 5 2 6 4 3 4 3 2 8 7 1 5 6] def /ndif1 2 def /ndif2 -1 def } if %M ncol 2 eq { %V 0 1 47 {/n exch def ibild 0 eq {tza3 n tzv3N n get put} if ibild 1 eq {tza3 n tzv3Z n get put} if ibild 2 eq {tza3 n tzv3W n get put} if ibild 3 eq {tza3 n tzy3N n get put} if ibild 4 eq {tza3 n tzy3Z n get put} if ibild 5 eq {tza3 n tzy3W n get put} if } for /nc [(F-D) (8-6) (2-0) (E-F) (7-8) (0-1)] def /nl [0 7 13 1 8 15] def %entspricht F 8 2, E 7 0, +2, -1 /ak [8 5 3 7 2 1 4 6 6 3 5 4 3 7 2 8 4 3 2 8 7 1 5 6 5 3 2 8 7 6 1 4 8 4 5 1 6 3 2 7 7 6 5 2 3 4 1 8] def /ndif1 2 def /ndif2 -1 def } if %V ncol 3 eq { %N 0 1 47 {/n exch def ibild 0 eq {tza3 n tzn3N n get put} if ibild 1 eq {tza3 n tzn3Z n get put} if ibild 2 eq {tza3 n tzn3W n get put} if ibild 3 eq {tza3 n tzn3N n get put} if ibild 4 eq {tza3 n tzn3Z n get put} if ibild 5 eq {tza3 n tzn3W n get put} if } for /nc [(F-D) (8-6) (2-0) (E-F) (7-8) (0-1)] def /nl [0 7 13 1 8 15] def %entspricht F 8 2, E 7 0, +2, -1 /ak [6 7 8 2 3 5 4 1 7 2 3 6 1 5 4 8 6 4 8 5 3 7 2 1 7 2 8 6 3 5 4 3 8 1 7 5 2 6 4 3 4 3 2 8 7 1 5 6] def /ndif1 2 def /ndif2 -1 def } if %N ibild 0 eq ibild 3 eq or {1 1 1 setrgbcolor}{0 0 0 setrgbcolor} ifelse 250 /Times-Roman FS 0 1 5 {/j exch def /iy0 500 j 600 mul add def 5000 iy0 moveto nc j get show } for %j TK 0 1 07 {/j exch def /ix0 0100 j 600 mul add def 0 1 05 {/l exch def /iy0 0300 l 600 mul add def /k l 8 mul j add def /i1 nl l get def /j3 i1 3 mul def 1 tza3 j3 get sub 1 tza3 j3 1 add get sub 1 tza3 j3 2 add get sub setrgbcolor /ixd 600 def ix0 iy0 moveto ixd 000 rlineto 000 ixd rlineto ixd neg 000 rlineto closepath fill l 2 le {/i1 nl l get ndif1 add def} {/i1 nl l get ndif2 add def} ifelse /j3 i1 3 mul def 1 tza3 j3 get sub 1 tza3 j3 1 add get sub 1 tza3 j3 2 add get sub setrgbcolor ix0 300 add iy0 300 add ar 2.5 mul 0 360 arc closepath fill /i1 nl l get def /j3 i1 3 mul def 1 tza3 j3 get sub 1 tza3 j3 1 add get sub 1 tza3 j3 2 add get sub setrgbcolor ix0 300 add iy0 300 add ar 1.5 mul 0 360 arc closepath fill /i1 nl l get def /j3 i1 3 mul def 1 tza3 j3 get sub 1 tza3 j3 1 add get sub 1 tza3 j3 2 add get sub setrgbcolor ix0 300 add iy0 300 add moveto /m ak k get exec def m 1 eq {ar 2.6 mul 0 rlineto closepath stroke} if %0 m 2 eq {ar 2.6 mul 45 sin mul ar 2.6 mul 45 cos mul rlineto closepath stroke} if %45 m 3 eq {0 ar 2.6 mul rlineto closepath stroke} if %90 m 4 eq {ar 2.6 mul 135 sin mul ar 2.6 mul 135 cos mul rlineto closepath stroke} if %135 m 5 eq {ar 2.6 mul neg 0 rlineto closepath stroke} if %0 m 6 eq {ar 2.6 mul 235 sin mul ar 2.6 mul 235 cos mul rlineto closepath stroke} if %45 m 7 eq {0 ar 2.6 mul neg rlineto closepath stroke} if %0 m 8 eq {ar 2.6 mul 315 sin mul ar 2.6 mul 315 cos mul rlineto closepath stroke} if %45 } for %l } for %j ibild 0 eq ibild 3 eq or {1 1 1 setrgbcolor}{0 0 0 setrgbcolor} ifelse 250 /Times-Roman FS 1500 50 moveto (Landoltringe ) showde (Landolt-rings ) showen 250 /Times-Italic FS ncol ncol1 eq {tefa1 show} {tefa2 show} ifelse 5000 50 moveto (Code) show xab ncol ncol1 sub mul neg 0 translate } for %ncol=ncol1,ncol2 50 neg 0 translate 15 setlinewidth } def %END proc_Landolt %********************************************************** %********************************************************** /proc_CIEColor {%BEG proc_CIEColor 0 0 0 setrgbcolor TK 0 -230 moveto (IE770-7, ) show %colorm 0 eq {(N, ) show} {(F, ) show} ifelse ibild 0 eq ibild 3 eq or {/TYP (N) def} if ibild 1 eq ibild 4 eq or {/TYP (Z) def} if ibild 2 eq ibild 5 eq or {/TYP () def} if %W (Bild ) showde (Picture ) showen ibild 3 ge {(B3) show}{(D3) show} ifelse TYP show (: ) show (14 CIE\255Pr\374ffarben ) showde (14 CIE\255test colours ) showen (sowie 2 + 16 Graustufen) showde (and 2 + 16 grey steps) showen TK (; PS\255Operator) showde (; Use of PS operator) showen (; Use of PS operator) showes (; Use of PS operator) showfr (; Use of PS operator) showit (; Use of PS operator) showjp (; Use of PS operator) showm TIK ( olv* setrgbcolor) show TK /adl_olv* [ %Begin adl_olv*; L=Linear model data 16 grey and 16 CIE-TC 00 0.0 0.0 0.0 %L 0.0000 olv*PR18/TV18 01 17.0 17.0 17.0 %L 0.0667 olv*PR18/TV18 02 34.0 34.0 34.0 %L 0.1333 olv*PR18/TV18 03 51.0 51.0 51.0 %L 0.2000 olv*PR18/TV18 04 68.0 68.0 68.0 %L 0.2667 olv*PR18/TV18 05 85.0 85.0 85.0 %L 0.3333 olv*PR18/TV18 06 102.0 102.0 102.0 %L 0.4000 olv*PR18/TV18 07 117.0 119.0 119.0 %L 0.4667 olv*PR18/TV18 08 136.0 136.0 136.0 %L 0.5333 olv*PR18/TV18 09 153.0 153.0 153.0 %L 0.6000 olv*PR18/TV18 10 170.0 170.0 170.0 %L 0.6667 olv*PR18/TV18 11 187.0 187.0 187.0 %L 0.7333 olv*PR18/TV18 12 204.0 204.0 204.0 %L 0.8000 olv*PR18/TV18 13 221.0 221.0 221.0 %L 0.8667 olv*PR18/TV18 14 238.0 238.0 238.0 %L 0.9333 olv*PR18/TV18 15 255.0 255.0 255.0 %L 1.0000 olv*PR18/TV18 16 184.2 117.1 134.5 %L no. 01 olv*PR18/CIETC 17 152.4 140.3 73.3 %L no. 02 olv*PR18/CIETC 18 122.3 189.6 31.5 %L no. 03 olv*PR18/CIETC 19 80.9 221.9 95.9 %L no. 04 olv*PR18/CIETC 20 89.6 203.0 174.5 %L no. 05 olv*PR18/CIETC 21 87.9 177.0 263.9 %L no. 06 olv*PR18/CIETC 22 130.2 124.4 284.1 %L no. 07 olv*PR18/CIETC 23 176.2 115.8 257.8 %L no. 08 olv*PR18/CIETC 24 205.8 -12.2 58.0 %L no. 09 olv*PR18/CIETC 25 231.9 212.4 34.8 %L no. 10 olv*PR18/CIETC 26 24.4 220.9 72.8 %L no. 11 olv*PR18/CIETC 27 -40.6 89.8 226.5 %L no. 12 olv*PR18/CIETC 28 237.1 186.9 166.5 %L no. 13 olv*PR18/CIETC 29 57.2 105.9 11.4 %L no. 14 olv*PR18/CIETC 30 0.0 0.0 0.0 %L 0.0000 olv*PR18/N 31 255.0 255.0 255.0 %L 1.0000 olv*PR18/W ] def %End adl_olv*' /s 700 def /xw 755 def /yw 1150 def % Quadratseite und Abstaende %%%% Def. eines Quadrates fuer die Ausgabe der Farbflaechen %%% /colRec {moveto s 0 rlineto 0 s rlineto s neg 0 rlineto %Quadrat closepath} bind def /iz7 7 def /iz74 iz7 4 mul def /iz741 iz74 1 add def /iz742 iz74 2 add def /iz743 iz74 3 add def /iz8 8 def /iz84 iz8 4 mul def /iz841 iz84 1 add def /iz842 iz84 2 add def /iz843 iz84 3 add def /tfz {adl_olv* iz741 get adl_olv* iz841 get add 0.5 mul 255 div adl_olv* iz742 get adl_olv* iz842 get add 0.5 mul 255 div adl_olv* iz743 get adl_olv* iz843 get add 0.5 mul 255 div setrgbcolor} def /tfn {0.001 0.001 0.001 setrgbcolor} def % Schriftfarbe = Schwarz /tfw {1.000 1.000 1.000 setrgbcolor} def % Schriftfarbe = Weiss tfz 0 0 moveto 13000 0 rlineto 0 4000 rlineto -13000 0 rlineto closepath fill 0 setgray 0 0 moveto 13000 0 rlineto 0 4000 rlineto -13000 0 rlineto closepath stroke 350 150 translate /n* [(16) (15) (14) (13) (12) (11) (10) ( 9) ( 8) ( 7) ( 6) ( 5) ( 4) ( 3) ( 2) ( 1)] def TBM 25 setlinewidth /s 770 def /s1 770 def /s2 670 def 0 setgray 0 1 16 {/j exch def /ix0 j s1 mul def %j ix0 1600 moveto 0 500 rlineto stroke } for %j 15 setlinewidth 0 1 15 {/j exch def /ix00 j s1 mul def /s s2 def /ix0 ix00 50 add def /iy0 2900 def /j4a j 4 mul def /j4c j 16 add 4 mul def adl_olv* j4c 1 add get 255 div adl_olv* j4c 2 add get 255 div adl_olv* j4c 3 add get 255 div setrgbcolor ix0 iy0 colRec fill /s s1 def /ix0 ix00 def /iy0 2050 def adl_olv* j4c 1 add get 255 div adl_olv* j4c 2 add get 255 div adl_olv* j4c 3 add get 255 div setrgbcolor ix0 iy0 colRec fill 0 setgray /ix0 ix00 def /iy0 1750 def ix0 250 add iy0 moveto n* 15 j sub get show /s s1 def /ix0 ix00 def /iy0 850 def adl_olv* j4a 1 add get 255 div adl_olv* j4a 2 add get 255 div adl_olv* j4a 3 add get 255 div setrgbcolor ix0 iy0 colRec fill /s s2 def /ix0 ix00 50 add def /iy0 100 def adl_olv* j4a 1 add get 255 div adl_olv* j4a 2 add get 255 div adl_olv* j4a 3 add get 255 div setrgbcolor ix0 iy0 colRec fill } for %j -350 -150 translate } def %END proc_CIEColor %********************************************************** /tro {1.0 0.0 0.0} def %Reproduktionsfarben olv*+NW /trl {0.0 1.0 0.0} def /trv {0.0 0.0 1.0} def /trc {0.0 1.0 1.0} def /trm {1.0 0.0 1.0} def /try {1.0 1.0 0.0} def /trn {0.0 0.0 0.0} def /trz {0.5 0.5 0.5} def /trw {1.0 1.0 1.0} def /tgo {tro setrgbcolor} def /tgl {trl setrgbcolor} def /tgv {trv setrgbcolor} def /tgc {trc setrgbcolor} def /tgm {trm setrgbcolor} def /tgy {try setrgbcolor} def /tgn {trn setrgbcolor} def /tgz {trz setrgbcolor} def /tgw {trw setrgbcolor} def %************************************************************************ %END IE77Y/Y10-7N.EPS, Procedures for all test elements 20090901 %************************************************************************ /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /rem %x0, y0 width heigth {/heigth exch def /width exch def /y0 exch def /x0 exch def x0 width 0.5 mul add y0 heigth 0.5 mul add moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /cviht {dup 0 ge {0.49 add}{0.49 sub} ifelse cvi} def /cvishow {dup 0 ge {0.5 add} {0.5 sub} ifelse cvi 6 string cvs show} def /cvsshow1 {dup 0 ge {0.05 add} {0.05 sub} ifelse 10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {dup 0 ge {0.005 add} {0.005 sub} ifelse 100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {dup 0 ge {0.0005 add} {0.0005 sub} ifelse 1000 mul cvi 0.001 mul 7 string cvs show} def /A4quer {598 0 tl 90 rotate} def %%ENDProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /xchartg where {pop /xchartx xchartg def} {/xchartx 0 def} ifelse /colormg where {pop /colorm colormg def} {/colorm 0 def} ifelse /ISIN*ioG where {pop /ISIN*ioL ISIN*ioG def} {/ISIN*ioL 0 def} ifelse /ISOU*ioG where {pop /ISOU*ioL ISOU*ioG def} {/ISOU*ioL 0 def} ifelse /ISRL*ioL 0 def /ISIO*ioL ISIN*ioL def /ISIO*ioG where {pop /ISIO*ioG ISIO*ioL def} if /ISRL*ioG where {pop /ISRL*ioG ISRL*ioL def} if /xcharti xchartx def %needed for steering output in proc_ColSep*io %00 1 00 {/xcharti exch def %BEG xcharti=00,00 xcharti 0 eq {/ausz 8 def /xchartt (A) def} if %loop not not possible xcharti 1 eq {/ausz 8 def /xchartt (F) def} if %in case of image xcharti 2 eq {/ausz 1 def /xchartt (C) def} if xcharti 3 eq {/ausz 2 def /xchartt (M) def} if xcharti 4 eq {/ausz 3 def /xchartt (Y) def} if xcharti 5 eq {/ausz 7 def /xchartt (N) def} if gsave 72 90 translate 0.01 MM dup scale colorm 1 eq {proc_LAB*ioG proc_ColSep*ioG} {proc_LAB*ioL proc_ColSep*ioL} ifelse TK 0 setgray %200 -300 moveto (IE770-7) show colorm 0 eq {(N, ) show} {(F, ) show} ifelse %(Page ) showen (Seite ) showde xcharti 1 add cvishow (/6) show 0 setgray 15 setlinewidth %********************************************************** %********************************************************** 0 0 0 setrgbcolor %TK %0 -230 moveto %(IE770-1, ) show 1 1 1 setrgbcolor 0 0 moveto 25200 0 rlineto 0 17800 rlineto %picture larger -25200 0 rlineto closepath fill %0 0 0 setrgbcolor % 0 0 moveto 25200 0 rlineto 0 17800 rlineto %picture larger % -25200 0 rlineto closepath stroke /xtr [ 0200 13400 200 13400 200 13400 200 13400] def /ytr [13400 13400 9050 9050 4700 4700 0350 0350] def %gsave %Names: %proc_CIEColor %proc_rosette: ibild=0,5 for CMY and OLV %proc_16step: ibild=0,5 for CMY and OLV %proc_lettersize: ibild=0,5 for CMY and OLV %proc_Landolt: ibild=0,5 for CMY and OLV %********************************************************** xtr 0 get ytr 0 get translate /ibild 0 def proc_16step xtr 0 get neg ytr 0 get neg translate %********************************************************** xtr 1 get ytr 1 get translate /ibild 1 def proc_16step xtr 1 get neg ytr 1 get neg translate %********************************************************** xtr 2 get ytr 2 get translate /ibild 0 def proc_lettersize xtr 2 get neg ytr 2 get neg translate %********************************************************** xtr 3 get ytr 3 get translate /ibild 1 def proc_lettersize xtr 3 get neg ytr 3 get neg translate %********************************************************** xtr 4 get ytr 4 get translate /ibild 0 def /ncol1 0 def /ncol2 1 def proc_Landolt xtr 4 get neg ytr 4 get neg translate %********************************************************** xtr 5 get ytr 5 get translate /ibild 1 def /ncol1 0 def /ncol2 1 def proc_Landolt xtr 5 get neg ytr 5 get neg translate %********************************************************** xtr 6 get ytr 6 get translate /ibild 0 def /ncol1 2 def /ncol2 3 def proc_Landolt xtr 6 get neg ytr 6 get neg translate %********************************************************** xtr 7 get ytr 7 get translate /ibild 1 def /ncol1 2 def /ncol2 3 def proc_Landolt xtr 7 get neg ytr 7 get neg translate showpage grestore %} for %xcharti END xcharti=00,00 %%Trailer