%!PS-Adobe-3.0 EPSF-3.0 www.ps.bam.de/Fe03/10L/L03E00XX.PS 20080901 %%BoundingBox: 00 00 414 292 /pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put } if [ /Title (PostScript pictures: www.ps.bam.de/Fe03/Fe03.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: www.ps.bam.de or http://o2.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.Richter@bam.de) /CreationDate (D:2008090112000) /ModDate (D:2008090112000) /DOCINFO pdfmark [ /View [ /Fit ] /DOCVIEW pdfmark /ColSpxG 1 def /ColSpx ColSpxG def /DEintp 0 def %BEG Ee0x/Fe03/OUTLIN10.PS Output Linearization (OL) LAB* -> cmyolvnw* 20080601 %Early Binding: needed for colour separation /sgcmykcolor {setcmykcolor} bind def /sggray {setgray} bind def /sgrgbcolor {setrgbcolor} bind def %FILE PREPARED FOR MIXED MODE, e. g. input ORS18 and output TLS00 /IMES 0 def %0=LAB* used, no reflection factor necessary %/IMES 1 def /Yre 2.52 def %1=XYZ measurement and standard device reflection %/i*ptrsc 0 def %LAB* setcolor to cmy0* / 000n* setcmykcolor /i*ptrsc 1 def %LAB* setcolor to olv* setrgbcolor / w* setgray %/i*ptrsc 2 def %LAB* setcolor to cmy0* / nnn0* setcmykcolor %/i*ptrsc 3 def %LAB* setcolor to olv* / www* setrgbcolor %/i*ptrsc 4 def %LAB* setcolor to lab* setcolor %/i*ptrsc 5 def %LAB* setcolor to LAB* setcolor %/i*ptrsc 6 def %LAB* setcolor to 000n* setcmykcolor %/i*ptrsc 7 def %LAB* setcolor to w* setgray /ISIN*ioG 0 def %default input for Offset Reflective System (ORS18/FRS09) /ISOU*ioG 0 def %default output dto. %/ISIN*ioG 1 def %input for Television Luminous System (TLS00) %/ISOU*ioG 1 def %output dto. %/ISIN*ioG 2 def %input for Device Reflective measurement system (FRS09) %/ISOU*ioG 2 def %output dto. %/ISIN*ioG 3 def %input for Television Luminous Reflection System (TLS18) %/ISOU*ioG 3 def %output dto. %/ISIN*ioG 4 def %input for Natural Luminous System (NLS00) %/ISOU*ioG 4 def %output dto. %/ISIN*ioG 5 def %input for Natural Reflective System (NRS11) %/ISOU*ioG 5 def %output dto. %/ISIN*ioG 6 def %input for Standard Reflective System (CIE18) %/ISOU*ioG 6 def %output dto. %/ISIN*ioG 7 def %input for Standard Reflective System (TLS70) %/ISOU*ioG 7 def %output dto. /iLAB 0 def /ISIO*ioG 0 def /ISRL*ioG 0 def % for io-System, only once /auszg 8 def /ausz 8 def %END Ee0x/Fe03/OUTLIN10.PS Output Linearization (OL) LAB* -> cmyolvnw* 20080601 %***************************************************************************** %BEG Fe00->Fe03/10L/OUTLIN1X.PS, ident. for NP-(*ioG), FP-files (*ioG) 20080901 %***************************************************************************** %Data (ORS19_96a) def /proc_LAB*ioG {%BEG Procedure proc_LAB*ioG %requires ISRL*ioG=0,1,3 /RJGBLAB* 12 array def /RJGBLAB*[ 39.92 58.74 27.99 % R CIE No.09 elementary colours in LAB, D65 81.26 -2.89 71.56 % J CIE No.10 52.23 -42.42 13.60 % G CIE No.11 30.57 1.41 -46.47 % B CIE No.12 ] def /LAB* 132 array def %12x3=36 including N,W + 16x3=48 elementary system + 16x3=48 device system /LAB*a 132 array def /LAB*Hx 13 array def %0_to_6 8_to_12 for device and elemetary colours /LAB*00 24 array def /LAB*01 24 array def /LAB*02 24 array def /LAB*03 24 array def /LAB*04 24 array def /LAB*05 24 array def /LAB*06 24 array def /LAB*07 24 array def /LAB*TE %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 %ORS19_96.DAT, measured data are not adapted here; 55 lines, 141:195 ISRL*ioG 0 eq { %ISRL*ioG=0 /LAB*00 [%D=Device OYLCVMO+NW %for Offset Reflective System (ORS18) %47.94 65.31 52.07 %O 0 %90.37 -11.16 96.17 %Y 1 %50.90 -62.97 36.71 %L 2 %58.62 -30.63 -42.75 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 %25.72 31.45 -44.36 %V 4 %48.13 75.20 -6.80 %M 5 %18.01 0.50 -0.47 %N 7 %95.41 -0.99 4.76 %W 8 %Z48N_VT100_E972.DAT, 972 colours, 20080215, Separation cmyn5* (ORS19_96a) %100 x LAB*a %#1000 x (r g b c m y 0) %nr. pos %0048.75 0065.06 0039.43 %#1000 0000 0000 0000 1000 1000 0000 %0648 S19 %O1 0 %0090.92 -010.29 0087.24 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y1 1 %0052.69 -065.44 0020.74 %#0000 1000 0000 1000 0000 1000 0000 %0072 I01 %L1 2 %0059.61 -028.98 -046.23 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C1 3 %0028.39 0023.62 -044.14 %#0000 0000 1000 1000 1000 0000 0000 %0008 A09 %V1 4 %0049.58 0073.92 -009.57 %#1000 0000 1000 0000 1000 0000 0000 %0656 S27 %M1 5 %0018.89 0000.00 0000.00 %#0000 0000 0000 1000 1000 1000 0000 %0000 A01 %N1 6 %0096.90 0000.00 0000.00 %#1000 1000 1000 0000 0000 0000 0000 %0728 a27 %W1 7 %$ %0048.72 0064.37 0038.81 %#1000 0000 0000 0000 1000 1000 0000 %0801 j01 %O2 0 %0090.86 -010.17 0086.49 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y2 1 %0051.99 -066.02 0020.01 %#0000 1000 0000 1000 0000 1000 0000 %0963 j19 %L2 2 %0059.82 -029.27 -046.02 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C2 3 %0028.54 0023.06 -044.55 %#0000 0000 1000 1000 1000 0000 0000 %0818 b18 %V2 4 %0049.64 0073.96 -009.54 %#1000 0000 1000 0000 1000 0000 0000 %0899 b27 %M2 5 %0018.15 0000.00 0000.00 %#0000 0000 0000 1000 1000 1000 0000 %0809 j09 %N2 6 %0096.87 0000.00 0000.00 %#1000 1000 1000 0000 0000 0000 0000 %0729 b01 %W2 7 %$ %Z48N_VT100_E972.DAT, 972 colours, 20080215, Separation cmyn5* (ORS19_96) %100 x LAB* %#1000 x (r g b c m y 0) %nr. pos 0048.75 0065.16 0040.76 %#1000 0000 0000 0000 1000 1000 0000 %0648 S19 %O1 0 0090.92 -010.78 0089.36 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y1 1 0052.69 -065.40 0022.15 %#0000 1000 0000 1000 0000 1000 0000 %0072 I01 %L1 2 0059.61 -029.04 -044.69 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C1 3 0028.39 0024.00 -043.18 %#0000 0000 1000 1000 1000 0000 0000 %0008 A09 %V1 4 0049.58 0074.01 -008.22 %#1000 0000 1000 0000 1000 0000 0000 %0656 S27 %M1 5 0018.89 0000.50 0000.77 %#0000 0000 0000 1000 1000 1000 0000 %0000 A01 %N1 6 0096.90 -000.57 0002.23 %#1000 1000 1000 0000 0000 0000 0000 %0728 a27 %W1 7 %$ %0048.72 006443 004007 %#1000 0000 0000 0000 1000 1000 0000 %0801 j01 %O2 0 %0090.86 -010.70 0088.65 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y2 1 %0051.99 -066.00 0021.34 %#0000 1000 0000 1000 0000 1000 0000 %0963 j19 %L2 2 %0059.82 -029.36 -044.52 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C2 3 %0028.54 0023.41 -043.72 %#0000 0000 1000 1000 1000 0000 0000 %0818 b18 %V2 4 %0049.64 0074.01 -008.26 %#1000 0000 1000 0000 1000 0000 0000 %0899 b27 %M2 5 %0018.15 0000.49 0000.60 %#0000 0000 0000 1000 1000 1000 0000 %0809 j09 %N2 6 %0096.87 -000.60 0002.29 %#1000 1000 1000 0000 0000 0000 0000 %0729 b01 %W2 7 %$ ] def %OYLCVMO+NW /LAB*01 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS00) 50.50 76.92 64.55 %O 0 92.66 -20.70 90.75 %Y 1 83.63 -82.76 79.90 %L 2 86.88 -46.17 -13.56 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 30.39 76.06 -103.6 %V 4 corected 57.30 94.35 -58.42 %M 5 corected 00.01 0.00 0.00 %N 7 corected 95.41 0.00 0.00 %W 8 ] def %OYLCVMO+NW /LAB*02 [%D=Device OYLCVMO+NW %for Device Reflective System (FRS06. FUJI) 32.57 61.14 43.72 %8-0-0 O-W 0 olv* setrgbcolor 64 82.73 -3.51 109.24 %8-8-0 Y-W 1 olv* setrgbcolor 32 39.43 -62.87 42.80 %0-8-0 L-W 2 olv* setrgbcolor 80 47.86 -27.73 -37.62 %0-8-8 C-W 3 olv* setrgbcolor 0 actual printer 10.16 53.56 -62.92 %0-0-8 V-W 4 olv* setrgbcolor 96 34.50 79.53 -36.77 %8-0-8 M-W 5 olv* setrgbcolor 16 06.25 -1.63 -1.73 %0-0-0 N-W 6 olv* setrgbcolor 48 91.97 -0.18 -5.11 %8-8-8 A-W 7 olv* setrgbcolor ] def %OYLCVMO+NW /LAB*03 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS18) 52.76 71.63 49.88 %O 0 92.74 -20.03 84.97 %Y 1 84.00 -78.99 73.94 %L 2 87.14 -44.42 -13.12 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 35.47 64.92 -95.07 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 59.01 89.33 -55.68 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 18.01 0.00 0.00 %N 6 Yr=2.52 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*04 [%Natural symmetric Luminous System OYLCVMO+NW (NLS00) 31.81 82.62 47.70 %O 0 95.40/2 = 47.70 63.61 00.00 95.40 %Y 1 C*ab = 95.40 31.81 -82.62 47.70 %L 2 0.866 C*ab = 0.866 * 95.40 = 82.62 63.61 -82.62 -47.70 %C 3 delta L*=25.8 31.81 00.00 -95.40 %V 4 43.81=00.01+31.80 63.61 82.62 -47.70 %M 5 69.61=00.01+2*31.80 00.01 0.00 0.00 %N 6 95.40/3 = 31.80 95.41 0.00 0.00 %W 7 95.40*(2/3) = 63.60 ] def %CVMOYLC+NW /LAB*05 [%Natural symmetric Luminous System OYLCVMO+NW (NLS18) 43.81 67.03 38.70 %O 0 77.40/2 = 38.70 69.61 00.00 77.40 %Y 1 C*ab = 77.40 43.81 -67.03 38.70 %L 2 0.866 C*ab = 67.03 69.61 -67.03 -38.70 %C 3 delta L*=25.8 43.81 00.00 -77.40 %V 4 43.81=18.01+25.80 69.61 67.03 -38.70 %M 5 69.61=18.01+2*25.80 18.01 0.00 0.00 %N 6 18.01+77.40/3 = 18.01+25.80=43.81 95.41 0.00 0.00 %W 7 18.01+77.40*(2/3) = 18.01+51.60=69.61 ] def %CVMOYLC+NW /LAB*06 [%Symmetric Reflective System OYLCVMO+NW (SRS18) 56.71 67.03 38.70 %O 0 18.01 + 77.40*0.5 = 18.01 + 38.70 = 56.71 56.71 00.00 77.40 %Y 1 C*ab = 77.40 56.71 -67.03 38.70 %L 2 0.866 C*ab = 67.03 56.71 -67.03 -38.70 %C 3 delta L*=25.8 56.71 00.00 -77.40 %V 4 43.81=18.01+25.80 56.71 67.03 -38.70 %M 5 69.61=18.01+2*25.80 18.01 0.00 0.00 %N 6 95.41 0.00 0.00 %W 7 95.41=18.01+3*25.80 ] def %CVMOYLC+NW /LAB*07 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS70) 76.43 26.27 10.57 %O 0 93.93 -10.77 34.63 %Y 1 89.32 -35.81 27.64 %L 2 90.93 -21.96 -7.08 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 72.10 15.76 -35.64 %V 4 78.50 37.52 -25.24 %M 5 69.70 0.00 0.00 %N 6 Yr=40.32 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW } if %ISRL*ioG=0 ISRL*ioG 1 eq { %ISRL*ioG=1 /LAB*00 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS00) 50.50 76.91 64.55 %O 0 92.66 -20.68 90.75 %Y 1 83.62 -82.74 79.90 %L 2 86.88 -46.15 -13.54 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 30.39 76.06 -103.6 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 57.31 94.35 -58.40 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 00.01 0.00 0.00 %N 6 Yr=0.00 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*01 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS06) 51.08 75.54 59.69 %O 0 92.68 -20.51 89.24 %Y 1 83.72 -81.79 78.32 %L 2 86.94 -45.72 -13.43 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 31.77 72.91 -101.3 %V 4 57.74 93.06 -57.71 %M 5 05.69 0.00 0.00 %N 6 Yr=0.63 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*02 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS11) 51.65 74.20 55.83 %O 0 92.70 -20.35 87.77 %Y 1 83.81 -80.85 76.81 %L 2 87.01 -45.28 -13.33 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 33.06 70.03 -99.09 %V 4 58.17 91.80 -57.03 %M 5 10.99 0.00 0.00 %N 6 Yr=1.26 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*03 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS18) 52.76 71.63 49.88 %O 0 92.74 -20.03 84.97 %Y 1 84.00 -78.99 73.94 %L 2 87.14 -44.42 -13.12 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 35.47 64.92 -95.07 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 59.01 89.33 -55.68 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 18.01 0.00 0.00 %N 6 Yr=2.52 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*04 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS27) 54.88 66.84 41.69 %O 0 92.82 -19.39 79.81 %Y 1 84.37 -75.39 68.76 %L 2 87.40 -42.72 -12.70 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 39.70 56.66 -88.02 %V 4 60.64 84.61 -53.08 %M 5 26.85 0.00 0.00 %N 6 Yr=5.04 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*05 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS38) 58.77 58.45 31.73 %O 0 92.98 -18.11 70.81 %Y 1 85.11 -68.58 60.02 %L 2 87.92 -39.42 -11.87 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 46.64 44.93 -76.56 %V 4 63.71 75.92 -48.22 %M 5 37.99 0.00 0.00 %N 6 Yr=10.08 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*06 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS52) 65.53 45.06 20.98 %O 0 93.30 -15.61 56.27 %Y 1 86.55 -56.31 46.52 %L 2 88.94 -33.19 -10.24 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 57.17 30.66 -59.40 %V 4 69.22 60.95 -39.57 %M 5 52.02 0.00 0.00 %N 6 Yr=20.16 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*07 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS70) 76.43 26.27 10.57 %O 0 93.93 -10.77 34.63 %Y 1 89.32 -35.81 27.64 %L 2 90.93 -21.96 -7.08 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 72.10 15.76 -35.64 %V 4 78.50 37.52 -25.24 %M 5 69.70 0.00 0.00 %N 6 Yr=40.32 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW } if %ISRL*ioG=1 ISRL*ioG 2 eq { %ISRL*ioG=2 /LAB*00 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS00) 45.14 71.37 75.54 %O 0 90.22 -10.60 99.51 %Y 1 48.45 -73.19 42.21 %L 2 56.88 -33.11 -47.41 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 16.48 45.84 -56.22 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 45.36 81.85 -9.29 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 00.01 0.00 0.00 %N 6 Yr=0.00 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*01 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS06) 45.87 69.79 66.99 %O 0 90.25 -10.51 97.42 %Y 1 49.08 -70.28 40.08 %L 2 57.33 -32.38 -46.80 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 19.26 40.73 -52.47 %V 4 46.07 80.12 -9.04 %M 5 05.69 0.00 0.00 %N 6 Yr=0.63 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*02 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS11) 46.57 68.27 59.62 %O 0 90.29 -10.43 95.45 %Y 1 49.70 -67.60 38.19 %L 2 57.76 -31.68 -46.19 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 21.67 36.81 -49.37 %V 4 46.77 78.45 -8.80 %M 5 10.99 0.00 0.00 %N 6 Yr=1.26 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*03 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS18) 47.94 65.39 50.52 %O 0 90.37 -10.26 91.75 %Y 1 50.90 -62.83 34.96 %L 2 58.62 -30.34 -45.01 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 25.72 31.10 -44.40 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 48.13 75.28 -8.36 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 18.01 0.00 0.00 %N 6 Yr=2.52 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*04 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS27) 50.51 60.17 40.13 %O 0 90.52 -9.92 85.20 %Y 1 53.18 -55.04 30.00 %L 2 60.28 -27.91 -42.75 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 32.06 24.02 -37.32 %V 4 50.68 69.50 -7.57 %M 5 26.85 0.00 0.00 %N 6 Yr=5.04 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*05 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS38) 55.13 51.42 29.16 %O 0 90.83 -9.25 74.37 %Y 1 57.35 -43.84 23.35 %L 2 63.39 -23.83 -38.56 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 41.26 16.67 -28.49 %V 4 55.27 59.74 -6.32 %M 5 37.99 0.00 0.00 %N 6 Yr=10.08 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*06 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS52) 62.90 38.38 18.55 %O 0 91.44 -7.95 57.91 %Y 1 64.49 -30.06 15.67 %L 2 68.98 -17.74 -31.24 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 53.87 10.09 -18.84 %V 4 63.00 44.96 -4.56 %M 5 52.02 0.00 0.00 %N 6 Yr=20.16 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*07 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS70) 75.01 21.53 9.07 %O 0 92.64 -5.45 34.85 %Y 1 75.86 -15.50 7.96 %L 2 78.37 -9.90 -19.51 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 70.54 4.74 -9.47 %V 4 75.07 25.47 -2.46 %M 5 69.70 0.00 0.00 %N 6 Yr=40.32 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW } if %ISRL*ioG=2 0 1 11 {/sISO exch def %sISO=0,11 /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def sISO 7 le { %sISO=0,7 ISIO*ioG 0 eq { %ORS18/TLS00/OLS00 LAB* i30 LAB*00 i30 get put LAB* i31 LAB*00 i31 get put LAB* i32 LAB*00 i32 get put } if ISIO*ioG 1 eq { %TLS00/TLS06/OLS06 LAB* i30 LAB*01 i30 get put LAB* i31 LAB*01 i31 get put LAB* i32 LAB*01 i32 get put } if ISIO*ioG 2 eq { %FRS06/TLS11/OLS11 LAB* i30 LAB*02 i30 get put LAB* i31 LAB*02 i31 get put LAB* i32 LAB*02 i32 get put } if ISIO*ioG 3 eq { %TLS18/TLS18/OLS18 LAB* i30 LAB*03 i30 get put LAB* i31 LAB*03 i31 get put LAB* i32 LAB*03 i32 get put } if ISIO*ioG 4 eq { %NLS00/TSL28/OLS28 LAB* i30 LAB*04 i30 get put LAB* i31 LAB*04 i31 get put LAB* i32 LAB*04 i32 get put } if ISIO*ioG 5 eq { %NRS18/TLS38/OLS38 LAB* i30 LAB*05 i30 get put LAB* i31 LAB*05 i31 get put LAB* i32 LAB*05 i32 get put } if ISIO*ioG 6 eq { %SRS18/TLS50/OLS50 LAB* i30 LAB*06 i30 get put LAB* i31 LAB*06 i31 get put LAB* i32 LAB*06 i32 get put } if ISIO*ioG 7 eq { %TLS70/TLS70/OLS70 LAB* i30 LAB*07 i30 get put LAB* i31 LAB*07 i31 get put LAB* i32 LAB*07 i32 get put } if } %sISO=0,7 {%sISO=8,11 %Definition 8 to 11 (24 to 35=33+2) /jISO sISO 8 sub def /j30 jISO 3 mul def /j31 j30 1 add def /j32 j30 2 add def LAB* i30 RJGBLAB* j30 get put LAB* i31 RJGBLAB* j31 get put LAB* i32 RJGBLAB* j32 get put LAB*a i30 LAB* i30 get put LAB*a i31 LAB* i31 get put LAB*a i32 LAB* i32 get put } ifelse } for %sISO=0,11 % possible change of LAB*a according to reduced gamut %LAB* = 20 for Black N %LAB* = 95 for White W %cfakt = (95 - 20)/(95.41 - 18.01) = 0.969 %LAB*L*Nn = 20 for Black N instead of LAB*L*N = 18,01 %LAB*L*Wn = 95 for White W instead of LAB*L*W = 95,41 %LAB*L*Zn = 20+(95-20)/2=57,5 for Grey Z instead of %LAB*L*Z = 18,01+(95,41-18,01)/2=56,71 %L*neu = L*alt + (1 - cfakt %For achromatic %deltaLmean = 57,5 (1-c*neu); 56,71 (1-c*alt) %deltaLmimu = 20,0 (1-c*neu); 18,01 (1-c*alt) %deltaLplus = 95,0 (1-c*neu); 95,41 (1-c*alt) %For chromatic M %deltaLmean = L*Ma,neu; L*Ma,alt = known %C*Ma,alt known, C*Ma,neu known /L*Nio LAB* 18 get def /A*Nio LAB* 19 get def /B*Nio LAB* 20 get def /L*Wio LAB* 21 get def /A*Wio LAB* 22 get def /B*Wio LAB* 23 get def /L*Wioref 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*ioG %stores LAB*diMa L*diMa iinx L*Ma put A*diMa iinx A*Ma put B*diMa iinx B*Ma put %stores olv3*ddiMa o3*ddiMa iinx o3*ddMa put l3*ddiMa iinx l3*ddMa put v3*ddiMa iinx v3*ddMa put %stores u*ddiMax u*ddiMa1 iinx u*ddMa1 put u*ddiMai iinx u*ddMai put u*ddiMa2 iinx u*ddMa2 put %stores olv3*deiMa o3*deiMa iinx o3*deMa put l3*deiMa iinx l3*deMa put v3*deiMa iinx v3*deMa put %stores u*deiMax u*deiMa1 iinx u*deMa1 put u*deiMai iinx u*deMai put u*deiMa2 iinx u*deMa2 put } for %iinx=0,15 %Definition LAB*eiMa, olv3*ediMa, u*ediMax (all 00 to 15) by equal elementary (e) hue angle difference %between R and J, J and G, G and B, and B and R 0 1 03 {/ik exch def %ik=0,3 /H*1 RJGBLAB* ik 3 mul 2 add get RJGBLAB* ik 3 mul 1 add get 0.00001 add atan def ik 2 le {/ik2b ik 3 mul 5 add def} {/ik2b 2 def} ifelse /ik2a ik2b 1 sub def /H*2 RJGBLAB* ik2b get RJGBLAB* ik2a get 0.00001 add atan def ik 3 eq {/H*2 H*2 360 add def} if 0 1 03 {/ij exch def %ij=1,3 ij 0 eq {/a0 1.00 def /b0 0.00 def} if ij 1 eq {/a0 0.75 def /b0 0.25 def} if ij 2 eq {/a0 0.50 def /b0 0.50 def} if ij 3 eq {/a0 0.25 def /b0 0.75 def} if /H*M a0 H*1 mul b0 H*2 mul add def H*M 360 ge {/H*M H*M 360 sub def} if proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioG /iinx ik 4 mul ij add def %stores LAB*eiMa L*eiMa iinx L*Ma put A*eiMa iinx A*Ma put B*eiMa iinx B*Ma put %stores olv3*eeiMa o3*eeiMa iinx o3*deMa put l3*eeiMa iinx l3*deMa put v3*eeiMa iinx v3*deMa put %stores u*eeiMax u*eeiMa1 iinx u*deMa1 put u*eeiMai iinx u*deMai put u*eeiMa2 iinx u*deMa2 put %stores olv3*ediMa o3*ediMa iinx o3*ddMa put l3*ediMa iinx l3*ddMa put v3*ediMa iinx v3*ddMa put %stores u*eeiMax u*ediMa1 iinx u*ddMa1 put u*ediMai iinx u*ddMai put u*ediMa2 iinx u*ddMa2 put } for %ik=0,3 } for %ij=0,3 0 1 15 {/i exch def %i=0,15 %L*xiMa i DEintp 0 eq {L*diMa}{L*eiMa} ifelse i get put %LAB*xiMa x=d/e %A*xiMa i DEintp 0 eq {A*diMa}{A*eiMa} ifelse i get put %B*xiMa i DEintp 0 eq {B*diMa}{B*eiMa} ifelse i get put %o3*xxiMa i DEintp 0 eq {o3*ddiMa}{o3*eeiMa} ifelse i get put %olv3*xxiMa xx=dd/ee %l3*xxiMa i DEintp 0 eq {l3*ddiMa}{l3*eeiMa} ifelse i get put %v3*xxiMa i DEintp 0 eq {v3*ddiMa}{v3*eeiMa} ifelse i get put u*xxiMa1 i DEintp 0 eq {u*ddiMa1}{u*eeiMa1} ifelse i get put %u*xxiMax xx=dd/ee u*xxiMai i DEintp 0 eq {u*ddiMai}{u*eeiMai} ifelse i get put u*xxiMa2 i DEintp 0 eq {u*ddiMa2}{u*eeiMa2} ifelse i get put %o3*xyiMa i DEintp 0 eq {o3*deiMa}{o3*ediMa} ifelse i get put %olv3*xxiMa xy=de/ed %l3*xyiMa i DEintp 0 eq {l3*deiMa}{l3*ediMa} ifelse i get put %v3*xyiMa i DEintp 0 eq {v3*deiMa}{v3*ediMa} ifelse i get put %u*xyiMa1 i DEintp 0 eq {u*deiMa1}{u*ediMa1} ifelse i get put %u*xxiMax xy=de/ed %u*xyiMai i DEintp 0 eq {u*deiMai}{u*ediMai} ifelse i get put %u*xyiMa2 i DEintp 0 eq {u*deiMa2}{u*ediMa2} ifelse i get put } for %i=0,15 } bind def %END Procedure proc_LAB*ioG %*********************************************************** /proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioG { %BEG procedure proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioG %only for calculation without hue tables %input H*M (only hue (H) of Fa/Ma) %input LAB*a (6 adapted colours OYLCVM) %input nLAB*s0 (colour Black N for calculation of lab*l) %input wLAB*s0 (colour White W for achromatic axis) %output LAB*Ma %output olvi3*Ma %output cmyn3*Ma /L*Ha 50 def /A*Ha 75 H*M cos mul def /B*Ha 75 H*M sin mul def /UXF1a wLAB*s0 1 get B*Ha mul wLAB*s0 2 get A*Ha mul sub def /UXF2a wLAB*s0 2 get L*Ha mul wLAB*s0 0 get B*Ha mul sub def /UXF3a wLAB*s0 0 get A*Ha mul wLAB*s0 1 get L*Ha mul sub def /T1 0 def /T2 0 def 0 1 5 {/ia exch def /ia30 ia 3 mul def ia 5 eq {/ia31 0 def} {/ia31 ia30 3 add def} ifelse /T1 LAB*a ia30 get UXF1a mul LAB*a ia30 1 add get UXF2a mul add LAB*a ia30 2 add get UXF3a mul add def /T2 LAB*a ia31 get UXF1a mul LAB*a ia31 1 add get UXF2a mul add LAB*a ia31 2 add get UXF3a mul add def T1 0 le {/T1X (N) def} {/T1X (P) def} ifelse T2 0 gt {/T2X (P) def} {/T2X (N) def} ifelse T1 0 le T2 0 gt and {/ia3END ia30 def exit} if } for /L*11a LAB*a ia3END get def /A*11a LAB*a ia3END 1 add get def /B*11a LAB*a ia3END 2 add get def ia3END 15 ge {/ia3END -3 def} if /L*21a LAB*a ia3END 3 add get def /A*21a LAB*a ia3END 4 add get def /B*21a LAB*a ia3END 5 add get def /NENNER L*21a L*11a sub UXF1a mul A*21a A*11a sub UXF2a mul add B*21a B*11a sub UXF3a mul add def /ZAEHLE L*21a UXF1a mul A*21a UXF2a mul add B*21a UXF3a mul add def NENNER 0 ne {/ALPH ZAEHLE NENNER div def} {/ALPH 99999} ifelse /L*Ma ALPH L*11a mul 1 ALPH sub L*21a mul add def /A*Ma ALPH A*11a mul 1 ALPH sub A*21a mul add def /B*Ma ALPH B*11a mul 1 ALPH sub B*21a mul add def /C*Ma A*Ma dup mul B*Ma dup mul add 0.000001 add sqrt def /H*Ma B*Ma A*Ma atan def /H*abd B*Ha A*Ha 0.0001 add atan def /H*abe H*abd def %faktor and section in actual System (for example ORS18) /jsecd -1 def %main equations %faktd = [col_angh - LAB*Hd(n)]/[LAB*Hd(n+1) - LAB*Hd(n)] %col_angh = faktd [LAB*Hd(n+1) - LAB*Hd(n)] + LAB*Hd(n) H*abd LAB*Hd 0 get lt {/H*abd H*abd 360 add def} if 0 1 5 {/nx exch def /np nx 1 add def H*abd LAB*Hd nx get ge H*abd LAB*Hd np get lt and {/jsecd nx def /faktd H*abd LAB*Hd nx get sub LAB*Hd np get LAB*Hd nx get sub div def} if } for %nx=0,5 %1 0 0 %O jsecd=0 %1 1 0 %Y jsecd=1 %0 1 0 %L jsecd=2 %0 1 1 %C jsecd=3 %0 0 1 %V jsecd=4 %1 0 1 %M jsecd=5 jsecd -1 eq {STOPjsecd} if /fakmd 1 faktd sub def /o3*ddMa -1 def /l3*ddMa -1 def /v3*ddMa -1 def jsecd 0 eq {%sector O->Y, o3*=1, l3*=0->1, v3*=0 /o3*ddMa 1 def /l3*ddMa faktd def /v3*ddMa 0 def /u*ddMa1 (o) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (y) def} if jsecd 1 eq {%sector Y->L, o3*=1->0, l3*=1, v3*=0 /o3*ddMa fakmd def /l3*ddMa 1 def /v3*ddMa 0 def /u*ddMa1 (y) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (l) def} if jsecd 2 eq {%sector L->C, o3*=0, l3*=1, v3*=0->1 /o3*ddMa 0 def /l3*ddMa 1 def /v3*ddMa faktd def /u*ddMa1 (l) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (c) def} if jsecd 3 eq {%sector C->V, o3*=0, l3*=0->1, v3*=1 /o3*ddMa 0 def /l3*ddMa fakmd def /v3*ddMa 1 def /u*ddMa1 (c) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (v) def} if jsecd 4 eq {%sector V->M, o3*=0->1, l3*=0, v3*=1 /o3*ddMa faktd def /l3*ddMa 0 def /v3*ddMa 1 def /u*ddMa1 (v) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (m) def} if jsecd 5 eq {%sector M->O, o3*=1, l3*=0, v3*=1->0 /o3*ddMa 1 def /l3*ddMa 0 def /v3*ddMa fakmd def /u*ddMa1 (m) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (o) def} if o3*ddMa -1 eq {STOPo3*ddMa1} if l3*ddMa -1 eq {STOPl3*ddMa1} if v3*ddMa -1 eq {STOPv3*ddMa1} if /i3*ddMa 1 def /c3*ddMa 1 o3*ddMa sub def /m3*ddMa 1 l3*ddMa sub def /y3*ddMa 1 v3*ddMa sub def /n3*ddMa 0 def %calculations for elementary (e) system: %faktor and section in actual System (for example ORS18) /jsece -1 def %main equations %fakte = [col_angh - LAB*He(n)]/[LAB*He(n+1) - LAB*He(n)] %col_angh = fakte [LAB*He(n+1) - LAB*He(n)] + LAB*He(n) H*abe LAB*He 0 get lt {/H*abe H*abe 360 add def} if 0 1 5 {/nx exch def /np nx 1 add def H*abe LAB*He nx get ge H*abe LAB*He np get lt and {/jsece nx def /fakte H*abe LAB*He nx get sub LAB*He np get LAB*He nx get sub div def} if } for %nx=0,5 %1 0 0 %R jsece=0 %1 1 0 %J jsece=1 %0 1 0 %G jsece=2 %0 1 1 %C' jsece=3 %0 0 1 %B jsece=4 %1 0 1 %R jsece=5 jsece -1 eq {STOPjsece} if /fakme 1 fakte sub def /o3*deMa -1 def /l3*deMa -1 def /v3*deMa -1 def jsece 0 eq {%sector O->Y, o3*=1, l3*=0->1, v*=0 /o3*deMa 1 def /l3*deMa fakte def /v3*deMa 0 def /u*dtMa1 (r) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (j) def /u*deMa1 (r) def /u*deMai fakte 99 mul cviht def /u*deMa2 (j) def} if jsece 1 eq {%sector Y->L, o3*=1->0, l3*=1, v*=0 /o3*deMa fakme def /l3*deMa 1 def /v3*deMa 0 def /u*dtMa1 (j) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (g) def /u*deMa1 (j) def /u*deMai fakte 99 mul cviht def /u*deMa2 (g) def} if jsece 2 eq {%sector L->C, o3*=0, l3*=1, v*=0->1 /o3*deMa 0 def /l3*deMa 1 def /v3*deMa fakte def /u*dtMa1 (g) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (c') def /u*deMa1 (g) def /u*deMai fakte 99 mul 0.5 mul cviht def /u*deMa2 (b) def} if jsece 3 eq {%sector C->V, o3*=0, l3*=0->1, v*=1 /o3*deMa 0 def /l3*deMa fakme def /v3*deMa 1 def /u*dtMa1 (c') def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (b) def /u*deMa1 (g) def /u*deMai fakte 99 mul 0.5 mul 50 add cviht def /u*deMa2 (b) def} if jsece 4 eq {%sector V->M, o3*=0->1, l3*=0, v*=1 /o3*deMa fakte def /l3*deMa 0 def /v3*deMa 1 def /u*dtMa1 (b) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (m') def /u*deMa1 (b) def /u*deMai fakte 99 mul 0.5 mul cviht def /u*deMa2 (r) def} if jsece 5 eq {%sector M->O, o3*=1, l3*=0, v*=1->0 /o3*deMa 1 def /l3*deMa 0 def /v3*deMa fakme def /u*dtMa1 (m') def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (r) def /u*deMa1 (b) def /u*deMai fakte 99 mul 0.5 mul 50 add cviht def /u*deMa2 (r) def} if o3*deMa -1 eq {STOPo3*Ma0} if l3*deMa -1 eq {STOPl3*Ma0} if v3*deMa -1 eq {STOPv3*Ma0} if /i3*deMa 1 def /c3*deMa 1 o3*deMa sub def /m3*deMa 1 l3*deMa sub def /y3*deMa 1 v3*deMa sub def /n3*deMa 0 def /lab*nMa 0.00 def /lab*cMa 1.00 def /lab*wMa 0.00 def /lab*tMa 0.50 def /lab*hMa H*Ma 360 div def /lab*lMa L*Ma nLAB*s0 0 get sub wLAB*s0 0 get nLAB*s0 0 get sub 0.000001 add div def } bind def %END procedure proc_H*M_LAB*MaNTABl_olvi3*cmyn3*u*deMa*ioG %************************************************************* /proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG { %BEG Procedure proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG %transfer from elementary data to device (ed) and elementary data (ee) %For tLAB=1 Transfer to LAB*Ma and LAB*Fa /v*s exch def /l*s exch def /o*s exch def /i*p 0 def %test if achromatic %W special case %W: o*s, l*s, v*s = 1.00 1.0 o*s sub abs 0.001 le 1.0 l*s sub abs 0.001 le and 1.0 v*s sub abs 0.001 le and %W special case {/i*p 6 def %W /c*rs 0 def /n*s 0 def /w*s 1 def /t*s 1 def } if %Test if achromatic %N special case %N: o*n, l*n, v*n <= 0.01 o*s abs 0.001 le l*s abs 0.001 le and v*s abs 0.001 le and %N special case {/i*p 6 def %N /c*rs 0 def /n*s 1 def /w*s 0 def /t*s 0 def } if %test if achromatic Grey sample o*s l*s sub abs 0.001 le l*s v*s sub abs 0.001 le and %Achromatic grey special case {/i*p 6 def %Grey /c*rs 0 def /n*s 1 o*s sub def /w*s o*s def /t*s 1 n*s sub c*rs 0.5 mul sub def } if i*p 6 eq {%achromatic,chromatic colours /o3*edMa 1 def /l3*edMa 1 def /v3*edMa 1 def /o3*eeMa 1 def /l3*eeMa 1 def /v3*eeMa 1 def /u*edMa1 (o) def /u*edMai 0 def /u*edMa2 (y) def /u*etMa1 (r) def /u*etMai 0 def /u*etMa2 (j) def /u*eeMa1 (r) def /u*eeMai 0 def /u*eeMa2 (j) def /o3*ed o*s def /l3*ed l*s def /v3*ed v*s def /o3*ee o*s def /l3*ee l*s def /v3*ee v*s def } %achromatic i*p=6 { %chromatic i*p#6 o*s l*s ge o*s v*s ge and {/olv*smax o*s def l*s v*s ge {%sector O->Y, o3*=1, l3*=0->1, v3*=0 /olv*smin v*s def /olv*smean l*s def /jsecs 0 def} {%sector M->O, o3*=1, l3*=0, v3*=1->0 /olv*smin l*s def /olv*smean v*s def /jsecs 5 def} ifelse } if l*s v*s ge l*s o*s ge and {/olv*smax l*s def v*s o*s ge {%sector L->C, o3*=0, l3*=1, v3*=0->1 /olv*smin o*s def /olv*smean v*s def /jsecs 2 def} {%sector Y->L, o3*=1->0, l3*=1, v3*=0 /olv*smin v*s def /olv*smean o*s def /jsecs 1 def} ifelse } if v*s o*s ge v*s l*s ge and {/olv*smax v*s def o*s l*s ge {%sector V->M, o3*=0->1, l3*=0, v3*=1 /olv*smin l*s def /olv*smean o*s def /jsecs 4 def} {%sector C->V, o3*=0, l3*=0->1, v3*=1 /olv*smin o*s def /olv*smean l*s def /jsecs 3 def } ifelse } if /c*rs olv*smax olv*smin sub def /n*s 1 olv*smax sub def /w*s 1 n*s sub c*rs sub def /t*s 1 n*s sub c*rs 0.5 mul sub def /b_a olv*smean olv*smax div def /c_a olv*smin olv*smax div def /alpha 1 c_a sub def /fakts b_a c_a sub alpha 0.00001 add div def /fakms 1 fakts sub def %jsecs interpreted as elementary hue angle jsecs 0 eq {%sector O->Y, o3*=1, l3*=0->1, v3*=0 /o3*eeMa 1 def /l3*eeMa fakts def /v3*eeMa 0 def /H*Me LAB*He 0 get LAB*He 1 get LAB*He 0 get sub fakts mul add def /u*eeMa1 (o) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (y) def} if jsecs 1 eq {%sector Y->L, o3*=1->0, l3*=1, v3*=0 /o3*eeMa fakts def /l3*eeMa 1 def /v3*eeMa 0 def /H*Me LAB*He 1 get LAB*He 2 get LAB*He 1 get sub fakms mul add def /u*eeMa1 (y) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (l) def} if jsecs 2 eq {%sector L->C, o3*=0, l3*=1, v3*=0->1 /o3*eeMa 0 def /l3*eeMa 1 def /v3*eeMa fakts def /H*Me LAB*He 2 get LAB*He 3 get LAB*He 2 get sub fakts mul add def /u*eeMa1 (l) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (c) def} if jsecs 3 eq {%sector C->V, o3*=0, l3*=0->1, v3*=1 /o3*eeMa 0 def /l3*eeMa fakts def /v3*eeMa 1 def /H*Me LAB*He 3 get LAB*He 4 get LAB*He 3 get sub fakms mul add def /u*eeMa1 (c) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (v) def} if jsecs 4 eq {%sector V->M, o3*=0->1, l3*=0, v3*=1 /o3*eeMa fakts def /l3*eeMa 0 def /v3*eeMa 1 def /H*Me LAB*He 4 get LAB*He 5 get LAB*He 4 get sub fakts mul add def /u*eeMa1 (v) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (m) def} if jsecs 5 eq {%sector M->O, o3*=1, l3*=0, v3*=1->0 /o3*eeMa 1 def /l3*eeMa 0 def /v3*eeMa fakts def /H*Me LAB*He 5 get LAB*He 6 get LAB*He 5 get sub fakms mul add def /u*eeMa1 (m) def /u*eeMai fakts 99 mul cviht def /u*eeMa2 (o) def} if /i3*eeMa 1 def /c3*eeMa 1 o3*eeMa sub def /m3*eeMa 1 l3*eeMa sub def /y3*eeMa 1 v3*eeMa sub def /n3*eeMa 0 def H*Me 360 ge {/H*Me H*Me 360 sub def} if %H*Me = H*abd = H*abe for all hue angles /H*abd H*Me def %calculations for device (d) system: %faktor and section in actual System (for example ORS18) /jsece -1 def %main equations %faktd = [col_angh - LAB*Hd(n)]/[LAB*Hd(n+1) - LAB*Hd(n)] %col_angh = faktd [LAB*Hd(n+1) - LAB*Hd(n)] + LAB*Hd(n) H*abd LAB*Hd 0 get lt {/H*abd H*abd 360 add def} if 0 1 5 {/nx exch def /np nx 1 add def H*abd LAB*Hd nx get ge H*abd LAB*Hd np get lt and {/jsecd nx def /faktd H*abd LAB*Hd nx get sub LAB*Hd np get LAB*Hd nx get sub div def} if } for %nx=0,5 %1 0 0 %O jsecd=0 %1 1 0 %Y jsecd=1 %0 1 0 %L jsecd=2 %0 1 1 %C jsecd=3 %0 0 1 %V jsecd=4 %1 0 1 %O jsecd=5 jsecd -1 eq {STOPjsecd} if /fakmd 1 faktd sub def /o3*edMa -1 def /l3*edMa -1 def /v3*edMa -1 def jsecd 0 eq {%sector O->Y, o3*=1, l3*=0->1, v*=0 /o3*edMa 1 def /l3*edMa faktd def /v3*edMa 0 def /u*dtMa1 (o) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (y) def /u*edMa1 (o) def /u*edMai faktd 99 mul cviht def /u*edMa2 (y) def} if jsecd 1 eq {%sector Y->L, o3*=1->0, l3*=1, v*=0 /o3*edMa fakmd def /l3*edMa 1 def /v3*edMa 0 def /u*dtMa1 (y) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (l) def /u*edMa1 (y) def /u*edMai faktd 99 mul cviht def /u*edMa2 (l) def} if jsecd 2 eq {%sector L->C, o3*=0, l3*=1, v*=0->1 /o3*edMa 0 def /l3*edMa 1 def /v3*edMa faktd def /u*dtMa1 (l) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (c) def /u*edMa1 (l) def /u*edMai faktd 99 mul 0.5 mul cviht def /u*edMa2 (c) def} if jsecd 3 eq {%sector C->V, o3*=0, l3*=0->1, v*=1 /o3*edMa 0 def /l3*edMa fakmd def /v3*edMa 1 def /u*dtMa1 (c) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (v) def /u*edMa1 (c) def /u*edMai faktd 99 mul 0.5 mul 50 add cviht def /u*edMa2 (v) def} if jsecd 4 eq {%sector V->M, o3*=0->1, l3*=0, v*=1 /o3*edMa faktd def /l3*edMa 0 def /v3*edMa 1 def /u*dtMa1 (v) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (m) def /u*edMa1 (v) def /u*edMai faktd 99 mul 0.5 mul cviht def /u*edMa2 (m) def} if jsecd 5 eq {%sector M->O, o3*=1, l3*=0, v*=1->0 /o3*edMa 1 def /l3*edMa 0 def /v3*edMa fakmd def /u*dtMa1 (m) def /u*dtMai faktd 99 mul cviht def /u*dtMa2 (o) def /u*edMa1 (v) def /u*edMai faktd 99 mul 0.5 mul 50 add cviht def /u*edMa2 (o) def} if o3*edMa -1 eq {STOPo3*Ma0} if l3*edMa -1 eq {STOPl3*Ma0} if v3*edMa -1 eq {STOPv3*Ma0} if /i3*edMa 1 def /c3*edMa 1 o3*edMa sub def /m3*edMa 1 l3*edMa sub def /y3*edMa 1 v3*edMa sub def /n3*edMa 0 def /lab*nMa 0.00 def /lab*cMa 1.00 def /lab*wMa 0.00 def /lab*tMa 0.50 def /lab*hMa H*Ma 360 div def /lab*lMa L*Ma nLAB*s0 0 get sub wLAB*s0 0 get nLAB*s0 0 get sub 0.000001 add div def %/o3*ee o*s def %/o3*ee w*s o3*eeMa c*rs mul add def %/l3*ee l*s def %/l3*ee w*s l3*eeMa c*rs mul add def %/v3*ee v*s def %/v3*ee w*s v3*eeMa c*rs mul add def /o3*ee w*s o3*eeMa c*rs mul add def /l3*ee w*s l3*eeMa c*rs mul add def /v3*ee w*s v3*eeMa c*rs mul add def /o3*ed w*s o3*edMa c*rs mul add def /l3*ed w*s l3*edMa c*rs mul add def /v3*ed w*s v3*edMa c*rs mul add def } ifelse %chromatic colour i*p#6 %For tLAB=1 Transfer to LAB*Ma and LAB*Fa tLAB 1 eq {%tLAB = 1 i*p 6 eq { %achromatic,chromatic colours /L*Ma L*Wio def /A*Ma 0 def /B*Ma 0 def /H*Ma B*Ma A*Ma 0.0001 add atan def /C*Ma 0 def /L*Fa L*Nio L*Wio L*Nio sub w*s mul add def /A*Fa 0 def /B*Fa 0 def /H*Fa B*Fa A*Fa 0.0001 add atan def /C*Fa 0 def } %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*ioG %******************************************************************** /proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioG { %BEG Procedure proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioG %transfer from device data to device (dd) and elementary data (de) %For tLAB=1 Transfer to LAB*Ma and LAB*Fa /v*s exch def /l*s exch def /o*s exch def /i*p 0 def %test if achromatic %W special case %W: o*s, l*s, v*s = 1.00 1.0 o*s sub abs 0.001 le 1.0 l*s sub abs 0.001 le and 1.0 v*s sub abs 0.001 le and %W special case {/i*p 6 def %W /c*rs 0 def /n*s 0 def /w*s 1 def /t*s 1 def } if %Test if achromatic %N special case %N: o*n, l*n, v*n <= 0.01 o*s abs 0.001 le l*s abs 0.001 le and v*s abs 0.001 le and %N special case {/i*p 6 def %N /c*rs 0 def /n*s 1 def /w*s 0 def /t*s 0 def } if %test if achromatic Grey sample o*s l*s sub abs 0.001 le l*s v*s sub abs 0.001 le and %Achromatic grey special case {/i*p 6 def %Grey /c*rs 0 def /n*s 1 o*s sub def /w*s o*s def /t*s 1 n*s sub c*rs 0.5 mul sub def } if i*p 6 eq {%achromatic,chromatic colours /o3*ddMa 1 def /l3*ddMa 1 def /v3*ddMa 1 def /o3*deMa 1 def /l3*deMa 1 def /v3*deMa 1 def /u*ddMa1 (o) def /u*ddMai 0 def /u*ddMa2 (y) def /u*dtMa1 (r) def /u*dtMai 0 def /u*dtMa2 (j) def /u*deMa1 (r) def /u*deMai 0 def /u*deMa2 (j) def /o3*dd o*s def /l3*dd l*s def /v3*dd v*s def /o3*de o*s def /l3*de l*s def /v3*de v*s def } %achromatic i*p=6 { %chromatic i*p#6 o*s l*s ge o*s v*s ge and {/olv*smax o*s def l*s v*s ge {%sector O->Y, o3*=1, l3*=0->1, v3*=0 /olv*smin v*s def /olv*smean l*s def /jsecd 0 def} {%sector M->O, o3*=1, l3*=0, v3*=1->0 /olv*smin l*s def /olv*smean v*s def /jsecd 5 def} ifelse } if l*s v*s ge l*s o*s ge and {/olv*smax l*s def v*s o*s ge {%sector L->C, o3*=0, l3*=1, v3*=0->1 /olv*smin o*s def /olv*smean v*s def /jsecd 2 def} {%sector Y->L, o3*=1->0, l3*=1, v3*=0 /olv*smin v*s def /olv*smean o*s def /jsecd 1 def} ifelse } if v*s o*s ge v*s l*s ge and {/olv*smax v*s def o*s l*s ge {%sector V->M, o3*=0->1, l3*=0, v3*=1 /olv*smin l*s def /olv*smean o*s def /jsecd 4 def} {%sector C->V, o3*=0, l3*=0->1, v3*=1 /olv*smin o*s def /olv*smean l*s def /jsecd 3 def } ifelse } if /c*rs olv*smax olv*smin sub def /n*s 1 olv*smax sub def /w*s 1 n*s sub c*rs sub def /t*s 1 n*s sub c*rs 0.5 mul sub def /b_a olv*smean olv*smax div def /c_a olv*smin olv*smax div def /alpha 1 c_a sub def /faktd b_a c_a sub alpha 0.00001 add div def /fakmd 1 faktd sub def %jsecd interpreted as device angle jsecd 0 eq {%sector O->Y, o3*=1, l3*=0->1, v3*=0 /o3*ddMa 1 def /l3*ddMa faktd def /v3*ddMa 0 def /H*M LAB*Hd 0 get LAB*Hd 1 get LAB*Hd 0 get sub faktd mul add def /u*ddMa1 (o) def /u*ddMai faktd 99 mul cviht def /u*ddMa2 (y) def} if jsecd 1 eq {%sector Y->L, o3*=1->0, l3*=1, v3*=0 /o3*ddMa faktd def /l3*ddMa 1 def /v3*ddMa 0 def /H*M LAB*Hd 1 get LAB*Hd 2 get LAB*Hd 1 get sub fakmd mul add def /u*ddMa1 (y) def /u*ddMai 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*ioG %******************************************************************* from De990-7N04.PS /proc_ColSep*ioG {%BEG Procedure proc_ColSep*ioG ColourSeparation for NP-file 20080901 /setgc {pop pop pop 1 exch sub sggray} bind def /setgm {pop pop 1 exch sub sggray pop} bind def /setgy {pop 1 exch sub sggray pop pop} bind def /setgn {1 exch sub sggray pop pop pop} bind def /setgf {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def 0 ccolor eq 0 mcolor eq and 0 ycolor eq and {1 ncolor sub sggray} {1 ccolor sub 0.71 mul 1 mcolor sub 0.22 mul add 1 ycolor sub 0.07 mul add sggray} ifelse } bind def /setcmykcolorf { sgcmykcolor} bind def %fuer PSL1/2-Farbgeraet /setcmyknew { %Ersatz setcolornew durch setcmykcolor1 ausz 1 eq {setgc} if %C ausz 2 eq {setgm} if %M ausz 3 eq {setgy} if %Y ausz 4 eq {pop pop pop /ccolor exch def ccolor 0 0 0 /setcmykcolor where %Abfrage Farb-/SW-Geraet {pop setcmykcolorf} %PSL1/2-Farb-Geraet {setgc} %PSL1-SW-Geraet ifelse } if %Cbunt ausz 5 eq {pop pop /mcolor exch def pop 0 mcolor 0 0 /setcmykcolor where %Abfrage Farb-/SW-Geraet {pop setcmykcolorf} %PSL1/2-Farb-Geraet {setgm} %PSL1-SW-Geraet ifelse } if %Mbunt ausz 6 eq {pop /ycolor exch def pop pop 0 0 ycolor 0 /setcmykcolor where %Abfrage Farb-/SW-Geraet {pop setcmykcolorf} %PSL1/2-Farb-Geraet {setgy} %PSL1-SW-Geraet ifelse } if %Ybunt ausz 7 eq {setgn} if %N ausz 8 ge { /setcmykcolor where %Abfrage Farb-/SW-Geraet {pop setcmykcolorf} %PSL1/2-Farb-Geraet {setgf} %PSL1-SW-Geraet ifelse } if %bei ausz=8: Farb- oder SW-Ausdruck je nach Drucker } bind def %********************************************************************* /rgb_LAB_Interp_olv*ioG {%BEG Procedure rgb_LAB_Interp_olv*ioG zm60'LABINPLT.PS %assumes input of rgb, LAB_Interpolation and calculation of olv* %split in chromatic and achromatic colours %two special cases black N and white W /b exch def /g exch def /r exch def r g sub abs 0.001 le r b sub abs 0.001 le and {%achromatic case /Case 0 def r abs 0.001 le g abs 0.001 le and b abs 0.001 le and {%N special case /Case 1 def } if %N special case 1 r sub abs 0.001 le 1 g sub abs 0.001 le and 1 b sub abs 0.001 le and {%W special case /Case 2 def } if }%achromatic {%chromatic /Case 3 def } ifelse %chromatic Case 1 eq {%Black N /o* 0 def /l* 0 def /v* 0 def } if %N special case Case 2 eq {%White W /o* 1 def /l* 1 def /v* 1 def } if %W special case Case 0 eq Case 3 eq or {%chromatic or gray /tLAB 1 def r g b proc_olv3*s_to_olv3*u*dd_de_H*M_LAB*Ma_Fa*ioG L*Fa A*Fa B*Fa Lab2RGBinterpolation /v* exch def /l* exch def /o* exch def } if %chromatic or gray } bind def %END Procedure rgb_LAB_Interp_olv*ioG 'zm60'LABINPLT.PS %********************************************************************* /trans_rgb3*_cmyn4*ioG {%BEG Procedure trans_rgb3*_cmyn4*ioG %assumes input of olv* o* 0 le {/o* 0.0000 def} if l* 0 le {/l* 0.0000 def} if v* 0 le {/v* 0.0000 def} if o* 1 ge {/o* 1.0000 def} if l* 1 ge {/l* 1.0000 def} if v* 1 ge {/v* 1.0000 def} if /tdel 0 def v* l* ge l* o* ge and tdel 0 eq and % v* >= l* >= o* equal y* <= m* <= c* %sector C-V of C-M, C>=M: i*p=0 {/n*n 1 v* sub def /w*w o* def /tdel 1 def } if % v* >= l* >= o* v* o* ge o* l* ge and tdel 0 eq and % v* >= o* >= l* equal y* <= c* <= m* %sector V-M of C-M, M>=C: i*p=1 {/n*n 1 v* sub def /w*w l* def /tdel 1 def } if % v* >= o* >= l* o* v* ge v* l* ge and tdel 0 eq and % o* >= v* >= l* equal c* <= y* <= m* %sector M-O of M-Y, M>=Y: i*p=2 {/n*n 1 o* sub def /w*w l* def /tdel 1 def } if % o* >= v* >= l* o* l* ge l* v* ge and tdel 0 eq and % o* >= l* >= v* equal c* <= m* <= y* %sector O-Y of M-Y, Y>=M: i*p=3 {/n*n 1 o* sub def /w*w v* def /tdel 1 def } if % o* >= l* >= v* l* o* ge o* v* ge and tdel 0 eq and % l* >= o* >= v* equal m* <= c* <= y* %sector Y-L of Y-C, Y>=C: i*p=4 {/n*n 1 l* sub def /w*w v* def /tdel 1 def } if % l* >= o* >= v* l* v* ge v* o* ge and tdel 0 eq and % l* >= v* >= o* equal m* <= y* <= c* %sector L-C of Y-C, C>=Y: i*p=5 {/n*n 1 l* sub def /w*w o* def /tdel 1 def } if % l* >= v* >= o* %achromatic %W: o*, l*, v* = 1.00 1.0 o* sub abs 0.001 le 1.0 l* sub abs 0.001 le and 1.0 v* sub abs 0.001 le and %W special case {/n*n 0 def /w*w 1 def %W } if %N: o*, l*, v* <= 0.001 o* abs 0.001 le l* abs 0.001 le and v* abs 0.001 le and %N special case {/n*n 1 def /w*w 0 def %N } if %Achromatic o* l* sub abs 0.001 le l* v* sub abs 0.001 le and %Achromatic special case {/n*n 1 o* sub def /w*w o* def %grey } if /lab*wFa w*w def /lab*nFa n*n def /c3*Fa 1 o* sub def /m3*Fa 1 l* sub def /y3*Fa 1 v* sub def /c4*Fa c3*Fa lab*nFa sub def %at least one of cmy will be cero /m4*Fa m3*Fa lab*nFa sub def /y4*Fa y3*Fa lab*nFa sub def /n4*Fa lab*nFa def /o4*Fa 1 c4*Fa sub def /l4*Fa 1 m4*Fa sub def /v4*Fa 1 y4*Fa sub def /i4*Fa 1 n4*Fa sub def } bind def %END Procedure trans_rgb3*_cmyn4*ioG %******************************************************************* /trans_rgb3*_cmyn5*ioG {%BEG Procedure trans_rgb3*_cmyn5*ioG %assumes input of olv*, 'zm60'CMYN559LT.PS o* 0 le {/o* 0.0000 def} if l* 0 le {/l* 0.0000 def} if v* 0 le {/v* 0.0000 def} if o* 1 ge {/o* 1.0000 def} if l* 1 ge {/l* 1.0000 def} if v* 1 ge {/v* 1.0000 def} if /ok* o* def /lk* l* def /vk* v* def /tdel 0 def vk* lk* ge lk* ok* ge and tdel 0 eq and % v* >= l* >= o* equal y* <= m* <= c* %sector C-V of C-M, C>=M: i*p=0 {/n*n 1 vk* sub def /w*w ok* def /m*w lk* def /tdel 1 def /isec 3 def } if % v* >= l* >= o* vk* ok* ge ok* lk* ge and tdel 0 eq and % v* >= o* >= l* equal y* <= c* <= m* %sector V-M of C-M, M>=C: i*p=1 {/n*n 1 vk* sub def /w*w lk* def /m*w ok* def /tdel 1 def /isec 4 def } if % v* >= o* >= l* ok* vk* ge vk* lk* ge and tdel 0 eq and % o* >= v* >= l* equal c* <= y* <= m* %sector M-O of M-Y, M>=Y: i*p=2 {/n*n 1 ok* sub def /w*w lk* def /m*w vk* def /tdel 1 def /isec 5 def } if % o* >= v* >= l* ok* lk* ge lk* vk* ge and tdel 0 eq and % o* >= l* >= v* equal c* <= m* <= y* %sector O-Y of M-Y, Y>=M: i*p=3 {/n*n 1 ok* sub def /w*w vk* def /m*w lk* def /tdel 1 def /isec 0 def } if % o* >= l* >= v* lk* ok* ge ok* vk* ge and tdel 0 eq and % l* >= o* >= v* equal m* <= c* <= y* %sector Y-L of Y-C, Y>=C: i*p=4 {/n*n 1 lk* sub def /w*w vk* def /m*w ok* def /tdel 1 def /isec 1 def } if % l* >= o* >= v* lk* vk* ge vk* ok* ge and tdel 0 eq and % l* >= v* >= o* equal m* <= y* <= c* %sector L-C of Y-C, C>=Y: i*p=5 {/n*n 1 lk* sub def /w*w ok* def /m*w vk* def /tdel 1 def /isec 2 def } if % l* >= v* >= o* %achromatic %W: ok*, lk*, vk* = 1.00 1.0 ok* sub abs 0.001 le 1.0 lk* sub abs 0.001 le and 1.0 vk* sub abs 0.001 le and %W special case {/n*n 0 def /w*w 1 def /m*w 1 def %W /isec 6 def } if %N: ok*, lk*, vk* <= 0.001 ok* abs 0.001 le lk* abs 0.001 le and vk* abs 0.001 le and %N special case {/n*n 1 def /w*w 0 def /m*w 0 def %N /isec 6 def } if %Achromatic ok* lk* sub abs 0.001 le lk* vk* sub abs 0.001 le and %Achromatic special case {/n*n 1 ok* sub def /w*w ok* def /m*w ok* def %grey /isec 6 def } if /lab*wFa w*w def /lab*nFa n*n def /lab*cFa 1 n*n sub w*w sub def /argb 1 lab*nFa sub def /brgb m*w def /crgb lab*wFa def /c* lab*cFa def /lab*tFa 1 lab*nFa sub lab*cFa 0.5 mul sub def isec 6 eq {%BEG isec=6 achromatic /o*1 1 def /l*1 1 def /v*1 1 def }%END isec=6 achromatic {%BEG isec#6 chromatic /o*1 ok* argb 0.000001 add div def /l*1 lk* argb 0.000001 add div def /v*1 vk* argb 0.000001 add div def } ifelse %END isec#6 /c3*Fa 1 o*1 sub def /m3*Fa 1 l*1 sub def /y3*Fa 1 v*1 sub def /c4*Fa c3*Fa def %at least one of cmy will be cero /m4*Fa m3*Fa def /y4*Fa y3*Fa def /n4*Fa lab*nFa def /o4*Fa 1 c4*Fa sub def /l4*Fa 1 m4*Fa sub def /v4*Fa 1 y4*Fa sub def /i4*Fa 1 n4*Fa sub def } bind def %END Procedure trans_rgb3*_cmyn5*ioG 'zm60'CMYN559LT.PS %********************************************************************* /trans_rgb3*_cmyn6*ioG {%BEG Procedure trans_rgb3*_cmyn6*ioG %assumes input of olv*, 'zm60'CMYN559LT.PS o* 0 le {/o* 0.0000 def} if l* 0 le {/l* 0.0000 def} if v* 0 le {/v* 0.0000 def} if o* 1 ge {/o* 1.0000 def} if l* 1 ge {/l* 1.0000 def} if v* 1 ge {/v* 1.0000 def} if /ok* o* def /lk* l* def /vk* v* def /tdel 0 def vk* lk* ge lk* ok* ge and tdel 0 eq and % v* >= l* >= o* equal y* <= m* <= c* %sector C-V of C-M, C>=M: i*p=0 {/n*n 1 vk* sub def /w*w ok* def /m*w lk* def /tdel 1 def /isec 3 def } if % v* >= l* >= o* vk* ok* ge ok* lk* ge and tdel 0 eq and % v* >= o* >= l* equal y* <= c* <= m* %sector V-M of C-M, M>=C: i*p=1 {/n*n 1 vk* sub def /w*w lk* def /m*w ok* def /tdel 1 def /isec 4 def } if % v* >= o* >= l* ok* vk* ge vk* lk* ge and tdel 0 eq and % o* >= v* >= l* equal c* <= y* <= m* %sector M-O of M-Y, M>=Y: i*p=2 {/n*n 1 ok* sub def /w*w lk* def /m*w vk* def /tdel 1 def /isec 5 def } if % o* >= v* >= l* ok* lk* ge lk* vk* ge and tdel 0 eq and % o* >= l* >= v* equal c* <= m* <= y* %sector O-Y of M-Y, Y>=M: i*p=3 {/n*n 1 ok* sub def /w*w vk* def /m*w lk* def /tdel 1 def /isec 0 def } if % o* >= l* >= v* lk* ok* ge ok* vk* ge and tdel 0 eq and % l* >= o* >= v* equal m* <= c* <= y* %sector Y-L of Y-C, Y>=C: i*p=4 {/n*n 1 lk* sub def /w*w vk* def /m*w ok* def /tdel 1 def /isec 1 def } if % l* >= o* >= v* lk* vk* ge vk* ok* ge and tdel 0 eq and % l* >= v* >= o* equal m* <= y* <= c* %sector L-C of Y-C, C>=Y: i*p=5 {/n*n 1 lk* sub def /w*w ok* def /m*w vk* def /tdel 1 def /isec 2 def } if % l* >= v* >= o* %achromatic %W: ok*, lk*, vk* = 1.00 1.0 ok* sub abs 0.001 le 1.0 lk* sub abs 0.001 le and 1.0 vk* sub abs 0.001 le and %W special case {/n*n 0 def /w*w 1 def /m*w 1 def %W /isec 6 def } if %N: ok*, lk*, vk* <= 0.001 ok* abs 0.001 le lk* abs 0.001 le and vk* abs 0.001 le and %N special case {/n*n 1 def /w*w 0 def /m*w 0 def %N /isec 6 def } if %Achromatic ok* lk* sub abs 0.001 le lk* vk* sub abs 0.001 le and %Achromatic special case {/n*n 1 ok* sub def /w*w ok* def /m*w ok* def %grey /isec 6 def } if /lab*wFa w*w def /lab*nFa n*n def /lab*cFa 1 n*n sub w*w sub def /argb 1 lab*nFa sub def /brgb m*w def /crgb lab*wFa def /c* lab*cFa def /lab*tFa 1 lab*nFa sub lab*cFa 0.5 mul sub def isec 6 eq {%BEG isec=6 achromatic /o*1 1 def /l*1 1 def /v*1 1 def }%END isec=6 achromatic {%BEG isec#6 chromatic /o*1 ok* argb 0.000001 add div def /l*1 lk* argb 0.000001 add div def /v*1 vk* argb 0.000001 add div def } ifelse %END isec#6 /c3*Fa 1 o*1 sub def /m3*Fa 1 l*1 sub def /y3*Fa 1 v*1 sub def /c41*Fa c3*Fa def %at least one of cmy will be cero /m41*Fa m3*Fa def /y41*Fa y3*Fa def /n4*Fa lab*nFa def %change by deepness difference delta d* = c*S1 - c*S2 %use lab*cFa, lab*tFa for correction %equations of three lines %t* = 1 - 0.5 c* %t* = [t* / c*] c* %t* = [(t* + 0,18) / c*] c* - 0,18 %cut point S1 for nt=0,18: %c*s1 = 1 /[ t*F / c*F + 0,5 ] %cut point S2 for n=0,18: %c*s1 = (1 + nt) / [ (t*F + nt) / c*F + 0,5 ] %special case lab*cFa=0 and n=0,18 /nt 0.18 def lab*cFa 0 eq { %lab*cFa=0,#0 /c*S1 0 def /c*S2 0 def } %lab*cFa=0 { %lab*cFa#0 /c*S1 1 lab*tFa lab*cFa div 0.5 add div def /c*S2 1 nt add lab*tFa nt add lab*cFa div 0.5 add div def } ifelse %lab*cFa=0,#0 /c4*Fa c41*Fa c41*Fa c*S1 c*S2 sub mul sub def /m4*Fa m41*Fa m41*Fa c*S1 c*S2 sub mul sub def /y4*Fa y41*Fa y41*Fa c*S1 c*S2 sub mul sub def /o4*Fa 1 c4*Fa sub def /l4*Fa 1 m4*Fa sub def /v4*Fa 1 y4*Fa sub def /i4*Fa 1 n4*Fa sub def } bind def %END Procedure trans_rgb3*_cmyn6*ioG 'zm60'CMYN559LT.PS %********************************************************************* %BEG 'zm60'COLM57_590415LT.PS 20080901 ColSpx 0 eq {%ColSpx=0 /tLAB 0 def xcharti 1 ge {%xcharti>=1 'zm60'COLM57LT.PS cmy0* 20080901 colorm 0 eq {%BEG colorm=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if %standard cmy0* for input /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {dup dup /v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if %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*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def }%END colorm=0 {%BEG colorm=1 /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioG /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {/w*w exch def /o* w*w def /l* w*w def /v* w*w def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioG /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioG /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def } ifelse %END colorm=1 }%END %xcharti>=1 {%BEG %xcharti=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* l* v* sgrgbcolor } def /setgray {dup dup /v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* sggray } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def /n4*Fa 0 def} {/o* 1 def /l* 1 def /v* 1 def /n4*Fa n*n def} ifelse /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def c4*Fa m4*Fa y4*Fa n4*Fa sgcmykcolor } def } ifelse %END %xcharti=0 'zm60'COLM57LT.PS cmy0* 20080901 } if %ColSpx=0 %********************************************************************* ColSpx 1 eq {%ColSpx=1 /tLAB 0 def xcharti 1 ge {%xcharti>=1 'zm60'COLM559LT.PS cmyn6* 20080201 colorm 0 eq {%BEG colorm=0 /olvtrans 1 def %changes olv* to olvk* /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn6*ioG %in: olv*, out: cmyn6 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {/w*w exch def /v* w*w def /l* w*w def /o* w*w def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn6*ioG %in: olv*, out: cmyn6 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn6*ioG %in: olv*, out: cmyn6 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def }%END colorm=0 {%BEG colorm=1 /olvtrans 0 def %no change of olv* /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioG trans_rgb3*_cmyn6*ioG %in: olv*, out: cmyn6 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {dup dup /v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioG trans_rgb3*_cmyn6*ioG %in: olv*, out: cmyn6 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioG trans_rgb3*_cmyn6*ioG %in: olv*, out: cmyn6 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def } ifelse %END colorm=1 }%END %xcharti>=0 {%BEG %xcharti=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* l* v* sgrgbcolor } def /setgray {dup dup /v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* sggray } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def /n4*Fa 0 def} {/o* 1 def /l* 1 def /v* 1 def /n4*Fa n*n def} ifelse /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def c4*Fa m4*Fa y4*Fa n4*Fa sgcmykcolor } def } ifelse %END %xcharti=0 'zm60'COLM559LT.PS cmyn6* 20080201 } if %ColSpx=1 %*************************************************************** ColSpx 2 eq {%ColSpx=2 /tLAB 0 def xcharti 1 ge {%xcharti>=1 'zm60'COLM58LT.PS cmyn4* 20080901 colorm 0 eq {%BEG colorm=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn4*ioG %in: olv*, out: cmyn4 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {dup dup /v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn4*ioG %in: olv*, out: cmyn4 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn4*ioG %in: olv*, out: cmyn4 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def }%END colorm=0 {%BEG colorm=1 /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioG trans_rgb3*_cmyn4*ioG %needs olv* for input %produces cmyn4*ioG as output c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {dup dup /v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioG trans_rgb3*_cmyn4*ioG %in: olv*, out: cmyn4 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioG trans_rgb3*_cmyn4*ioG %in: olv*, out: cmyn4 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def } ifelse %END colorm=1 }%END %xcharti>=0 {%BEG %xcharti=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* l* v* sgrgbcolor } def /setgray {dup dup /v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* sggray } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def /n4*Fa 0 def} {/o* 1 def /l* 1 def /v* 1 def /n4*Fa n*n def} ifelse /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def c4*Fa m4*Fa y4*Fa n4*Fa sgcmykcolor } def } ifelse %END %xcharti=0 'zm60'COLM58LT.PS cmyn4* 20080901 } if %ColSpx=2 %************************************************************* ColSpx 3 eq {%ColSpx=3 /tLAB 0 def xcharti 1 ge {%xcharti>=1 'zm60'COLM559LT.PS cmyn5* 20080901 colorm 0 eq {%BEG colorm=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn5*ioG %in: olv*, out: cmyn5 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {dup dup /v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn5*ioG %in: olv*, out: cmyn5 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if trans_rgb3*_cmyn5*ioG %in: olv*, out: cmyn5 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def }%END colorm=0 {%BEG colorm=1 /olvtrans 0 def %no change of olv* /setrgbcolor {/v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioG trans_rgb3*_cmyn5*ioG %in: olv*, out: cmyn5 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setgray {dup dup /v* exch def /l* exch def /o* exch def DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioG trans_rgb3*_cmyn5*ioG %in: olv*, out: cmyn5 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def %standard cmy0* or 000n* for input n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def} {/o* 1 n*n sub def /l* 1 n*n sub def /v* 1 n*n sub def} ifelse DEintp 1 eq {o* l* v* proc_olv3*s_to_olv3*u*ed_ee_H*M_LAB*Ma_Fa*ioG /o* o3*ed def /l* l3*ed def /v* v3*ed def} if o* l* v* rgb_LAB_Interp_olv*ioG trans_rgb3*_cmyn5*ioG %in: olv*, out: cmyn5 c4*Fa m4*Fa y4*Fa n4*Fa setcmyknew } def } ifelse %END colorm=1 }%END %xcharti>=0 {%BEG %xcharti=0 /setrgbcolor {/v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* l* v* sgrgbcolor } def /setgray {dup dup /v* exch def /l* exch def /o* exch def /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def /n4*Fa 0 def o* sggray } def /setcmykcolor {/n*n exch def /y*n exch def /m*n exch def /c*n exch def n*n 0 eq {/o* 1 c*n sub def /l* 1 m*n sub def /v* 1 y*n sub def /n4*Fa 0 def} {/o* 1 def /l* 1 def /v* 1 def /n4*Fa n*n def} ifelse /c4*Fa 1 o* sub def /m4*Fa 1 l* sub def /y4*Fa 1 v* sub def c4*Fa m4*Fa y4*Fa n4*Fa sgcmykcolor } def } ifelse %END %xcharti=0 'zm60'COLM559LT.PS cmyn5* 20080901 } if %ColSpx=3 } bind def %BEG Procedure proc_ColSep*ioG ColourSeparation for NP-file 20080901 %***************************************************************************** %END Fe00->Fe03/10L/OUTLIN1X.PS, ident. for NP-(*ioG), FP-files (*ioG) 20080901 %***************************************************************************** /CFilenameS1g %START output of step S1g (www.ps.bam.de/Fe03/10L/L03e00N) def %Link file name for data /CDateS1g (2006-01-01, Name) def %Date of calculation, Tester /CDeviceS1g (unknown ) def %Device name /CMeasS1g (Fe03/10L/L03e00N) def %File name measured in step S1g %change scount2g from 2 to 10 for 10 series %change pcount2g from 8 to 240 for 240 pages of each series /scount1g 1 def /scount2g 1 def /scountg 1 def /pcount1g 1 def /pcount2g 1 def /pcountg 1 def %start=1, one more 9+1! /xchart1g 0 def /xchart2g 9 def /xchartg 0 def /BeginEPSF { % def % Prepare for EPS file /b4_Inc_state save def % Save state for cleanup /dict_count countdictstack def /op_count count 1 sub def % Count objects on op stack userdict begin % Make userdict current dict /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath /languagelevel where % If level not equal to 1 then {pop languagelevel where % If level not equal to 1 then 1 ne {false setstrokeadjust false setoverprint } if } if } bind def /EndEPSF { % def count op_count sub {pop} repeat countdictstack dict_count sub {end} repeat % Clean up dict stack b4_Inc_state restore } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIK {250 /TimesI-ISOL1 FS} bind def /TIM {300 /TimesI-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TBK {250 /TimesB-ISOL1 FS} bind def /TBM {300 /TimesB-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBIK {250 /TimesBI-ISOL1 FS} bind def /TBIM {300 /TimesBI-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def %ANFA CMYKDEF %CMYKDEA0 (A0=Standard-Drucker-CMYKDEF) 15.3.97 /tzac [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tzam [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tzay [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tzan [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tza0 [0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000] def /tza1 [1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000] def %ENDE CMYKD /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfiLAB* %x y width heigth LAB* { setcolor rec fill} bind def /colrecstLAB* %x y width heigth LAB* { setcolor rec stroke} bind def /colrecficmyn* %x y width heigth cmy0* or 000n* { setcmykcolor rec fill} bind def /colrecstcmyn* %x y width heigth cmy0* or 000n* { setcmykcolor rec stroke} bind def /colrecfiw* %x y width heigth w* { setgray rec fill} bind def /colrecstw* %x y width heigth w* { setgray rec stroke} bind def /colrecfiolv* %x y width heigth olv* { setrgbcolor rec fill} bind def /colrecstolv* %x y width heigth olv* { setrgbcolor rec stroke} bind def /tzocmy0* {0.0 1.0 1.0 0.0} bind def %Reproduction colours /tzlcmy0* {1.0 0.0 1.0 0.0} bind def %cmyn* setcmykcolor /tzvcmy0* {1.0 1.0 0.0 0.0} bind def /tzccmy0* {1.0 0.0 0.0 0.0} bind def /tzmcmy0* {0.0 1.0 0.0 0.0} bind def /tzycmy0* {0.0 0.0 1.0 0.0} bind def /tzoolv* {1.0 0.0 0.0} bind def %Reproduction colours /tzlolv* {0.0 1.0 0.0} bind def %olv* setrgbcolor /tzvolv* {0.0 0.0 1.0} bind def /tzcolv* {0.0 1.0 1.0} bind def /tzmolv* {1.0 0.0 1.0} bind def /tzyolv* {1.0 1.0 0.0} bind def /tzoLAB* [53.34 72.46 50.66] def %Reproduction colours /tzlLAB* [84.93 -79.83 74.80] def %LAB* setcolor /tzvLAB* [32.20 24.88 -37.89] def /tzcLAB* [88.10 -44.88 -13.36] def /tzmLAB* [59.66 90.32 -19.65] def /tzyLAB* [93.76 -20.24 85.93] def /tzncmy0* {1.00 1.00 1.00 0.00} bind def %grey series /tzdcmy0* {0.75 0.75 0.75 0.00} bind def %cmy0* setcmykcolor /tzzcmy0* {0.50 0.50 0.50 0.00} bind def /tzhcmy0* {0.25 0.25 0.25 0.00} bind def /tzwcmy0* {0.00 0.00 0.00 0.00} bind def /tzn000n* {0.00 0.00 0.00 1.00} bind def %grey series 000n* /tzd000n* {0.00 0.00 0.00 0.75} bind def %000n* setcmykcolor /tzz000n* {0.00 0.00 0.00 0.50} bind def /tzh000n* {0.00 0.00 0.00 0.25} bind def /tzw000n* {0.00 0.00 0.00 0.00} bind def /tznw* {0.00} bind def %grey series /tzdw* {0.25} bind def %w* setgray /tzzw* {0.50} bind def /tzhw* {0.75} bind def /tzww* {1.00} bind def /tznolv* {0.00 0.00 0.00} bind def %grey series /tzdolv* {0.25 0.25 0.25} bind def %olv* setrgbcolor /tzzolv* {0.50 0.50 0.50} bind def /tzholv* {0.75 0.75 0.75} bind def /tzwolv* {1.00 1.00 1.00} bind def /tznLAB* [18.01 0.00 0.00] def %grey series /tzdLAB* [37.36 0.00 0.00] def %LAB* setcolor /tzzLAB* [56.71 0.00 0.00] def /tzhLAB* [76.06 0.00 0.00] def /tzwLAB* [95.41 0.00 0.00] def /tfn {0 setgray} bind def /tfw {1 setgray} bind def /A4quer {598 0 translate 90 rotate} def /cviht {dup 0 ge {0.49 add}{0.49 sub} ifelse cvi} def /cvishow {dup 0 ge {0.5 add} {0.5 sub} ifelse cvi 6 string cvs show} def /cvsshow1 {dup 0 ge {0.05 add} {0.05 sub} ifelse 10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {dup 0 ge {0.005 add} {0.005 sub} ifelse 100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {dup 0 ge {0.0005 add} {0.0005 sub} ifelse 1000 mul cvi 0.001 mul 7 string cvs show} def /tzank [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def %BEG 61 lines comment or new PS operators possible %01 %02 %03 %04 %05 %END 38 lines comment or new PS operators possible %%EndProlog %%BeginPageSetup /#copies 1 def %A4quer 0.5 0.5 scale /pgsave save def %%EndPageSetup 0.0 MM 0.0 MM translate %Verschiebung nach oben und links fuer Belichter gsave /LAB*TE [(ORS20_95a)] def /SS$ [(G) (E) (S) (F) (I) (J) (M)] def /SC$ [(N) (F) (S) (D) (T) (E) (C)] def /SX$ [(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (A) (B) (C) (D) (E) (F)] def /SY$ [(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (A) (B) (C) (D) (E) (F)] def % 0 1 2 3 4 5 % 6 7 8 /EX$ [(1.PS/ .TXT) (B.PS/ .BMP) (G.PS/ .GIF) (H.PS/ .HTM) (I.PS/ .HTM) (J.PS/ .JPE) (P.PS/ .PDF) (T.PS/ .TIF)] def /EY$ [(1.DAT) (B.DAT) (G.DAT) (H.DAT) (I.DAT) (J.DAT) (P.DAT) (T.DAT)] def /lanindg1 1 def /lanindg2 1 def /colormg1 0 def /colormg2 0 def /xcolorg1 0 def /xcolorg2 0 def /xchartg1 0 def /xchartg2 0 def /lanindg lanindg1 def %no loops /colormg colormg1 def /xcolorg xcolorg1 def /xchartg xchartg1 def /pcount2x pcount2g xchart2g sub 2 add def %scount1g 1 scount2g {/scountg exch def %s=serie, e. g. 1,1,10 %1 1 1 {/pcountg exch def %p=page, e. g. 1,1,250 /xchart10 0 def /xchart20 0 def %1x6=6 original, transfer, 4 separations %pcountg pcount1g eq {/xchart10 0 def /xchart20 0 def} % {/xchart10 1 def /xchart20 1 def} ifelse %%pcountg pcount2x eq {/xchart10 2 def /xchart20 9 def} if xchart10 1 xchart20 {/xchartg exch def /xcharti xchartg def xcharti 0 eq {/ausz 8 def /xchartt (A) def} if xcharti 1 eq {/ausz 8 def /xchartt (F) def} if xcharti 2 eq {/ausz 1 def /xchartt (C) def} if xcharti 3 eq {/ausz 2 def /xchartt (M) def} if xcharti 4 eq {/ausz 3 def /xchartt (Y) def} if xcharti 5 eq {/ausz 7 def /xchartt (N) def} if /xchartg0 0 def /colorm colormg def /xchart xcharti xchartg0 sub def %proc_LAB*ioL, proc_ColSep*ioL, and procedures (*ioL) are only in L10-7N.EPS %proc_LAB*ioG, proc_ColSep*ioG, and procedures (*ioG) are only in L03e00NA.PS6.PS and OUTLIN1X %for colorm=0, default rgb/cmyk-values are used for Frame %for colorm=1, rgb/cmyk-values of proc_LAB*ioG, proc_ColSep*ioG are used for Frame %for colorm=0, rgb/cmyk-values of proc_LAB*ioL, proc_ColSep*ioL are used in L10-7N %for colorm=1, rgb/cmyk-values of proc_LAB*ioG, proc_ColSep*ioG are used in L10-7N %for consistancy use same procedures in L10-7N and L03e00NA.PS6.PS colorm 1 eq {proc_LAB*ioG proc_ColSep*ioG} if %proc_LAB*ioL, proc_ColSep*ioL only in L10-7! %2 MM /Times-Roman FS %274 MM 82 MM moveto -90 rotate (/Fe03/ ) show (Form: ) show %xchartg 1 add cvi 6 string cvs show (/) show %xchart2g 1 add cvi 6 string cvs show (,) show 90 rotate %274 MM 65 MM moveto -90 rotate (Serie: ) show %scountg cvi 6 string cvs show (/) show %scount2g cvi 6 string cvs show (,) show 90 rotate %274 MM 55 MM moveto -90 rotate %lanindg 0 eq {(Seite: )}{(Page: )} ifelse show %pcountg xchartg xchart10 sub add cvi 6 string cvs show 90 rotate %274 MM 45 MM moveto %-90 rotate %lanindg 0 eq {(Seitenz\344hlung )}{(Page: count: )} ifelse show %scountg 1 sub pcount2g mul pcountg add %pcountg pcount2x eq {xchartg add pcount1g pcount2x ne {2 sub } if} if %cvi 6 string cvs show %90 rotate /GSS$ SS$ lanindg get def /GSC$ SC$ colormg get def /GSX$ SX$ xcolorg get def /GSY$ SY$ 0 get def /GEX$ EX$ 0 get def /GEY$ EY$ 0 get def %gsave BeginEPSF 28 MM 197 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto 1 1 scale -77 -91 translate %%BeginDocument: Bild 10 %line 329 %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto 1 1 scale -77 -91 translate %%BeginDocument: Bild 11 %line 339 %!PS-Adobe-3.0 EPSF-3.0 Fe030-1N.EPS 20080901 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 7 /Times-Roman FS 72 83 moveto %!2 (Fe030-1, )show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 12 %line 349 %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 13 %line 359 %!PS-Adobe-3.0 EPSF-3.0 Fe030-3N.EPS 20080901 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 7 /Times-Roman FS 72 83 moveto %!2 (Fe030-3, )show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 14 %line 369 %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 15 %line 379 %!PS-Adobe-3.0 EPSF-3.0 Fe030-5N.EPS 20080901 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 7 /Times-Roman FS 72 83 moveto %!2 (Fe030-5, )show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 16 %line 389 %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM -4 MM add 20 MM -3.5 MM add translate %special 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 17 %line 399 %!PS-Adobe-3.0 EPSF-3.0 Fe030-7N.EPS %%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://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2008090112000) /ModDate (D:2008090112000) /DOCINFO pdfmark07 [ /View [ /FitB ] /DOCVIEW pdfmark07 %END PDFDE011 /ColSpxL 1 def /DEintp 0 def %Early binding /sggray where {pop /slgray {sggray} bind def} {/slgray {setgray} bind def} ifelse /sgcmykcolor where {pop /slcmykcolor {sgcmykcolor} bind def} {/slcmykcolor {setcmykcolor} bind def} ifelse /sgrgbcolor where {pop /slrgbcolor {sgrgbcolor} bind def} {/slrgbcolor {setrgbcolor} bind def} ifelse /ColSpxG where {pop /ColSpx {ColSpxG} bind def} {/ColSpx {ColSpxL} bind def} ifelse /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse } forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse } forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse } forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse } forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIK {250 /TimesI-ISOL1 FS} bind def /TIM {300 /TimesI-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TBK {250 /TimesB-ISOL1 FS} bind def /TBM {300 /TimesB-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBIK {250 /TimesBI-ISOL1 FS} bind def /TBIM {300 /TimesBI-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /CKK {200 /Courier-ISOL1 FS} bind def /CK {250 /Courier-ISOL1 FS} bind def /CM {300 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBKK {200 /CourierB-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def %***************************************************************************** %BEG Fe00->Fe03/10L/L10-7N.EPS, ident. for NP-(*ioL), FP-files (*ioL) 20080901 %***************************************************************************** %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 %ORS19_96.DAT, measured data are not adapted 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 %Z48N_VT100_E972.DAT, 972 colours, 20080215, Separation cmyn5* (ORS19_96a) %100 x LAB*a %#1000 x (r g b c m y 0) %nr. pos %0048.75 0065.06 0039.43 %#1000 0000 0000 0000 1000 1000 0000 %0648 S19 %O1 0 %0090.92 -010.29 0087.24 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y1 1 %0052.69 -065.44 0020.74 %#0000 1000 0000 1000 0000 1000 0000 %0072 I01 %L1 2 %0059.61 -028.98 -046.23 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C1 3 %0028.39 0023.62 -044.14 %#0000 0000 1000 1000 1000 0000 0000 %0008 A09 %V1 4 %0049.58 0073.92 -009.57 %#1000 0000 1000 0000 1000 0000 0000 %0656 S27 %M1 5 %0018.89 0000.00 0000.00 %#0000 0000 0000 1000 1000 1000 0000 %0000 A01 %N1 6 %0096.90 0000.00 0000.00 %#1000 1000 1000 0000 0000 0000 0000 %0728 a27 %W1 7 %$ %0048.72 0064.37 0038.81 %#1000 0000 0000 0000 1000 1000 0000 %0801 j01 %O2 0 %0090.86 -010.17 0086.49 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y2 1 %0051.99 -066.02 0020.01 %#0000 1000 0000 1000 0000 1000 0000 %0963 j19 %L2 2 %0059.82 -029.27 -046.02 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C2 3 %0028.54 0023.06 -044.55 %#0000 0000 1000 1000 1000 0000 0000 %0818 b18 %V2 4 %0049.64 0073.96 -009.54 %#1000 0000 1000 0000 1000 0000 0000 %0899 b27 %M2 5 %0018.15 0000.00 0000.00 %#0000 0000 0000 1000 1000 1000 0000 %0809 j09 %N2 6 %0096.87 0000.00 0000.00 %#1000 1000 1000 0000 0000 0000 0000 %0729 b01 %W2 7 %$ %Z48N_VT100_E972.DAT, 972 colours, 20080215, Separation cmyn5* (ORS19_96) %100 x LAB* %#1000 x (r g b c m y 0) %nr. pos 0048.75 0065.16 0040.76 %#1000 0000 0000 0000 1000 1000 0000 %0648 S19 %O1 0 0090.92 -010.78 0089.36 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y1 1 0052.69 -065.40 0022.15 %#0000 1000 0000 1000 0000 1000 0000 %0072 I01 %L1 2 0059.61 -029.04 -044.69 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C1 3 0028.39 0024.00 -043.18 %#0000 0000 1000 1000 1000 0000 0000 %0008 A09 %V1 4 0049.58 0074.01 -008.22 %#1000 0000 1000 0000 1000 0000 0000 %0656 S27 %M1 5 0018.89 0000.50 0000.77 %#0000 0000 0000 1000 1000 1000 0000 %0000 A01 %N1 6 0096.90 -000.57 0002.23 %#1000 1000 1000 0000 0000 0000 0000 %0728 a27 %W1 7 %$ %0048.72 006443 004007 %#1000 0000 0000 0000 1000 1000 0000 %0801 j01 %O2 0 %0090.86 -010.70 0088.65 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y2 1 %0051.99 -066.00 0021.34 %#0000 1000 0000 1000 0000 1000 0000 %0963 j19 %L2 2 %0059.82 -029.36 -044.52 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C2 3 %0028.54 0023.41 -043.72 %#0000 0000 1000 1000 1000 0000 0000 %0818 b18 %V2 4 %0049.64 0074.01 -008.26 %#1000 0000 1000 0000 1000 0000 0000 %0899 b27 %M2 5 %0018.15 0000.49 0000.60 %#0000 0000 0000 1000 1000 1000 0000 %0809 j09 %N2 6 %0096.87 -000.60 0002.29 %#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 /olv*smax -1 def /olv*smin -1 def o*s l*s ge o*s v*s ge and {/olv*smax o*s def l*s v*s ge {/olv*smin v*s def} {/olv*smin l*s def} ifelse } if l*s v*s ge l*s o*s ge and {/olv*smax l*s def v*s o*s ge {/olv*smin o*s def} {/olv*smin v*s def} ifelse } if v*s o*s ge v*s l*s ge and {/olv*smax v*s def o*s l*s ge {/olv*smin l*s def} {/olv*smin o*s def} ifelse } if olv*smax -1 eq {STOPolv*smax} if olv*smin -1 eq {STOPolv*smin} 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 %Components and hue angles in regular System SRS18 [30,90,...,330] /a*rs o*s 30 cos mul l*s 150 cos mul add def /b*rs o*s 30 sin mul l*s 150 sin mul add v*s 270 sin mul add def /H*abs b*rs a*rs atan def H*abs 030 lt {/H*abs H*abs 360 add def} if /faktx H*abs 030 sub 120 div def %0 < fakts < 3 faktx 1 lt {/fakts faktx def /jsecs 0 def} if faktx 1 ge faktx 2 lt and {/fakts faktx 1 sub def /jsecs 2 def} if faktx 2 ge faktx 3 le and {/fakts faktx 2 sub def /jsecs 4 def} if %interpretation as elementary hue angle (e) /H*abe LAB*He jsecs get LAB*He jsecs 2 add get LAB*He jsecs get sub fakts mul add def H*abe 360 gt {/H*abe H*abe 360 sub def} if %interpretation as device hue angle (d) /H*abd LAB*Hd jsecs get LAB*Hd jsecs 2 add get LAB*Hd jsecs get sub fakts mul add def H*abd 360 gt {/H*abd H*abd 360 sub def} if %calculations for device (d) system: %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 2 4 {/nx exch def /np nx 2 add def H*abd LAB*Hd nx get ge H*abd LAB*Hd np get lt and {/jsecd1 nx def /faktd1 H*abd LAB*Hd nx get sub LAB*Hd np get LAB*Hd nx get sub div def} if } for %nx=0,4 /faktd11 LAB*Hd 1 get LAB*Hd 0 get sub LAB*Hd 2 get LAB*Hd 0 get sub div def /faktd31 LAB*Hd 3 get LAB*Hd 2 get sub LAB*Hd 4 get LAB*Hd 2 get sub div def /faktd51 LAB*Hd 5 get LAB*Hd 4 get sub LAB*Hd 6 get LAB*Hd 4 get sub div def jsecd1 0 eq {faktd1 faktd11 le {/jsecd 0 def /faktd faktd1 faktd11 div def} {/jsecd 1 def /faktd faktd1 faktd11 sub 1 faktd11 sub div def} ifelse } if jsecd1 2 eq {faktd1 faktd31 le {/jsecd 2 def /faktd faktd1 faktd31 div def} {/jsecd 3 def /faktd faktd1 faktd31 sub 1 faktd31 sub div def} ifelse } if jsecd1 4 eq {faktd1 faktd51 le {/jsecd 4 def /faktd faktd1 faktd51 div def} {/jsecd 5 def /faktd faktd1 faktd51 sub 1 faktd51 sub div def} ifelse } if %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 {STOPjsecd1} 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*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*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*edMa1 (l) def /u*edMai faktd 99 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*edMa1 (c) def /u*edMai faktd 99 mul 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*edMa1 (v) def /u*edMai faktd 99 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*edMa1 (m) def /u*edMai faktd 99 mul cviht def /u*edMa2 (o) def} if o3*edMa -1 eq {STOPo3*edMa1} if l3*edMa -1 eq {STOPl3*edMa1} if v3*edMa -1 eq {STOPv3*edMa1} if %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 2 4 {/nx exch def /np nx 2 add def H*abe LAB*He nx get ge H*abe LAB*He np get lt and {/jsece1 nx def /fakte1 H*abe LAB*He nx get sub LAB*He np get LAB*He nx get sub div def} if } for %nx=0,4 /fakte11 LAB*He 1 get LAB*He 0 get sub LAB*He 2 get LAB*He 0 get sub div def /fakte31 LAB*He 3 get LAB*He 2 get sub LAB*He 4 get LAB*He 2 get sub div def /fakte51 LAB*He 5 get LAB*He 4 get sub LAB*He 6 get LAB*He 4 get sub div def jsece1 0 eq {fakte1 fakte11 le {/jsece 0 def /fakte fakte1 fakte11 div def} {/jsece 1 def /fakte fakte1 fakte11 sub 1 fakte11 sub div def} ifelse } if jsece1 2 eq {fakte1 fakte31 le {/jsece 2 def /fakte fakte1 fakte31 div def} {/jsece 3 def /fakte fakte1 fakte31 sub 1 fakte31 sub div def} ifelse } if jsece1 4 eq {fakte1 fakte51 le {/jsece 4 def /fakte fakte1 fakte51 div def} {/jsece 5 def /fakte fakte1 fakte51 sub 1 fakte51 sub div def} ifelse } if %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 {STOPjsece0} if /fakme 1 fakte sub def /o3*eeMa -1 def /l3*eeMa -1 def /v3*eeMa -1 def jsece 0 eq {%sector O->Y, o3*=1, l3*=0->1, v*=0 /o3*eeMa 1 def /l3*eeMa fakte def /v3*eeMa 0 def /u*dtMa1 (r) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (j) def /u*eeMa1 (r) def /u*eeMai fakte 99 mul cviht def /u*eeMa2 (j) def} if jsece 1 eq {%sector Y->L, o3*=1->0, l3*=1, v*=0 /o3*eeMa fakme def /l3*eeMa 1 def /v3*eeMa 0 def /u*dtMa1 (j) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (g) def /u*eeMa1 (j) def /u*eeMai fakte 99 mul cviht def /u*eeMa2 (g) def} if jsece 2 eq {%sector L->C, o3*=0, l3*=1, v*=0->1 /o3*eeMa 0 def /l3*eeMa 1 def /v3*eeMa fakte def /u*dtMa1 (g) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (c') def /u*eeMa1 (g) def /u*eeMai fakte 99 mul 0.5 mul cviht def /u*eeMa2 (b) def} if jsece 3 eq {%sector C->V, o3*=0, l3*=0->1, v*=1 /o3*eeMa 0 def /l3*eeMa fakme def /v3*eeMa 1 def /u*dtMa1 (c') def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (b) def /u*eeMa1 (g) def /u*eeMai fakte 99 mul 0.5 mul 50 add cviht def /u*eeMa2 (b) def} if jsece 4 eq {%sector V->M, o3*=0->1, l3*=0, v*=1 /o3*eeMa fakte def /l3*eeMa 0 def /v3*eeMa 1 def /u*dtMa1 (b) def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (m') def /u*eeMa1 (b) def /u*eeMai fakte 99 mul 0.5 mul cviht def /u*eeMa2 (r) def} if jsece 5 eq {%sector M->O, o3*=1, l3*=0, v*=1->0 /o3*eeMa 1 def /l3*eeMa 0 def /v3*eeMa fakme def /u*dtMa1 (m') def /u*dtMai fakte 99 mul cviht def /u*dtMa2 (r) def /u*eeMa1 (b) def /u*eeMai fakte 99 mul 0.5 mul 50 add cviht def /u*eeMa2 (r) def} if o3*eeMa -1 eq {STOPo3*Ma0} if l3*eeMa -1 eq {STOPl3*Ma0} if v3*eeMa -1 eq {STOPv3*Ma0} if %equation: %olv3*Fa = 1 - n* -c* + c* olv3*Ma = w* + c* olv3*Ma /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 /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 } 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*abd def /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 /olv*smax -1 def /olv*smin -1 def o*s l*s ge o*s v*s ge and {/olv*smax o*s def l*s v*s ge {/olv*smin v*s def} {/olv*smin l*s def} ifelse } if l*s v*s ge l*s o*s ge and {/olv*smax l*s def v*s o*s ge {/olv*smin o*s def} {/olv*smin v*s def} ifelse } if v*s o*s ge v*s l*s ge and {/olv*smax v*s def o*s l*s ge {/olv*smin l*s def} {/olv*smin o*s def} ifelse } if olv*smax -1 eq {STOPolv*smax} if olv*smin -1 eq {STOPolv*smin} 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 %Components and hue angles in regular System SRS18 [30,90,...,330] /a*rs o*s 30 cos mul l*s 150 cos mul add def /b*rs o*s 30 sin mul l*s 150 sin mul add v*s 270 sin mul add def /H*abs b*rs a*rs atan def H*abs 030 lt {/H*abs H*abs 360 add def} if /faktx H*abs 030 sub 120 div def %0 < fakts < 3 faktx 1 lt {/fakts faktx def /jsecs 0 def} if faktx 1 ge faktx 2 lt and {/fakts faktx 1 sub def /jsecs 2 def} if faktx 2 ge faktx 3 le and {/fakts faktx 2 sub def /jsecs 4 def} if %interpretation as elementary hue angle (e) /H*abe LAB*He jsecs get LAB*He jsecs 2 add get LAB*He jsecs get sub fakts mul add def H*abe 360 gt {/H*abe H*abe 360 sub def} if %interpretation as device hue angle (d) /H*abd LAB*Hd jsecs get LAB*Hd jsecs 2 add get LAB*Hd jsecs get sub fakts mul add def H*abd 360 gt {/H*abd H*abd 360 sub def} if %calculations for device (d) system: %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 2 4 {/nx exch def /np nx 2 add def H*abd LAB*Hd nx get ge H*abd LAB*Hd np get lt and {/jsecd1 nx def /faktd1 H*abd LAB*Hd nx get sub LAB*Hd np get LAB*Hd nx get sub div def} if } for %nx=0,4 /faktd11 LAB*Hd 1 get LAB*Hd 0 get sub LAB*Hd 2 get LAB*Hd 0 get sub div def /faktd31 LAB*Hd 3 get LAB*Hd 2 get sub LAB*Hd 4 get LAB*Hd 2 get sub div def /faktd51 LAB*Hd 5 get LAB*Hd 4 get sub LAB*Hd 6 get LAB*Hd 4 get sub div def jsecd1 0 eq {faktd1 faktd11 le {/jsecd 0 def /faktd faktd1 faktd11 div def} {/jsecd 1 def /faktd faktd1 faktd11 sub 1 faktd11 sub div def} ifelse } if jsecd1 2 eq {faktd1 faktd31 le {/jsecd 2 def /faktd faktd1 faktd31 div def} {/jsecd 3 def /faktd faktd1 faktd31 sub 1 faktd31 sub div def} ifelse } if jsecd1 4 eq {faktd1 faktd51 le {/jsecd 4 def /faktd faktd1 faktd51 div def} {/jsecd 5 def /faktd faktd1 faktd51 sub 1 faktd51 sub div def} ifelse } if %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 {STOPjsecd1} 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, v*=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, v*=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, v*=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, v*=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, v*=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, v*=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 %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 2 4 {/nx exch def /np nx 2 add def H*abe LAB*He nx get ge H*abe LAB*He np get lt and {/jsece1 nx def /fakte1 H*abe LAB*He nx get sub LAB*He np get LAB*He nx get sub div def} if } for %nx=0,4 /fakte11 LAB*He 1 get LAB*He 0 get sub LAB*He 2 get LAB*He 0 get sub div def /fakte31 LAB*He 3 get LAB*He 2 get sub LAB*He 4 get LAB*He 2 get sub div def /fakte51 LAB*He 5 get LAB*He 4 get sub LAB*He 6 get LAB*He 4 get sub div def jsece1 0 eq {fakte1 fakte11 le {/jsece 0 def /fakte fakte1 fakte11 div def} {/jsece 1 def /fakte fakte1 fakte11 sub 1 fakte11 sub div def} ifelse } if jsece1 2 eq {fakte1 fakte31 le {/jsece 2 def /fakte fakte1 fakte31 div def} {/jsece 3 def /fakte fakte1 fakte31 sub 1 fakte31 sub div def} ifelse } if jsece1 4 eq {fakte1 fakte51 le {/jsece 4 def /fakte fakte1 fakte51 div def} {/jsece 5 def /fakte fakte1 fakte51 sub 1 fakte51 sub div def} ifelse } if %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 {STOPjsece0} 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 %equation: %olv3*Fa = 1 - n* -c* + c* olv3*Ma = w* + c* olv3*Ma /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 H*abd def /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 20080901 /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 20080901 ColSpx 0 eq {%ColSpx=0 /tLAB 0 def xcharti 1 ge {%xcharti>=1 'zm60'COLM57LT.PS cmy0* 20080901 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* 20080901 } 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* 20080901 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* 20080901 } if %ColSpx=2 %************************************************************* ColSpx 3 eq {%ColSpx=3 /tLAB 0 def xcharti 1 ge {%xcharti>=1 'zm60'COLM559LT.PS cmyn5* 20080901 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* 20080901 } if %ColSpx=3 } bind def %BEG Procedure proc_ColSep*ioL ColourSeparation for NP-file 20080901 %***************************************************************************** %END Fe00->Fe03/10L/L10-7N.EPS, ident. for NP-(*ioL), FP-files (*ioL) 20080901 %***************************************************************************** %ANFA /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 {%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 (Fe030-5, ) show (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 {( 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 {%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 {(Fe030-1, ) show}{(Fe031-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 {( 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 %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 setrgbcolor 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 } 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 {%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 {(Fe030-3, ) show}{(Fe031-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 {( 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 {%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 {(Fe030-) show}{(Fe031-) 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 {( 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 (Fe030-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 %********************************************************** /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 05 {/xcharti exch def %BEG xcharti=00,05 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 (Fe030-7) show colorm 0 eq {(A, ) show} {(F, ) show} ifelse %(Page ) showen (Seite ) showde xcharti 1 add cvishow (/6) show 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 0 setgray 15 setlinewidth %********************************************************** %********************************************************** /DEintp 0 def 0 0 0 setrgbcolor %TK %0 -230 moveto %(Fe030-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,05 %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 020 MM translate 12 /Times-ISOL1 FS -9 MM -7 MM moveto ( ) show 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 18 %line 409 %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 197 MM translate 10 /Times-ISOL1 FS 1 1 scale -77 -91 translate %%BeginDocument: Bild 12 %line 419 %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 21 %line 429 %!PS-Adobe-3.0 EPSF-3.0 Fe031-1N.EPS 20080901 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 7 /Times-Roman FS 72 83 moveto %!2 (Fe031-1, )show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 22 %line 439 %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM -2 MM add 108 MM -1.5 MM add translate %161 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 23 %line 449 %!PS-Adobe-3.0 EPSF-3.0 Fe031-3N.EPS 20080901 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 7 /Times-Roman FS 72 83 moveto %!2 (Fe031-3, )show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 24 %line 459 %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 25 %line 469 %!PS-Adobe-3.0 EPSF-3.0 Fe031-5N.EPS 20080901 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 7 /Times-Roman FS 72 83 moveto %!2 (Fe031-5, )show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 26 %line 479 %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 51.8 MM sub 020 MM 21 MM add translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 27 %line 489 %!PS-Adobe-3.0 EPSF-3.0 Fe031-7N.EPS 20080901 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 7 /Times-Roman FS 72 83 moveto %!2 (Fe031-1, )show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 020 MM translate 12 /Times-ISOL1 FS -9 MM -7 MM moveto ( ) show 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 28 %line 499 %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 080 MM add 008 MM translate %80 MM Breite von TestStreifen 10 /Times-ISOL1 FS 53 MM 1 MM moveto () show 1 1 scale -77 21 MM sub -91 translate %%BeginDocument: Bild 29 Teststreifen Ueberlaenge %line 509 %%EndDocument EndEPSF grestore gsave BeginEPSF -0.0 MM -0.0 MM translate %xy-Verschiebung Rechteckrahmen nach innen% %%BeginDocument: Bild 30 %Rechteckrahmen %line 519 %!PS-Adobe-3.0 EPSF-3.0 Frame arround with Internet text DG02 20080901 %%BoundingBox: 0 0 598 845 %%EndProlog gsave /lanind 1 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /i*ptrsc where {pop %/i*ptrsc i*ptrsc def } {/i*ptrsc 0 def} ifelse gsave /xchartg where {pop /xchartx xchartg def} {/xchartx 0 def} ifelse /colormg where {pop /colorm colormg def} {/colorm 0 def} ifelse /ISRL*ioG where {pop}{/ISRL*ioG 0 def} ifelse /ISIN*ioG where {pop}{/ISIN*ioG 0 def} ifelse /ISOU*ioG where {pop}{/ISOU*ioG 0 def} ifelse /xcharti xchartx def xcharti 0 eq {/ausz 8 def /xchartt (A) def} if xcharti 1 eq {/ausz 8 def /xchartt (F) def} if xcharti 2 eq {/ausz 1 def /xchartt (C) def} if xcharti 3 eq {/ausz 2 def /xchartt (M) def} if xcharti 4 eq {/ausz 3 def /xchartt (Y) def} if xcharti 5 eq {/ausz 7 def /xchartt (N) def} if %proc_LAB*ioL, proc_ColSep*ioL, and procedures (*ioL) are only in L10-7N.EPS %proc_LAB*ioG, proc_ColSep*ioG, and procedures (*ioG) are only in L03e00NA.PS6.PS and OUTLIN1X %for colorm=0, default rgb/cmyk-values are used for Frame %for colorm=1, rgb/cmyk-values of proc_LAB*ioG, proc_ColSep*ioG are used for Frame %for colorm=0, rgb/cmyk-values of proc_LAB*ioL, proc_ColSep*ioL are used in L10-7N %for colorm=1, rgb/cmyk-values of proc_LAB*ioG, proc_ColSep*ioG are used in L10-7N %for consistancy use same procedures in L10-7N and L03e00NA.PS6.PS colorm 1 eq {proc_LAB*ioG proc_ColSep*ioG} if %proc_LAB*ioL, proc_ColSep*ioL only in L10-7! 0 setgray 1.0 1.0 scale 0.0 MM 0.0 MM translate 0.15 MM setlinewidth /xx 20 array def /yy 20 array def /dd 20 array def /xx [000 296 296 000 002 294 294 002 005 291 291 005 %speziell 006 290 290 006 008 288 288 008 ] def /yy [000 000 210 210 002 002 208 208 005 005 205 205 %speziell 006 006 204 204 008 008 202 202 ] def /dd [060 017 -60 -17 058 015 -58 -15 056 013 -56 -13 054 011 -54 -11 052 009 -52 -09 ] def /xt 1 def %without/with frame xt 0 eq {%xt=0,1 ifelse /i0 12 def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def xx i0 get MM yy i0 get MM moveto xx i1 get MM yy i1 get MM lineto xx i2 get MM yy i2 get MM lineto xx i3 get MM yy i3 get MM lineto xx i0 get MM yy i0 get MM lineto stroke 3.0 MM /Times-ISOL1 FS xx i0 get MM 110 MM add yy i0 get MM 2.5 MM sub moveto (http://www.ps.bam.de/Fe03/10L/L03) show LSS$ show (00) show LSC$ show LEX$ show (, Page ) showen (, Seite ) showde xchartx 1 add cvishow (/6) show (; ) show LAB*TE 0 get show } %xt=0 { %xt=1 /xlu 017 MM def /ylu 017 MM def /xro 279 MM def /yro 193 MM def /xlo 017 MM def /ylo 193 MM def /xru 279 MM def /yru 017 MM def xlu 8 MM sub ylu moveto 16 MM 0 rlineto stroke xlu ylu 8 MM sub moveto 0 16 MM rlineto stroke xro 8 MM add yro moveto -16 MM 0 rlineto stroke xro yro 8 MM add moveto 0 -16 MM rlineto stroke xru 8 MM sub yru moveto 16 MM 0 rlineto stroke xru yru 8 MM sub moveto 0 16 MM rlineto stroke xlo 8 MM add ylo moveto -16 MM 0 rlineto stroke xlo ylo 8 MM add moveto 0 -16 MM rlineto stroke 1 2 7 {/i exch def %Zentrierkreise xlu ylu i MM 0 360 arc stroke xro yro i MM 0 360 arc stroke xru yru i MM 0 360 arc stroke xlo ylo i MM 0 360 arc stroke } for %i 12 4 16 {/i exch def /i0 i def %i=0,16 %0 4 16 {/i exch def /i0 i def %i=0,16 /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def i 16 eq {0.30 MM setlinewidth} {0.15 MM setlinewidth} ifelse 0 setgray xx i0 get MM yy i0 get MM moveto xx i1 get MM yy i1 get MM lineto xx i2 get MM yy i2 get MM lineto xx i3 get MM yy i3 get MM lineto xx i0 get MM yy i0 get MM lineto stroke i 16 eq {6 /Times-ISOL1 FS /x00 67 def /xdif 32 def /y0o 202.3 def /y0u 6.3 def /x0l 6.1 def /x0r 288 def /y00 22 def /ydif 32 def x00 xdif 0 mul add MM y0o MM moveto (V) show x00 xdif 0 mul add MM y0u MM moveto (C) show x00 xdif 1 mul add MM y0o MM moveto (L) show x00 xdif 1 mul add MM y0u MM moveto (M) show x00 xdif 2 mul add MM y0o MM moveto (O) show x00 xdif 2 mul add MM y0u MM moveto (Y) show x00 xdif 3 mul add MM y0o MM moveto (Y) show x00 xdif 3 mul add MM y0u MM moveto (O) show x00 xdif 4 mul add MM y0o MM moveto (M) show x00 xdif 4 mul add MM y0u MM moveto (L) show x00 xdif 5 mul add MM y0o MM moveto (C) show x00 xdif 5 mul add MM y0u MM moveto (V) show x0l MM y00 ydif 0 mul add MM moveto (V) show x0r MM y00 ydif 0 mul add MM moveto (C) show x0l MM y00 ydif 1 mul add MM moveto (L) show x0r MM y00 ydif 1 mul add MM moveto (M) show x0l MM y00 ydif 2 mul add MM moveto (O) show x0r MM y00 ydif 2 mul add MM moveto (Y) show x0l MM y00 ydif 3 mul add MM moveto (Y) show x0r MM y00 ydif 3 mul add MM moveto (O) show x0l MM y00 ydif 4 mul add MM moveto (M) show x0r MM y00 ydif 4 mul add MM moveto (L) show x0l MM y00 ydif 5 mul add MM moveto (C) show x0r MM y00 ydif 5 mul add MM moveto (V) show } if } for %i=0,16 0 1 10 {/j0 exch def /j1 j0 1 add def %j0 j0 0 eq {tzcolv* setrgbcolor} if j0 1 eq {0 setgray} if j0 2 eq {tzmolv* setrgbcolor} if j0 3 eq {0 setgray} if j0 4 eq {tzyolv* setrgbcolor} if j0 5 eq {0 setgray} if j0 6 eq {tzoolv* setrgbcolor} if j0 7 eq {0 setgray} if j0 8 eq {tzlolv* setrgbcolor} if j0 9 eq {0 setgray} if j0 10 eq {tzvolv* setrgbcolor} if 12 4 16 {/i exch def /i0 i def %i=0,16 %0 4 16 {/i exch def /i0 i def %i=0,16 /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def i 16 eq {0.30 MM setlinewidth} {0.15 MM setlinewidth} ifelse xx i0 get dd i0 get add 16 j0 mul add MM yy i0 get MM moveto xx i0 get dd i0 get add 16 j1 mul add MM yy i0 get MM lineto stroke xx i1 get MM yy i1 get dd i1 get add 16 j0 mul add MM moveto xx i1 get MM yy i1 get dd i1 get add 16 j1 mul add MM lineto stroke xx i2 get dd i2 get add 16 j0 mul sub MM yy i2 get MM moveto xx i2 get dd i2 get add 16 j1 mul sub MM yy i2 get MM lineto stroke xx i3 get MM yy i3 get dd i3 get add 16 j0 mul sub MM moveto xx i3 get MM yy i3 get dd i3 get add 16 j1 mul sub MM lineto stroke } for %i=0,16 } for %j0 0.15 MM setlinewidth /s 7 MM def /s1 8 MM def /s5 36 MM def 16 1 20 {/j exch def /j0 j 16 sub def %j=16,20 /ix0 xlu 8 MM add j0 7 MM mul add def /iy0 ylu 8 MM sub def 0 1 3 {/ij exch def %ij=0,3 ij 0 eq {/ix0 xlu 8 MM add j0 7 MM mul add def /iy0 ylu 8 MM sub def} if ij 1 eq {/ix0 xru 43 MM sub j0 7 MM mul add def /iy0 yru 8 MM sub def} if ij 2 eq {/ix0 xlo 8 MM add j0 7 MM mul add def /iy0 ylo 1 MM add def} if ij 3 eq {/ix0 xro 43 MM sub j0 7 MM mul add def /iy0 yro 1 MM add def} if i*ptrsc 0 eq i*ptrsc 2 eq or {%i*ptrsc=0,2 cmy0* setcmykcolor j 16 eq {/ng tzan j get def ng ng ng 0 setcmykcolor ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if /ng tzan j get def ng ng ng 0 setcmykcolor ix0 iy0 s s rec fill } if %i*ptrsc=0,2 i*ptrsc 1 eq i*ptrsc 3 eq or {%i*ptrsc=1,3 www* setrgbcolor j 16 eq {/wg 1 tzan j get sub def wg setgray %N ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if /wg 1 tzan j get sub def wg setgray %N ix0 iy0 s s rec fill } if %i*ptrsc=1,3 i*ptrsc 4 eq i*ptrsc 5 eq or {%i*ptrsc=4,5 [/CIEBasedABC << %Farbraum und Grenzen fuer D65 /RangeABC [0 100 -128 127 -128 127] /DecodeABC [{16 add 116 div} bind {500 div} bind {200 div} bind] /MatrixABC [1 1 1 1 0 0 0 0 -1] /DecodeLMN [{dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse 0.9505 mul} bind {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse 1.0890 mul} bind] /WhitePoint [0.9505 1 1.089] %CIEXYZ fuer D65 >>] setcolorspace j 16 eq {tznLAB* 0 get tzwLAB* 0 get tznLAB* 0 get sub 0.25 j0 mul mul add tznLAB* 1 get tzwLAB* 1 get tznLAB* 1 get sub 0.25 j0 mul mul add tznLAB* 2 get tzwLAB* 2 get tznLAB* 2 get sub 0.25 j0 mul mul add setcolor %N ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if tznLAB* 0 get tzwLAB* 0 get tznLAB* 0 get sub 0.25 j0 mul mul add tznLAB* 1 get tzwLAB* 1 get tznLAB* 1 get sub 0.25 j0 mul mul add tznLAB* 2 get tzwLAB* 2 get tznLAB* 2 get sub 0.25 j0 mul mul add setcolor %N ix0 iy0 s s rec fill } if %i*ptrsc=4,5 i*ptrsc 6 eq {%i*ptrsc=6 000n* setcmykcolor j 16 eq {/ng tzan j get def 0 0 0 ng setcmykcolor ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if /ng tzan j get def 0 0 0 ng setcmykcolor ix0 iy0 s s rec fill } if %i*ptrsc=6 i*ptrsc 7 eq {%i*ptrsc=7 w* setgray j 16 eq {/wg 1 tzan j get sub def wg setgray ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if /wg 1 tzan j get sub def wg setgray ix0 iy0 s s rec fill } if %i*ptrsc=7 } for %ij=0,3 } for %j=16,20 0 setgray 018 MM 008.2 MM moveto 6 /Times-Roman FS (-8) show 018 MM 006.2 MM moveto 6 /Times-Roman FS (-6) show 276 MM 008.2 MM moveto 6 /Times-Roman FS (-8) show 276 MM 006.2 MM moveto 6 /Times-Roman FS (-6) show 018 MM 202.2 MM moveto 6 /Times-Roman FS (-8) show 018 MM 204.2 MM moveto 6 /Times-Roman FS (-6) show 276 MM 202.2 MM moveto 6 /Times-Roman FS (-8) show 276 MM 204.2 MM moveto 6 /Times-Roman FS (-6) show 0 setgray 12 /Times-ISOL1 FS 61 MM 13 MM moveto (Fe03; Pr\374fvorlage von) showde (Fe03; Test chart of ) showen ( ISO/IEC 15775, ISO/IEC TR 24705) showde ( ISO/IEC 15775 and ISO/IEC TR 24705) showen 61 MM 09 MM moveto (Fig. D4 bis D7 \344hnlich Pr\374fvorlage 4, ) showde (Fig. D4 to D7 similar ISO/IEC\255test chart 4, ) showen 12 /TimesI-ISOL1 FS DEintp 0 eq xcharti 0 eq or {(olv*) show} {(rgb*) show} ifelse 12 /Times-ISOL1 FS (\255Interpretation) showde ( interpretation) showen 12 /Times-ISOL1 FS 168 MM 13 MM moveto ( input: ) showen (Eingabe: ) showde 12 /TimesI-ISOL1 FS (rgb->) show DEintp 0 eq xcharti 0 eq or {(olv* ) show} {(rgb* ) show} ifelse (setrgbcolor) show 12 /Times-ISOL1 FS 168 MM 9 MM moveto ( output: ) showen (Ausgabe: ) showde LSC$ (N) eq {%LSC$=N 12 /Times-ISOL1 FS xcharti 0 eq {(no change compared to input) showen (keine Eingabe\344nderung) showde} {12 /TimesI-ISOL1 FS DEintp 0 eq {(olv*) show} {(rgb*) show} ifelse (->cmyn6* setcmyk) show 12 /Times-ISOL1 FS } ifelse } if %LSC$=N LSC$ (S) eq { (Startup (S) data dependend) showen (Startup(S)Daten abh\344ngig) showde } if LSC$ (F) eq { 12 /TimesI-ISOL1 FS i*ptrsc 0 eq {(cmy0* / 000n* setcmykcolor) show} if i*ptrsc 1 eq {xcharti 0 eq {12 /Times-ISOL1 FS (no change compared to input) showen (keine Eingabe\344nderung) showde } {DEintp 0 eq {(olv*) show} {(rgb*) show} ifelse (->LAB*->cmyn6* setcmyk) show } ifelse } if i*ptrsc 2 eq {(cmy0* / nnn0* setcmykcolor) show} if i*ptrsc 3 eq {(olv* / www* setrgbcolor) show} if i*ptrsc 4 eq {(lab* setcolor) show} if i*ptrsc 5 eq {(LAB* setcolor) show} if i*ptrsc 6 eq {(000n* setcmykcolor) show} if i*ptrsc 7 eq {(w* setgray) show} if } if %0 setgray %end white and unvisible 12 /Times-ISOL1 FS 62 MM 198.5 MM moveto (www.ps.bam.de/Fe03/L03) show LSS$ show (00) show LSC$ show LEX$ show (, Page ) showen (, Seite ) showde xchartx 1 add cvishow (/6) show (; ) show LAB*TE 0 get show %1 setgray %start white and unvisible (; ) show LSC$ (N) eq { xcharti 0 eq {(Start\255Ausgabe) showde (start output) showen} {(Transfer und Ausgabe) showde (transfer and output) showen} ifelse (start) showes (start) showfr (start) showit (start) showjp (start) showm } if LSC$ (C) eq { (Start) showde (start) showen (start) showes (start) showfr (start) showit (start) showjp (start) showm } if LSC$ (F) eq { xcharti 0 eq {(Start\255Ausgabe) showde (start output) showen} {(Linearisierte Ausgabe) showde (linearized output) showen} ifelse (linearized) showes (linearized) showfr (linearized) showit (linearized) showjp (linearized) showm } if 62 MM 194 MM moveto LSC$ (N) eq LSC$ (C) eq or { (N: Keine Ausgabe\255Linearisierung (OL) in Datei (F), Startup (S), Ger\344t (D)) showde (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showen (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showes (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showfr (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showit (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showjp (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showm } {LSC$ show (: ) show (Linearisierte\255Ausgabe) showde (linearized output) showen (linearized output) showes (linearized output) showfr (linearized output) showit (linearized output) showjp (linearized output) showm (Fe03/L03) show LSS$ show (00) show LSC$ show LEY$ show } ifelse LSC$ (F) eq { ( in der Datei (F)) showde ( in File (F)) showen ( in File (F)) showes ( in File (F)) showfr ( in File (F)) showit ( in File (F)) showjp ( in File (F)) showm } if LSC$ (S) eq { ( im Distiller Startup (S) Directory) showde ( in Distiller Startup (S) Directory) showen ( in Distiller Startup (S) Directory) showes ( in Distiller Startup (S) Directory) showfr ( in Distiller Startup (S) Directory) showit ( in Distiller Startup (S) Directory) showjp ( in Distiller Startup (S) Directory) showm } if LSC$ (D) eq { ( in PostScript Device (D)) showde ( in PostScript Device (D)) showen ( in PostScript Device (D)) showes ( in PostScript Device (D)) showfr ( in PostScript Device (D)) showit ( in PostScript Device (D)) showjp ( in PostScript Device (D)) showm } if LSC$ (T) eq { ( von Distiller Startup (S) Directory) showde ( of Distiller Startup (S) Directory) showen ( of Distiller Startup (S) Directory) showes ( of Distiller Startup (S) Directory) showfr ( of Distiller Startup (S) Directory) showit ( of Distiller Startup (S) Directory) showjp ( of Distiller Startup (S) Directory) showm } if LSC$ (E) eq { ( von PostScript Device (D)) showde ( of PostScript Device (D)) showen ( of PostScript Device (D)) showes ( of PostScript Device (D)) showfr ( of PostScript Device (D)) showit ( of PostScript Device (D)) showjp ( of PostScript Device (D)) showm } if xcharti 2 ge {(; Separation: ) show tzcolv* setrgbcolor (c) show tzmolv* setrgbcolor (m) show tzyolv* setrgbcolor (y) show tznolv* setrgbcolor (n) show LSC$ (F) eq {tznolv* setrgbcolor (*) show} if } if %0 setgray %end white and unvisible 16 MM 185 MM moveto -90 rotate (Siehe \344hnliche Dateien: ) showde (See for similar files: ) showen (See for similar files: ) showes (See for similar files: ) showfr (See for similar files: ) showit (See for similar files: ) showjp (See for similar files: ) showm (http://www.ps.bam.de/Fe03/; www.ps.bam.de/Fe.HTM) show 90 rotate 12 MM 185 MM moveto -90 rotate (Technische Information: ) showde (Technical information: ) showen (Informaci\363n t\351cnica en: ) showes (Technical information: ) showfr (Technical information: ) showit (Technical information: ) showjp (Technical information: ) showm (http://www.ps.bam.de) show 90 rotate 12 MM 103 MM moveto -90 rotate (Version 2.1, io=1,) show LSC$ (N) eq {(1) show} if LSC$ (S) eq {(1?) show} if LSC$ (D) eq {(1?) show} if LSC$ (F) eq {i*ptrsc cvishow IMES 0 eq {(, CIELAB) show} {(, CIEXYZ) show} ifelse } if (, ColSpx=) show ColSpx cvishow 90 rotate 281 MM 185 MM moveto -90 rotate (BAM\255Registrierung: 20080901\255Fe03/L03) showde (BAM registration: 20080901\255Fe03/L03) showen (BAM registration: 20080901\255Fe03/L03) showes (BAM registration: 20080901\255Fe03/L03) showfr (BAM registration: 20080901\255Fe03/L03) showit (BAM registration: 20080901\255Fe03/L03) showjp (BAM registration: 20080901\255Fe03/L03) showm LSS$ show (00) show LSC$ show LEX$ show 90 rotate 281 MM 74 MM moveto -90 rotate (BAM\255Material: Code=rha4ta) showde (BAM material: code=rha4ta) showen (BAM material: code=rha4ta) showes (BAM material: code=rha4ta) showfr (BAM material: code=rha4ta) showit (BAM material: code=rha4ta) showjp (BAM material: code=rha4ta) showm 90 rotate 277 MM 185 MM moveto -90 rotate /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def ( Anwendung f\374r Beurteilung und Messung von Drucker- oder Monitorsystemen) showde ( application for evaluation and measurement of printer or monitor systems) showen ( application for evaluation and measurement of printer or monitor systems) showes ( application for evaluation and measurement of printer or monitor systems) showfr ( application for evaluation and measurement of printer or monitor systems) showit ( application for evaluation and measurement of printer or monitor systems) showjp ( application for evaluation and measurement of printer or monitor systems) showm IMES 1 eq LSC$ (N) ne and { %IMES=1 (, Yr=) show Yre cvsshow1 (, XYZ) show } if %IMES=1 90 rotate /i0 8 def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def 0.30 MM setlinewidth 0 setgray xx i0 get MM yy i0 get MM moveto xx i1 get MM yy i1 get MM lineto xx i2 get MM yy i2 get MM lineto xx i3 get MM yy i3 get MM lineto xx i0 get MM yy i0 get MM lineto stroke %} if %end if xcharti=0 %/xlu1 013 MM def /ylu1 010 MM def %/xro1 283 MM def /yro1 200 MM def %/xlo1 013 MM def /ylo1 200 MM def %/xru1 283 MM def /yru1 010 MM def %xlu1 4 MM sub ylu1 moveto 8 MM 0 rlineto stroke %xlu1 ylu1 4 MM sub moveto 0 8 MM rlineto stroke %xro1 4 MM add yro1 moveto -8 MM 0 rlineto stroke %xro1 yro1 4 MM add moveto 0 -8 MM rlineto stroke %xru1 4 MM sub yru1 moveto 8 MM 0 rlineto stroke %xru1 yru1 4 MM sub moveto 0 8 MM rlineto stroke %xlo1 4 MM add ylo1 moveto -8 MM 0 rlineto stroke %xlo1 ylo1 4 MM add moveto 0 -8 MM rlineto stroke } ifelse %xt=0,1 ifelse %} for %output with colorm end %} for %output with xcolor end %} for %output with lanind end %%Trailer %%EndDocument EndEPSF grestore gsave showpage grestore } for %end for xchartg=xchartg1,xchartg2 %} for %end for pcountg=pcountg1,pcount2g %} for %end for scountg=scountg1,scount2g %%Trailer