%****************************************************************** %BEG MG47/10L/L47G00ZED Output Linearization (OL) 20050401 %BEG MG47/10L/EARLY BINDING AND SYSTEM OUTLIN11.PS /slgray {setgray} bind def /slrgbcolor {setrgbcolor} bind def /slcmykcolor {setcmykcolor} bind def /sltransfer {settransfer} bind def /slcolortransfer {setcolortransfer} bind def /slcolor {setcolor} bind def %FILE PREPARED FOR MIXED MODE, e. g. input ORS and output TLS /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 %/i*ptrsc 8 def %LAB* setcolor to cmyn4* setcmykcolor %/i*ptrsc 9 def %LAB* setcolor to t* setgray /COLSINPG 0 def %default input for Offset Reflective System (ORS18) /COLSOUPG 0 def %default output for Offset Reflective System (ORS18) %/COLSINPG 1 def %input for Television Luminous System (TLS00) %/COLSOUPG 1 def %output for Television Luminous System (TLS00) %/COLSINPG 2 def %input for Device Reflective measurement system (DRSXX) %/COLSOUPG 2 def %output for Device Reflective measurement system (DRSXX) %/COLSINPG 3 def %input for Television Luminous Reflection System (TLS18) %/COLSOUPG 3 def %output for Television Luminous Reflection System (TLS18) %/COLSINPG 4 def %input for Symmetric Luminous system (SLS00) %/COLSOUPG 4 def %output for Symmetric Luminous system (SLS00) %/COLSINPG 5 def %output for Symmetric Reflective system (SRS18) %/COLSOUPG 5 def %output for Symmetric Reflective system (SRS18) /iLAB 0 def % for preparing input-output system data only once %line 36*************************************************************** %line 38*************************************************************** %END MG47/10L/L47G00ZED Output Linearization (OL) 20050401 %*************************************************************** %******************************************************************** %BEG MG47/10L/OUTLIN1XFA.PS/.TXT/.PDF local (l) proc. without linearisation 20050101 %******************************************************************** % line no. and procedures % % 45 /proc_LAB*io { % 46 %BEG /proc_LAB*io all procedures (iol=input-output local) % 50 /proc_LAB*inout { % 448 %END /proc_LAB*inout % 452 /proc_elemencol { % 506 %END /proc_elemencol % 510 /proc_olvi3*_nwidct*_olvi4*cmyn4*_abpe3*_isect { % 670 %END /proc_olvi3*_nwidct*_olvi4*cmyn4*_abpe3*_isect % 674 /proc_olvi3*Fa_nwidctl*olvi4*LAB*Fa_abpe3*Fa_isect { % 894 %END /proc_olvi3*Fa_nwidctl*olvi4*LAB*Fa_abpe3*Fa_isect % 898 /proc_LAB*FaMa_LAB*olvi3*Qa { % 973 %END /proc_LAB*FaMa_LAB*olvi3*Qa % 977 /proc_LAB*FaMa_LAB*olvi3*QaXa { % 1071 %END /proc_LAB*FaMa_LAB*olvi3*QaXa % 1075 /proc_LAB*Fa_LAB*MaNTABl_olvi3*cmyn3*Ma { % 1181 %END /proc_LAB*Fa_LAB*MaNTABl_olvi3*cmyn3*Ma % 1184 /proc_LAB*Fa_LAB*MaNTABl_LAB**lab**cmyn34**MaSaXaFa_lab*eEFa { % 1422 %END /proc_LAB*Fa_LAB*MaNTABl_LAB**lab**cmyn34**MaSaXaFa_lab*eEFa % 1426 /proc_lab*xcyFa_LAB*MaNTABl_LAB**lab**cmyn34**MaSaXaFa_lab*eEFa { % 1642 %END /proc_lab*xcyFa_LAB*MaNTABl_LAB**lab**cmyn34**MaSaXaFa_lab*eEFa % 1646 /proc_CVMOJLCTABl {%BEG proc_CVMOJLCTABl % 1732 %END /proc_CVMOJLCTABl % 1736 /proc_lab*hFa_lab*eEFa { % 1782 %END /proc_lab*hFa_lab*eEFa % 1786 /proc_lab*eFa_lab*EFa_lab*hFa { % 1843 %END /proc_lab*eFa_lab*EFa_lab*hFa % 1847 /proc_LAB*FaMa_LAB**Sa_lab**MaFa_lab*eEFa_LAB**Fa { % 2030 %END /proc_LAB*FaMa_LAB**Sa_lab**MaFa_lab*eEFa_LAB**Fa % 2032 /proc_LAB*LCH_setcolor { % 2043 %END /proc_LAB*LCH_setcolor % 2045 /proc_lab*xcy_setcolor { % 2059 %END /proc_lab*xcy_setcolor % 2064 %END /proc_LAB*io all procedures (iol=input-output local) %**************************************************************** /proc_LAB*io { %BEG /proc_LAB*io all procedures (iol=input-output local) %********************************************************************* /proc_LAB*inout { %BEG proc_LAB*inout % default COLSINPL=0 definitions of input colours to SYSLABL LAB*ORS % default COLSOUPL=0 definitions of output colours to SYSTEML LAB*ORS %*********input and output data /iLAB 1 def /LAB* 27 array def /LAB*ORS18 27 array def /LAB*TLS00 27 array def /LAB*DRSXX 27 array def /LAB*TLS18 27 array def /LAB*SLS00 27 array def /LAB*SLS18 27 array def /LAB*ORS18 [%D=Device OYLCVMO+NW %for Offset Reflective SYSTEML (ORS) 58.62 -30.63 -42.75 %C 0 %see TABle 1 of ISO/IEC 15775:1999-12 25.72 31.45 -44.36 %V 1 48.13 75.20 -6.80 %M 2 47.94 65.31 52.07 %0 3 90.37 -11.16 96.17 %Y 4 50.90 -62.97 36.71 %L 5 58.62 -30.63 -42.75 %C 6 18.01 0.50 -0.47 %N 7 95.41 -0.99 4.76 %W 8 ] def %OYLCVMO+NW /LAB*TLS00 [%D=Device OYLCVMO+NW %for Television Luminous SYSTEML (TLS) 86.88 -46.17 -13.56 %C 0 %see TABle 1 of ISO/IEC 15775:1999-12 30.39 76.06 -103.58 %V 1 corected 57.30 94.35 -58.42 %M 2 corected 50.50 76.92 64.55 %0 3 92.66 -20.70 90.75 %Y 4 83.63 -82.76 79.90 %L 5 86.88 -46.17 -13.56 %C 6 00.01 0.00 0.00 %N 7 corected 95.41 0.00 0.00 %W 8 ] def %OYLCVMO+NW /LAB*DRSXX [%D=Device OYLCVMO+NW %for Device Reflective SYSTEML (DRS) 53.44 -34.16 -45.19 %C-W 0 cmy0* setcmykcolor 0 actual printer 34.16 -2.06 -44.39 %V-W 1 cmy0* setcmykcolor 96 42.71 78.01 0.28 %M-W 2 cmy0* setcmykcolor 16 42.21 65.82 52.84 %O-W 3 cmy0* setcmykcolor 64 90.32 -16.74 106.88 %Y-W 4 cmy0* setcmykcolor 32 48.21 -76.54 32.93 %L-W 5 cmy0* setcmykcolor 80 53.44 -34.16 -45.19 %C-W 6 cmy0* setcmykcolor 0 16.56 -1.42 2.07 %N-W 7 000n* setcmykcolor 48 96.31 -0.12 2.59 %A-W 8 ] def %OYLCVMO+NW /LAB*TLS18 [%D=Device OYLCVMO+NW %for Television Luminous + 2.5% REFLECTION (TLR) 87.13 -44.46 -13.14 %C 0 %see www.ps.bam.de/INFVM03/6320/M6321-7N.PS 31.75 24.65 -37.54 %V 1 58.96 89.48 -19.47 %M 2 52.70 71.79 50.18 %0 3 92.74 -20.05 85.13 %Y 4 83.99 -79.08 74.11 %L 5 87.13 -44.46 -13.14 %C 6 18.01 0.00 0.00 %N 7 95.41 0.00 0.00 %W 8 ] def %OYLCVMO+NW /LAB*SLS00 [%Symmetric Luminous SYSTEML OYLCVMO+NW 66.66 -86.60 -50.00 %C 0 33.33 00.00 -100.0 %V 1 66.66 86.60 -50.00 %M 2 33.33 86.60 50.00 %O 3 66.66 00.00 100.0 %Y 4 33.33 -86.60 50.00 %L 5 66.66 -86.60 -50.00 %C 6 00.01 0.00 0.00 %N 7 100.0 0.00 0.00 %W 8 ] def %CVMOYLC+NW /LAB*SRS18 [%Symmetric Reflective SYSTEML OYLCVMO+NW 69.61 -86.60 -50.00 %C 0 delta L*=25.8 43.81 00.00 -100.0 %V 1 43.81=18.01+25.80 69.61 86.60 -50.00 %M 2 69.61=18.01+2*25.80 43.81 86.60 50.00 %O 3 69.61 00.00 100.0 %Y 4 43.81 -86.60 50.00 %L 5 69.61 -86.60 -50.00 %C 6 18.01 0.00 0.00 %N 7 95.41 0.00 0.00 %W 8 95.41=18.01+3*25.80 ] def %CVMOYLC+NW %*******input data /cLAB*s0i 3 array def %C cyan blue /vLAB*s0i 3 array def %V violet blue /mLAB*s0i 3 array def %M magenta red /oLAB*s0i 3 array def %O orange red /yLAB*s0i 3 array def %Y yellow /lLAB*s0i 3 array def %L leaf green /nLAB*s0i 3 array def %N black /wLAB*s0i 3 array def %W white /LAB*sai 27 array def 0 1 8 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def COLSINPL 0 eq { %ORS18 LAB* i30 LAB*ORS18 i30 get put LAB* i31 LAB*ORS18 i31 get put LAB* i32 LAB*ORS18 i32 get put } if COLSINPL 1 eq { %TLS00 LAB* i30 LAB*TLS00 i30 get put LAB* i31 LAB*TLS00 i31 get put LAB* i32 LAB*TLS00 i32 get put } if COLSINPL 2 eq colorm 0 eq and { %DRSXX LAB* i30 LAB*DRSXX i30 get put LAB* i31 LAB*DRSXX i31 get put LAB* i32 LAB*DRSXX i32 get put } if COLSINPL 3 eq { %TLS18 LAB* i30 LAB*TLS18 i30 get put LAB* i31 LAB*TLS18 i31 get put LAB* i32 LAB*TLS18 i32 get put } if COLSINPL 4 eq { %SLS00 LAB* i30 LAB*SLS00 i30 get put LAB* i31 LAB*SLS00 i31 get put LAB* i32 LAB*SLS00 i32 get put } if COLSINPL 5 eq { %SRS00 LAB* i30 LAB*SRS18 i30 get put LAB* i31 LAB*SRS18 i31 get put LAB* i32 LAB*SRS18 i32 get put } if } for COLSINPL 2 eq colorm 1 eq and { %CDS LAB* 0 MISO_S1l 1 get put %C LAB* 1 MISO_S1l 2 get put LAB* 2 MISO_S1l 3 get put LAB* 3 MISO_S1l 385 get put %V LAB* 4 MISO_S1l 386 get put LAB* 5 MISO_S1l 387 get put LAB* 6 MISO_S1l 65 get put %M LAB* 7 MISO_S1l 66 get put LAB* 8 MISO_S1l 67 get put LAB* 9 MISO_S1l 257 get put %O LAB* 10 MISO_S1l 258 get put LAB* 11 MISO_S1l 259 get put LAB* 12 MISO_S1l 129 get put %Y LAB* 13 MISO_S1l 130 get put LAB* 14 MISO_S1l 131 get put LAB* 15 MISO_S1l 321 get put %L LAB* 16 MISO_S1l 322 get put LAB* 17 MISO_S1l 323 get put LAB* 18 MISO_S1l 1 get put %C LAB* 19 MISO_S1l 2 get put LAB* 20 MISO_S1l 3 get put LAB* 21 MISO_S1l 449 get put %N LAB* 22 MISO_S1l 450 get put LAB* 23 MISO_S1l 451 get put LAB* 24 MISO_S1l 509 get put %W LAB* 25 MISO_S1l 510 get put LAB* 26 MISO_S1l 511 get put } if /L*Ninp LAB* 21 get def /A*Ninp LAB* 22 get def /B*Ninp LAB* 23 get def /L*Winp LAB* 24 get def /A*Winp LAB* 25 get def /B*Winp LAB* 26 get def /A*Dinp A*Winp A*Ninp sub def /B*Dinp B*Winp B*Ninp sub def 0 1 8 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def LAB*sai i30 LAB* i30 get put /l*CIE LAB* i30 get L*Ninp sub L*Winp L*Ninp sub div def %SYSTEML rel. lightn. /a*s A*Ninp A*Ninp sub l*CIE mul def /b*s B*Winp B*Ninp sub l*CIE mul def LAB*sai i31 LAB* i31 get A*Ninp sub a*s sub put LAB*sai i32 LAB* i32 get B*Ninp sub b*s sub put } for %Determine Matrix data for input cLAB*s0i 0 LAB*sai 0 get L*Ninp sub put cLAB*s0i 1 LAB*sai 1 get put cLAB*s0i 2 LAB*sai 2 get put vLAB*s0i 0 LAB*sai 3 get L*Ninp sub put vLAB*s0i 1 LAB*sai 4 get put vLAB*s0i 2 LAB*sai 5 get put mLAB*s0i 0 LAB*sai 6 get L*Ninp sub put mLAB*s0i 1 LAB*sai 7 get put mLAB*s0i 2 LAB*sai 8 get put oLAB*s0i 0 LAB*sai 9 get L*Ninp sub put oLAB*s0i 1 LAB*sai 10 get put oLAB*s0i 2 LAB*sai 11 get put yLAB*s0i 0 LAB*sai 12 get L*Ninp sub put yLAB*s0i 1 LAB*sai 13 get put yLAB*s0i 2 LAB*sai 14 get put lLAB*s0i 0 LAB*sai 15 get L*Ninp sub put lLAB*s0i 1 LAB*sai 16 get put lLAB*s0i 2 LAB*sai 17 get put nLAB*s0i 0 LAB*sai 21 get L*Ninp sub put nLAB*s0i 1 LAB*sai 22 get put nLAB*s0i 2 LAB*sai 23 get put wLAB*s0i 0 LAB*sai 24 get L*Ninp sub put wLAB*s0i 1 LAB*sai 25 get put wLAB*s0i 2 LAB*sai 26 get put /CVMOJLCLAB*ai 30 array def %including nLAB*s0i, wLAB*s0i 0 1 9 {/ai exch def %ai=0,9 /i30 ai 3 mul def /i31 i30 1 add def /i32 i30 2 add def ai 9 ne {CVMOJLCLAB*ai i30 LAB*sai i30 get put CVMOJLCLAB*ai i31 LAB*sai i31 get put CVMOJLCLAB*ai i32 LAB*sai i32 get put} {CVMOJLCLAB*ai i30 LAB*sai i30 6 sub get LAB*sai i30 3 sub get LAB*sai i30 6 sub get sub 0.5 mul add put CVMOJLCLAB*ai i31 LAB*sai i31 6 sub get LAB*sai i31 3 sub get LAB*sai i31 6 sub get sub 0.5 mul add put CVMOJLCLAB*ai i32 LAB*sai i32 6 sub get LAB*sai i32 3 sub get LAB*sai i32 6 sub get sub 0.5 mul add put } ifelse } for %ai=0,9 /L*Nai CVMOJLCLAB*ai 21 get def /A*Nai CVMOJLCLAB*ai 22 get def /B*Nai CVMOJLCLAB*ai 23 get def /L*Wai CVMOJLCLAB*ai 24 get def /A*Wai CVMOJLCLAB*ai 25 get def /B*Wai CVMOJLCLAB*ai 26 get def %*******output data /cLAB*s0o 3 array def %C cyan blue /vLAB*s0o 3 array def %V violet blue /mLAB*s0o 3 array def %M magenta red /oLAB*s0o 3 array def %O orange red /yLAB*s0o 3 array def %Y yellow /lLAB*s0o 3 array def %L leaf green /nLAB*s0o 3 array def %N black /wLAB*s0o 3 array def %W white /LAB*sao 27 array def 0 1 8 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def COLSOUPL 0 eq { %ORS18 LAB* i30 LAB*ORS18 i30 get put LAB* i31 LAB*ORS18 i31 get put LAB* i32 LAB*ORS18 i32 get put } if COLSOUPL 1 eq { %TLS00 LAB* i30 LAB*TLS00 i30 get put LAB* i31 LAB*TLS00 i31 get put LAB* i32 LAB*TLS00 i32 get put } if COLSOUPL 2 eq colorm 0 eq and { %DRSXX LAB* i30 LAB*DRSXX i30 get put LAB* i31 LAB*DRSXX i31 get put LAB* i32 LAB*DRSXX i32 get put } if COLSOUPL 3 eq { %TLS18 LAB* i30 LAB*TLS18 i30 get put LAB* i31 LAB*TLS18 i31 get put LAB* i32 LAB*TLS18 i32 get put } if COLSOUPL 4 eq { %SLS00 LAB* i30 LAB*SLS00 i30 get put LAB* i31 LAB*SLS00 i31 get put LAB* i32 LAB*SLS00 i32 get put } if COLSOUPL 5 eq { %SRS18 LAB* i30 LAB*SRS18 i30 get put LAB* i31 LAB*SRS18 i31 get put LAB* i32 LAB*SRS18 i32 get put } if } for COLSOUPL 2 eq colorm 1 eq and { %CDS LAB* 0 MISO_S1l 1 get put %C LAB* 1 MISO_S1l 2 get put LAB* 2 MISO_S1l 3 get put LAB* 3 MISO_S1l 385 get put %V LAB* 4 MISO_S1l 386 get put LAB* 5 MISO_S1l 387 get put LAB* 6 MISO_S1l 65 get put %M LAB* 7 MISO_S1l 66 get put LAB* 8 MISO_S1l 67 get put LAB* 9 MISO_S1l 257 get put %O LAB* 10 MISO_S1l 258 get put LAB* 11 MISO_S1l 259 get put LAB* 12 MISO_S1l 129 get put %Y LAB* 13 MISO_S1l 130 get put LAB* 14 MISO_S1l 131 get put LAB* 15 MISO_S1l 321 get put %L LAB* 16 MISO_S1l 322 get put LAB* 17 MISO_S1l 323 get put LAB* 18 MISO_S1l 1 get put %C LAB* 19 MISO_S1l 2 get put LAB* 20 MISO_S1l 3 get put LAB* 21 MISO_S1l 449 get put %N LAB* 22 MISO_S1l 450 get put LAB* 23 MISO_S1l 451 get put LAB* 24 MISO_S1l 509 get put %W LAB* 25 MISO_S1l 510 get put LAB* 26 MISO_S1l 511 get put } if /L*Noup LAB* 21 get def /A*Noup LAB* 22 get def /B*Noup LAB* 23 get def /L*Woup LAB* 24 get def /A*Woup LAB* 25 get def /B*Woup LAB* 26 get def /A*Doup A*Woup A*Noup sub def /B*Doup B*Woup B*Noup sub def 0 1 8 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def LAB*sao i30 LAB* i30 get put /l*CIE LAB* i30 get L*Noup sub L*Woup L*Noup sub div def %SYSTEML rel. lightn. /a*s A*Woup A*Noup sub l*CIE mul def /b*s B*Woup B*Noup sub l*CIE mul def LAB*sao i31 LAB* i31 get A*Noup sub a*s sub put LAB*sao i32 LAB* i32 get B*Noup sub b*s sub put } for /CVMOJLCLAB*ao 30 array def %including nLAB*s0o, wLAB*s0o 0 1 9 {/ao exch def %ao=0,9 /i30 ao 3 mul def /i31 i30 1 add def /i32 i30 2 add def ao 9 ne {CVMOJLCLAB*ao i30 LAB*sao i30 get put CVMOJLCLAB*ao i31 LAB*sao i31 get put CVMOJLCLAB*ao i32 LAB*sao i32 get put} {CVMOJLCLAB*ao i30 LAB*sao i30 6 sub get LAB*sao i30 3 sub get LAB*sao i30 6 sub get sub 0.5 mul add put CVMOJLCLAB*ao i31 LAB*sao i31 6 sub get LAB*sao i31 3 sub get LAB*sao i31 6 sub get sub 0.5 mul add put CVMOJLCLAB*ao i32 LAB*sao i32 6 sub get LAB*sao i32 3 sub get LAB*sao i32 6 sub get sub 0.5 mul add put } ifelse } for %a=0,9 /L*Nao CVMOJLCLAB*ao 21 get def /A*Nao CVMOJLCLAB*ao 22 get def /B*Nao CVMOJLCLAB*ao 23 get def /L*Wao CVMOJLCLAB*ao 24 get def /A*Wao CVMOJLCLAB*ao 25 get def /B*Wao CVMOJLCLAB*ao 26 get def %Determine Matrix data for output cLAB*s0o 0 LAB*sao 0 get L*Noup sub put cLAB*s0o 1 LAB*sao 1 get put cLAB*s0o 2 LAB*sao 2 get put vLAB*s0o 0 LAB*sao 3 get L*Noup sub put vLAB*s0o 1 LAB*sao 4 get put vLAB*s0o 2 LAB*sao 5 get put mLAB*s0o 0 LAB*sao 6 get L*Noup sub put mLAB*s0o 1 LAB*sao 7 get put mLAB*s0o 2 LAB*sao 8 get put oLAB*s0o 0 LAB*sao 9 get L*Noup sub put oLAB*s0o 1 LAB*sao 10 get put oLAB*s0o 2 LAB*sao 11 get put yLAB*s0o 0 LAB*sao 12 get L*Noup sub put yLAB*s0o 1 LAB*sao 13 get put yLAB*s0o 2 LAB*sao 14 get put lLAB*s0o 0 LAB*sao 15 get L*Noup sub put lLAB*s0o 1 LAB*sao 16 get put lLAB*s0o 2 LAB*sao 17 get put nLAB*s0o 0 LAB*sao 21 get L*Noup sub put nLAB*s0o 1 LAB*sao 22 get put nLAB*s0o 2 LAB*sao 23 get put wLAB*s0o 0 LAB*sao 24 get L*Noup sub put wLAB*s0o 1 LAB*sao 25 get put wLAB*s0o 2 LAB*sao 26 get put %END for output using COLSOUPL } bind def %END /proc_LAB*inout %********************************************************* /proc_elemencol { %BEG proc_elemencol /LAB*ema 27 array def /LAB*ema [ %8 Miescher (m) elementary colours, assumed adapted 49.63 66.86 40.03 %R 73.18 45.25 79.64 %RJ 90.70 -7.23 93.20 %J 72.99 -62.24 52.50 %JG 52.11 -69.89 11.30 %G 45.03 -36.59 -27.12 %GB 36.65 22.05 -61.33 %B 34.94 57.33 -43.56 %BR 49.63 66.86 40.03 %R 18.01 0.00 00.00 %N black (noir=n) in LAB* 56.71 0.00 00.00 %Z mean grey 95.41 0.00 00.00 %W white in LAB* ] def /LAB*eca 27 array def /LAB*eca [ %4 CIE (c) elementary colours (no. 9-12), assumed adapted 39.92 58.74 27.99 %R CIE-TF09 ISO/IEC 15775 TAB. 2 00.01 00.00 00.00 %JR not defined 81.26 -2.89 71.56 %J CIE-TF10 ISO/IEC 15775 TAB. 2 00.01 00.00 00.00 %JG not defined 52.23 -42.42 13.60 %G CIE-TF11 ISO/IEC 15775 TAB. 2 00.01 00.00 00.00 %GB not defined 30.57 1.41 -46.47 %B CIE-TF12 ISO/IEC 15775 TAB. 2 00.01 00.00 00.00 %BR not defined 39.92 58.74 27.99 %R CIE-TF09 ISO/IEC 15775 TAB. 2 18.01 0.00 00.00 %N black (noir=n) in LAB* 56.71 0.00 00.00 %Z mean grey 95.41 0.00 00.00 %W white in LAB* ] def /R*L LAB*eca 0 get def /R*A LAB*eca 1 get def /R*B LAB*eca 2 get def /J*L LAB*eca 6 get def /J*A LAB*eca 7 get def /J*B LAB*eca 8 get def /G*L LAB*eca 12 get def /G*A LAB*eca 13 get def /G*B LAB*eca 14 get def /B*L LAB*eca 18 get def /B*A LAB*eca 19 get def /B*B LAB*eca 20 get def /J*Ang J*B J*A 0.0001 add atan def /R*Ang R*B R*A 0.0001 add atan def /B*Ang B*B B*A 0.0001 add atan def /G*Ang G*B G*A 0.0001 add atan def } bind def %END /proc_elemencol %****************************************************************** /proc_olvi3*_nwidct*_olvi4*cmyn4*_abpe3*_isect { %BEG proc_olvi3*_nwidct*_olvi4*cmyn4*_abpe3*_isect %input olvi3*Fa (i3*=1.00), only olv* is used! %output nwidct*Fa, abpe3*Fa %n* = lab*nFa: relative blackness %w* = lab*wFa: relative whiteness %i* = lab*iFa = 1 - n* = relative brilliantness %d* = lab*dFa = 1 - w* = relative deepness %c* = lab*cFa = 1 - n* - w*: chromaticness %t* = lab*tFa = 0.5 (1 - n* + w* ): triangle lightness % a3* = relation chromatic part 1 in sector % b3* = relation chromatic part 2 in sector % p3* = chromatic value of first component % q3* = chromatic value of second component % e3* = eigen value /tdel 0 def v3* l3* ge l3* o3* ge and tdel 0 eq and % v3* >= l3* >= o3* y3* <= m3* <= c3* % sector C-V of C-M, C>=M: isect=0 {/w* o3* def /n* 1 v3* sub def /a3* v3* l3* sub def /b3* l3* o3* sub def /isect 0 def o3* l3* sub abs 0.001 le {/isect 1 def} if /p3* l3* l3* v3* add 0.000001 add div def /tdel 1 def } if % v3* >= l3* >= o3* v3* o3* ge o3* l3* ge and tdel 0 eq and % v3* >= o3* >= l3* equal y3* <= c3* <= m3* % sector V-M of C-M, M>=C: isect=1 {/w* l3* def /n* 1 v3* sub def /a3* v3* o3* sub def /b3* o3* l3* sub def /isect 1 def v3* o3* sub abs 0.001 le {/isect 2 def} if /p3* o3* o3* v3* add 0.000001 add div def /tdel 1 def } if % v3* >= o3* >= l* o3* v3* ge v3* l3* ge and tdel 0 eq and % o3* >= v3* >= l3* equal c3* <= y3* <= m3* %sector M-O of M-Y, M>=Y: isect=2 {/w* l3* def /n* 1 o3* sub def /a3* o3* v3* sub def /b3* v3* l3* sub def /isect 2 def /tdel 1 def l3* v3* sub abs 0.001 le {/isect 3 def} if /p3* v3* v3* o3* add 0.000001 add div def } if % o3* >= v3* >= l* o3* l3* ge l3* v3* ge and tdel 0 eq and % o3* >= l3* >= v3* equal c3* <= m3* <= y3* %sector O-Y of M-Y, Y>=M: isect=3 {/w* v3* def /n* 1 o3* sub def /a3* o3* l3* sub def /b3* l3* v3* sub def /isect 3 def o3* l3* sub abs 0.001 le {/isect 4 def} if /p3* l3* l3* o3* add 0.000001 add div def /tdel 1 def } if % o3* >= l3* >= v* l3* o3* ge o3* v3* ge and tdel 0 eq and % l3* >= o3* >= v3* equal m3* <= c3* <= y3* % sector Y-L of Y-C, Y>=C: isect=4 {/w* v3* def /n* 1 l3* sub def /a3* l3* o3* sub def /b3* o3* v3* sub def /isect 4 def o3* v3* sub abs 0.001 le {/isect 5 def} if /p3* o3* o3* l3* add 0.000001 add div def /tdel 1 def } if % l3* >= o3* >= v* l3* v3* ge v3* o3* ge and tdel 0 eq and % l3* >= v3* >= o3* equal m3* <= y3* <= c3* % sector L-C of Y-C, C>=Y: isect=5 {/w* o3* def /n* 1 l3* sub def /a3* l3* v3* sub def /b3* v3* o3* sub def /isect 5 def l3* v3* sub abs 0.001 le {/isect 0 def} if /p3* v3* v3* l3* add 0.000001 add div def /tdel 1 def } if % l3* >= v3* >= o* %achromatic W %W: o3*, l3*, v3* = 1.00 1.0 o3* sub abs 0.001 le 1.0 l3* sub abs 0.001 le and 1.0 v3* sub abs 0.001 le and %special case W {/w* 1.00 def /n* 0.00 def /a3* 0.00 def /b3* 0.00 def /isect 7 def /p3* 0.00 def } if %N: o3*, l3*, v3* <= 0.001 o3* abs 0.001 le l3* abs 0.001 le and v3* abs 0.001 le and %special case N {/w* 0.00 def /n* 1.00 def /a3* 0.00 def /b3* 0.00 def /isect 7 def /p3* 0.00 def } if %All other Achromatic except N and W o3* l3* sub abs 0.001 le l3* v3* sub abs 0.001 le and %Achromatic special case {/w* o3* def /n* 1 o3* sub def /a3* 0.00 def /b3* 0.00 def /isect 7 def /p3* 0.00 def } if /i* 1 n* sub def /d* 1 w* sub def /c* 1 n* sub w* sub def /t* i* w* add 0.5 mul def /e3* c* n* c* add 0.00001 add div def /c3* 1 o3* sub def /m3* 1 l3* sub def /y3* 1 v3* sub def /n3* 0.0 def %olvi3 as input! /i3* 1.0 def /c4* c3* n* sub def %at least one of cmy will be cero /m4* m3* n* sub def /y4* y3* n* sub def /n4* n* def /o4* 1 c4* sub def /l4* 1 m4* sub def /v4* 1 y4* sub def /i4* 1 n4* sub def } bind def %END /proc_olvi3*_nwidct*_olvi4*cmyn4*_abpe3*_isect %******************************************************************* /proc_olvi3*Fa_nwidctl*olvi4*LAB*Fa_abpe3*Fa_isect { %BEG proc_olvi3*Fa_nwidctl*olvi4*LAB*Fa_abpe3*Fa_isect %input olvi3*Fa (i3*=1.00), only olv* is used! %input 8 colours in LAB*: cmyolvnwLAB*s0o %output nwidctl*Fa, ni34*Fa, abpe3*Fa %Output LAB*Fa, LCH*Fa, LAB*F, LCH*F, %k3* = k3*Fa: black generation, needed for definition of n4*,i4* %n* = lab*nFa: relative blackness %w* = lab*wFa: relative whiteness %i* = lab*iFa: relative brilliantness %d* = lab*dFa: relative deepness %c* = lab*cFa = 1 - n* - w*: chromaticness %t* = lab*tFa = 0.5 (1 - n* + w* ): triangle lightness %l* = lab*lFa = (L*Fa - L*Na) / (L*Wa - L*Na): relative CIE lightness %n3* = 0.00 : blackness in cmyn3 %i3* = 1.00 : brilliantness in olvi3 %n4* = n*: blackness in cmyn4 %i4* = 1 - n* : brilliantness in olvi4 %L*F = LAB*LF: CIE lightness L* %A*F = LAB*AF: CIE chromaticness a* %B*F = LAB*BF: CIE chromaticness b* %C*F = LAB*CF: CIE radial chroma Cab* %H*F = LAB*HF: CIE hue angle H* %L*Fa = LAB*LFa: adapted CIE lightness L* %A*Fa = LAB*AFa: adapted CIE chromaticness a* %B*Fa = LAB*BFa: adapted CIE chromaticness b* %C*Fa = LAB*CFa: adapted CIE radial chroma Cab* %H*Fa = LAB*HFa: adapted CIE hue angle H* /tdel 0 def v3* l3* ge l3* o3* ge and tdel 0 eq and % v3* >= l3* >= o3* equal y3* <= m3* <= c* % sector C-V of C-M, C>=M: isect=0 {/w* o3* def /n* 1 v3* sub def /a3* v3* l3* sub def /array1 vLAB*s0o def % colour 1 is violet blue /b3* l3* o3* sub def /array2 cLAB*s0o def % colour 2 is cyan blue /isect 0 def o3* l3* sub abs 0.001 le {/isect 1 def} if /p3* l3* l3* v3* add 0.0001 add div def /tdel 1 def } if % v3* >= l3* >= o* v3* o3* ge o3* l3* ge and tdel 0 eq and % v3* >= o3* >= l3* equal y3* <= c3* <= m* % sector V-M of C-M, M>=C: isect=1 {/w* l3* def /n* 1 v3* sub def /a3* v3* o3* sub def /array1 vLAB*s0o def % colour 1 is violet blue /b3* o3* l3* sub def /array2 mLAB*s0o def % colour 2 is magenta red /isect 1 def v3* o3* sub abs 0.001 le {/isect 2 def} if /p3* o3* o3* v3* add 0.0001 add div def /tdel 1 def } if % v3* >= o3* >= l* o3* v3* ge v3* l3* ge and tdel 0 eq and % o3* >= v3* >= l3* equal c3* <= y3* <= m* % sector M-O of M-Y, M>=Y: isect=2 {/w* l3* def /n* 1 o3* sub def /a3* o3* v3* sub def /array1 oLAB*s0o def % colour 1 is orange /b3* v3* l3* sub def /array2 mLAB*s0o def % colour 2 is magenta red /isect 2 def l3* v3* sub abs 0.001 le {/isect 3 def} if /p3* v3* v3* o3* add 0.0001 add div def /tdel 1 def } if % o3* >= v3* >= l* o3* l3* ge l3* v3* ge and tdel 0 eq and % o3* >= l3* >= v3* equal c3* <= m3* <= y* % sector O-Y of M-Y, Y>=M: isect=3 {/w* v3* def /n* 1 o3* sub def /a3* o3* l3* sub def /array1 oLAB*s0o def % colour 1 is orange red /b3* l3* v3* sub def /array2 yLAB*s0o def % colour 2 is yellow /isect 3 def o3* l3* sub abs 0.001 le {/isect 4 def} if /p3* l3* l3* o3* add 0.0001 add div def /tdel 1 def } if % o3* >= l3* >= v* l3* o3* ge o3* v3* ge and tdel 0 eq and % l3* >= o3* >= v3* equal m3* <= c3* <= y* % sector Y-L of Y-C, Y>=C: isect=4 {/w* v3* def /n* 1 l3* sub def /a3* l3* o3* sub def /array1 lLAB*s0o def % colour 1 is leaf green /b3* o3* v3* sub def /array2 yLAB*s0o def % colour 2 is yellow /isect 4 def o3* v3* sub abs 0.001 le {/isect 5 def} if /p3* o3* o3* l3* add 0.0001 add div def /tdel 1 def } if % l3* >= o3* >= v* l3* v3* ge v3* o3* ge and tdel 0 eq and % l3* >= v3* >= o3* equal m3* <= y3* <= c* % sector L-C of Y-C, C>=Y: isect=5 {/w* o3* def /n* 1 l3* sub def /a3* l3* v3* sub def /array1 lLAB*s0o def % colour 1 is leaf green /b3* v3* o3* sub def /array2 cLAB*s0o def % colour 2 is cyan blue /isect 5 def l3* v3* sub abs 0.001 le {/isect 0 def} if /p3* v3* v3* l3* add 0.0001 add div def /tdel 1 def } if % l3* >= v3* >= o* %achromatic %W: o*, l*, v3* = 1.00 1 o3* sub abs 0.001 le 1 l3* sub abs 0.001 le and 1 v3* sub abs 0.001 le and %W special case {/isect 6 def %W /n* 0 def /w* 1 def /a3* 0.00 def /b3* 0.00 def /p3* 0.00 def } if %N: o*, l*, v3* <= 0.001 o3* abs 0.001 le l3* abs 0.001 le and v3* abs 0.001 le and %N special case {/isect 6 def %N /n* 1 def /w* 0 def /a3* 0.00 def /b3* 0.00 def /p3* 0.00 def } if %Achromatic o3* l3* sub abs 0.001 le l3* v3* sub abs 0.001 le and %Achromatic special case {/isect 6 def %N /n* 1 o3* sub def /w* o3* def /a3* 0.00 def /b3* 0.00 def /p3* 0.00 def } if %L*Fs0a = w* wLAB*s0o(0) + n* nLAB*s0o(0) + a3* array1(0) + b3* array2(0) %A*Fs0a = w* wLAB*s0o(1) + n* nLAB*s0o(1) + a3* array1(1) + b3* array2(1) %B*Fs0a = w* wLAB*s0o(2) + n* nLAB*s0o(2) + a3* array1(2) + b3* array2(2) /L*Fs0a w* wLAB*s0o 0 get mul n* nLAB*s0o 0 get mul add a3* array1 0 get mul add b3* array2 0 get mul add def /A*Fs0a w* wLAB*s0o 1 get mul n* nLAB*s0o 1 get mul add a3* array1 1 get mul add b3* array2 1 get mul add def /B*Fs0a w* wLAB*s0o 2 get mul n* nLAB*s0o 2 get mul add a3* array1 2 get mul add b3* array2 2 get mul add def /L*Fa L*Fs0a L*Noup add def /A*Fa A*Fs0a def /B*Fa B*Fs0a def /C*Fa A*Fa dup mul B*Fa dup mul add 0.000001 add sqrt def /H*Fa B*Fa A*Fa 0.0001 add atan def /LAB*LFa L*Fa def /LAB*AFa A*Fa def /LAB*BFa B*Fa def /LAB*CFa C*Fa def /LAB*HFa H*Fa def /L*F L*Fa def /l*CIE L*F L*Noup sub L*Woup L*Noup sub 0.0001 add div def /A*F A*Fa A*Noup add A*Doup l*CIE mul add def /B*F B*Fa B*Noup add B*Doup l*CIE mul add def /C*F A*F dup mul B*F dup mul add 0.000001 add sqrt def /H*F B*F A*F 0.0001 add atan def /LAB*LF L*F def /LAB*AF A*F def /LAB*BF B*F def /LAB*CF C*F def /LAB*HF H*F def /lab*lFa l*CIE def /i* 1 n* sub def /d* 1 w* sub def /c* 1 n* sub w* sub def /t* i* w* add 0.5 mul def /e3* c* n* c* add 0.00001 add div def /c3*Fa 1 o3* sub def /m3*Fa 1 l3* sub def /y3*Fa 1 v3* sub def /n3*Fa 0.0 def %olvi3 as input! /o3*Fa o3* def /l3*Fa l3* def /v3*Fa v3* def /i3*Fa 1.0 def /c4*Fa c3* n* sub def %at least one of cmy will be cero /m4*Fa m3* n* sub def /y4*Fa y3* n* sub def /n4*Fa n* 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 n* sub def } bind def %END /proc_olvi3*Fa_nwidctl*olvi4*LAB*Fa_abpe3*Fa_isect %*********************************************************** /proc_LAB*FaMa_LAB*olvi3*Qa { %BEG proc_LAB*FaMa_LAB*olvi3*Qa %input LAB*Fa, LAB*Ma, LAB*Wa, LAB*Na, w*Fa, olvi3*Ma %output LAB*Qa, LAB*Xa by vector calculation %output olvi3*Qa %L*-origin at L*Nao, A*Nao, B*Fao /L*Na L*Nao def /A*Na A*Nao def /B*Na B*Nao def /L*Wa L*Wao def /A*Wa A*Wao def /B*Wa B*Wao def /L*W0 L*Wa L*Na sub def /L*F0 L*Fa L*Na sub def /L*M0 L*Ma L*Na sub def /L*N0 0 def %for dark color WF /WMF1a L*W0 L*F0 sub def /WMF2a A*Wa A*Fa sub def /WMF3a B*Wa B*Fa sub def /WMFXW1a WMF2a B*Wa mul WMF3a A*Wa mul sub def /WMFXW2a WMF3a L*W0 mul WMF1a B*Wa mul sub def /WMFXW3a WMF1a A*Wa mul WMF2a L*W0 mul sub def /WMFXWXWMF1a WMFXW2a WMF3a mul WMFXW3a WMF2a mul sub def /WMFXWXWMF2a WMFXW3a WMF1a mul WMFXW1a WMF3a mul sub def /WMFXWXWMF3a WMFXW1a WMF2a mul WMFXW2a WMF1a mul sub def /L*13a L*N0 def /A*13a A*Na def /B*13a B*Na def /L*23a L*M0 def /A*23a A*Ma def /B*23a B*Ma def /NENNER L*23a L*13a sub WMFXWXWMF1a mul A*23a A*13a sub WMFXWXWMF2a mul add B*23a B*13a sub WMFXWXWMF3a mul add def /ZAEHLE L*23a L*W0 sub WMFXWXWMF1a mul A*23a A*Wa sub WMFXWXWMF2a mul add B*23a B*Wa sub WMFXWXWMF3a mul add def NENNER 0 ne {/GAMA ZAEHLE NENNER div def} {/GAMA 99999} ifelse C*Fa 0.01 le {/GAMA 1 def} if /L*Qa GAMA L*13a mul 1 GAMA sub L*23a mul add L*Na add def /A*Qa GAMA A*13a mul 1 GAMA sub A*23a mul add def /B*Qa GAMA B*13a mul 1 GAMA sub B*23a mul add def /C*Qa A*Qa dup mul B*Qa dup mul add 0.000001 add sqrt def /H*Qa B*Qa A*Qa 0.0001 add atan def /o3*Qa 1 GAMA sub o3*Ma mul def /l3*Qa 1 GAMA sub l3*Ma mul def /v3*Qa 1 GAMA sub v3*Ma mul def %equations for color Qa: % c* = 1 - n* - w* % t* = 0.5 c* + w* % l* = t* + c* (l*Ma - 0.5) /lab*wQa 0.00 def /lab*cQa 1 GAMA sub def /lab*nQa GAMA def /lab*tQa lab*cQa 0.5 mul lab*wQa add def /lab*lQa L*Qa L*Nao sub L*Wao L*Nao sub 0.000001 add div def /lab*hQa H*Qa 360 div def } bind def %END /proc_LAB*FaMa_LAB*olvi3*Qa %*********************************** /proc_LAB*FaMa_LAB*olvi3*QaXa { %BEG proc_LAB*FaMa_LAB*olvi3*QaXa %input LAB*Fa, LAB*Ma, LAB*Wa, LAB*Na, lab*wFa, olvi3*Ma %output LAB*Qa by vector calculation and LAB*Xa %output olvi3*Qa, olvi3*Xa %L*-origin at L*Nao, A*Nao, B*Fao /L*Na L*Nao def /A*Na A*Nao def /B*Na B*Nao def /L*Wa L*Wao def /A*Wa A*Wao def /B*Wa B*Wao def /L*W0 L*Wa L*Na sub def /L*F0 L*Fa L*Na sub def /L*M0 L*Ma L*Na sub def /L*N0 0 def %for dark color WF /WMF1a L*W0 L*F0 sub def /WMF2a A*Wa A*Fa sub def /WMF3a B*Wa B*Fa sub def /WMFXW1a WMF2a B*Wa mul WMF3a A*Wa mul sub def /WMFXW2a WMF3a L*W0 mul WMF1a B*Wa mul sub def /WMFXW3a WMF1a A*Wa mul WMF2a L*W0 mul sub def /WMFXWXWMF1a WMFXW2a WMF3a mul WMFXW3a WMF2a mul sub def /WMFXWXWMF2a WMFXW3a WMF1a mul WMFXW1a WMF3a mul sub def /WMFXWXWMF3a WMFXW1a WMF2a mul WMFXW2a WMF1a mul sub def /L*13a L*N0 def /A*13a A*Na def /B*13a B*Na def /L*23a L*M0 def /A*23a A*Ma def /B*23a B*Ma def /NENNER L*23a L*13a sub WMFXWXWMF1a mul A*23a A*13a sub WMFXWXWMF2a mul add B*23a B*13a sub WMFXWXWMF3a mul add def /ZAEHLE L*23a L*W0 sub WMFXWXWMF1a mul A*23a A*Wa sub WMFXWXWMF2a mul add B*23a B*Wa sub WMFXWXWMF3a mul add def NENNER 0 ne {/GAMA ZAEHLE NENNER div def} {/GAMA 99999} ifelse C*Fa 0.01 le {/GAMA 1 def} if /L*Qa GAMA L*13a mul 1 GAMA sub L*23a mul add L*Na add def /A*Qa GAMA A*13a mul 1 GAMA sub A*23a mul add def /B*Qa GAMA B*13a mul 1 GAMA sub B*23a mul add def /C*Qa A*Qa dup mul B*Qa dup mul add 0.000001 add sqrt def /H*Qa B*Qa A*Qa 0.0001 add atan def /o3*Qa 1 GAMA sub o3*Ma mul def /l3*Qa 1 GAMA sub l3*Ma mul def /v3*Qa 1 GAMA sub v3*Ma mul def %equations for color Qa: % c* = 1 - n* - w* % t* = 0.5 c* + w* % l* = t* + c* (l*Ma - 0.5) /lab*wQa 0.00 def /lab*cQa 1 GAMA sub def /lab*nQa GAMA def /lab*tQa lab*cQa 0.5 mul lab*wQa add def /lab*lQa L*Qa L*Nao sub L*Wao L*Nao sub 0.000001 add div def /lab*hQa H*Qa 360 div def %Xa /L*Xa L*Wa lab*wFa mul L*Ma 1 lab*wFa sub mul add def /A*Xa A*Wa lab*wFa mul A*Ma 1 lab*wFa sub mul add def /B*Xa B*Wa lab*wFa mul B*Ma 1 lab*wFa sub mul add def /C*Xa A*Xa dup mul B*Xa dup mul add 0.000001 add sqrt def /H*Xa B*Xa A*Xa 0.000001 add atan def %Xa /o3*Xa lab*wFa o3*Ma 1 lab*wFa sub mul add def /l3*Xa lab*wFa l3*Ma 1 lab*wFa sub mul add def /v3*Xa lab*wFa v3*Ma 1 lab*wFa sub mul add def /i3*Xa 1.00 def /lab*wXa lab*wFa def /lab*nXa 0.00 def /lab*cXa 1 lab*wFa sub def /lab*tXa 1 lab*wXa add 0.5 mul def /lab*hXa H*Xa 360 div def } bind def %END /proc_LAB*FaMa_LAB*olvi3*QaXa %******************************************** /proc_LAB*Fa_LAB*MaNTABl_olvi3*cmyn3*Ma { %BEG proc_LAB*Fa_LAB*MaNTABl_olvi3*cmyn3*Ma %only for calculation without hue tables %input CVMOJLCLAB*ao (8x3 data including Ua) %input LAB*Fa %input LAB*Wao, LAB*Nao %output LAB*Ma %output olvi3*Ma %output cmyn3*Ma %L*-origin at L*Nao, A*Nao, B*Fao /L*Na L*Nao def /A*Na A*Nao def /B*Na B*Nao def /L*Wa L*Wao def /A*Wa A*Wao def /B*Wa B*Wao def /UXF1a A*Wa B*Fa mul B*Wa A*Fa mul sub def /UXF2a B*Wa L*Fa mul L*Wa B*Fa mul sub def /UXF3a L*Wa A*Fa mul A*Wa L*Fa mul sub def /T1 0 def /T2 0 def 0 1 5 {/ia exch def /ia30 ia 3 mul def /T1 CVMOJLCLAB*ao ia30 get UXF1a mul CVMOJLCLAB*ao ia30 1 add get UXF2a mul add CVMOJLCLAB*ao ia30 2 add get UXF3a mul add def /T2 CVMOJLCLAB*ao ia30 3 add get UXF1a mul CVMOJLCLAB*ao ia30 4 add get UXF2a mul add CVMOJLCLAB*ao ia30 5 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 {/ia31 ia30 def exit} if } for /L*11a CVMOJLCLAB*ao ia31 get def /A*11a CVMOJLCLAB*ao ia31 1 add get def /B*11a CVMOJLCLAB*ao ia31 2 add get def /L*21a CVMOJLCLAB*ao ia31 3 add get def /A*21a CVMOJLCLAB*ao ia31 4 add get def /B*21a CVMOJLCLAB*ao ia31 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 /LAB*LMa L*Ma def /LAB*AMa A*Ma def /LAB*BMa B*Ma def /LAB*CMa C*Ma def /LAB*HMa H*Ma def /ia30 ia 3 mul def /iap 1 ALPH sub def /iam ALPH def ia 0 eq {/c3*Ma 1 def %L, c*=1, sector C->V /m3*Ma iap def %L, m*=1->0 /y3*Ma 0 def %L, y*=0 } if ia 1 eq {/c3*Ma iam def %L, c*=1->0, sector V->M /m3*Ma 1 def %L, m*=1 /y3*Ma 0 def %L, y*=0 } if ia 2 eq {/c3*Ma 0 def %L, c*=0, sector M->O /m3*Ma 1 def %L, m*=1 /y3*Ma iap def %L, y*=0->1 } if ia 3 eq {/c3*Ma 0 def %L, c*=0, sector O->Y /m3*Ma iam def %L, m*=1->0 /y3*Ma 1 def %L, y*=1 } if ia 4 eq {/c3*Ma iap def %L, c*=0->1, sector Y->L /m3*Ma 0 def %L, m*=0 /y3*Ma 1 def %L, y*=1 } if ia 5 eq {/c3*Ma 1 def %L, c*=1, sector L->C /m3*Ma 0 def %L, m*=0 /y3*Ma iam def %L, y*=1->0 } if /o3*Ma 1 c3*Ma sub def /l3*Ma 1 m3*Ma sub def /v3*Ma 1 y3*Ma sub def /i3*Ma 1 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 L*Nao sub L*Wao L*Nao sub 0.000001 add div def } bind def %END /proc_LAB*Fa_LAB*MaNTABl_olvi3*cmyn3*Ma %*********************************** /proc_LAB*Fa_LAB*MaNTABl_LAB**lab**cmyn34**MaSaXaFa_lab*eEFa { %BEG proc_LAB*Fa_LAB*MaNTABl_LAB**lab**cmyn34**MaSaXaFa_lab*eEFa %only for calculation without hue tables /B*Fa exch def /A*Fa exch def /L*Fa exch def /C*Fa A*Fa dup mul B*Fa dup mul add 0.000001 add sqrt def /H*Fa B*Fa A*Fa 0.000001 add atan def %input CVMOJLCLAB*ao (8x3 data including Ua) %input LAB*Fa %input LAB*Wao, LAB*Nao %output LAB**Ma = LAB*LABCHMa %output lab**Ma = lab*labnwctMa %output LAB**Sa = LAB*LABCHSa %output lab**Sa = lab*labnwctSa %output LAB**Fa = LAB*LABCHFa %output lab**Fa = lab*labnwctFa %output lab*eEFa %output cmyn4**Sa = cmyn3*Sa, cmyn4*Sa, olvi3*Sa, olvi4*Sa %output cmyn4**Fa = cmyn3*Fa, cmyn4*Fa, olvi3*Fa, olvi4*Fa %L*-origin at L*Nao, A*Nao, B*Fao /L*Na L*Nao def /A*Na A*Nao def /B*Na B*Nao def /L*Wa L*Wao def /A*Wa A*Wao def /B*Wa B*Wao def /UXF1a A*Wa B*Fa mul B*Wa A*Fa mul sub def /UXF2a B*Wa L*Fa mul L*Wa B*Fa mul sub def /UXF3a L*Wa A*Fa mul A*Wa L*Fa mul sub def /T1 0 def /T2 0 def 0 1 5 {/ia exch def /ia30 ia 3 mul def /T1 CVMOJLCLAB*ao ia30 get UXF1a mul CVMOJLCLAB*ao ia30 1 add get UXF2a mul add CVMOJLCLAB*ao ia30 2 add get UXF3a mul add def /T2 CVMOJLCLAB*ao ia30 3 add get UXF1a mul CVMOJLCLAB*ao ia30 4 add get UXF2a mul add CVMOJLCLAB*ao ia30 5 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 {/ia31 ia30 def exit} if } for /L*11a CVMOJLCLAB*ao ia31 get def /A*11a CVMOJLCLAB*ao ia31 1 add get def /B*11a CVMOJLCLAB*ao ia31 2 add get def /L*21a CVMOJLCLAB*ao ia31 3 add get def /A*21a CVMOJLCLAB*ao ia31 4 add get def /B*21a CVMOJLCLAB*ao ia31 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 /LAB*LMa L*Ma def /LAB*AMa A*Ma def /LAB*BMa B*Ma def /LAB*CMa C*Ma def /LAB*HMa H*Ma def /ia30 ia 3 mul def /iap 1 ALPH sub def /iam ALPH def ia 0 eq {/c3*Ma 1 def %L, c*=1, sector C->V /m3*Ma iap def %L, m*=1->0 /y3*Ma 0 def %L, y*=0 } if ia 1 eq {/c3*Ma iam def %L, c*=1->0, sector V->M /m3*Ma 1 def %L, m*=1 /y3*Ma 0 def %L, y*=0 } if ia 2 eq {/c3*Ma 0 def %L, c*=0, sector M->O /m3*Ma 1 def %L, m*=1 /y3*Ma iap def %L, y*=0->1 } if ia 3 eq {/c3*Ma 0 def %L, c*=0, sector O->Y /m3*Ma iam def %L, m*=1->0 /y3*Ma 1 def %L, y*=1 } if ia 4 eq {/c3*Ma iap def %L, c*=0->1, sector Y->L /m3*Ma 0 def %L, m*=0 /y3*Ma 1 def %L, y*=1 } if ia 5 eq {/c3*Ma 1 def %L, c*=1, sector L->C /m3*Ma 0 def %L, m*=0 /y3*Ma iam def %L, y*=1->0 } if /o3*Ma 1 c3*Ma sub def /l3*Ma 1 m3*Ma sub def /v3*Ma 1 y3*Ma sub def /i3*Ma 1 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 L*Nao sub L*Wao L*Nao sub 0.000001 add div def %equations for color Fa: % c* = 1 - n* - w* % t* = 0.5 c* + w* % l* = t* + c* (l*Ma - 0.5) /lab*lFa L*Fa L*Nao sub L*Wao L*Nao sub 0.000001 add div def /lab*cFa C*Fa C*Ma 0.000001 add div def %use of l*Fa = t*Fa + c*Fa (l*Ma - 0.5) and others /lab*tFa lab*lFa lab*cFa lab*lMa 0.5 sub mul sub def /lab*wFa lab*tFa lab*cFa 0.5 mul sub def /lab*nFa 1 lab*wFa sub lab*cFa sub def /lab*hFa H*Fa 360 div def /lab*aFa lab*cFa H*Fa cos mul def /lab*bFa lab*cFa H*Fa sin mul def /LAB*LFa L*Fa def /LAB*AFa A*Fa def /LAB*BFa B*Fa def /LAB*CFa C*Fa def /LAB*HFa H*Fa def /LAB*TFa lab*tFa 100 mul def /L*F L*Fa def /l*CIE L*F L*Noup sub L*Woup L*Noup sub 0.0001 add div def /A*F A*Fa A*Noup add A*Doup l*CIE mul add def /B*F B*Fa B*Noup add B*Doup l*CIE mul add def /C*F A*F dup mul B*F dup mul add 0.000001 add sqrt def /H*F B*F A*F 0.0001 add atan def /LAB*LF L*F def /LAB*AF A*F def /LAB*BF B*F def /LAB*CF C*F def /LAB*HF H*F def %For only the following procedure input lab*hFa and output lrj*eEFa proc_lab*hFa_lab*eEFa %produces lab*eFa, lab*e1Fa, lab*e2Fa, lab*EFa %lab*eFa known, see above /lab*rFa lab*cFa lab*eFa 360 mul cos mul def /lab*jFa lab*cFa lab*eFa 360 mul sin mul def %c*Sa / c*Fa = i*Sa / i*Fa = 1 / (1-n*Fa) %c*Sa = c*Fa / (1-n*Fa) %c*Sa / c*Ma = d*Sa / d*Ma = d*Sa / 1 %c*Sa = d*Sa = (1 - w*Sa) %w*Sa = 1 - c*Fa / (1 - n*Fa ) = lab*wFa %Sa /lab*cSa lab*cFa 1 lab*nFa sub 0.000001 add div def /lab*nSa 0.00 def /lab*wSa 1 lab*cSa sub def /lab*tSa 1 lab*wSa add 0.5 mul def %Sa /L*Sa L*Wa lab*wSa mul L*Ma 1 lab*wSa sub mul add def /A*Sa A*Wa lab*wSa mul A*Ma 1 lab*wSa sub mul add def /B*Sa B*Wa lab*wSa mul B*Ma 1 lab*wSa sub mul add def /C*Sa A*Sa dup mul B*Sa dup mul add 0.000001 add sqrt def /H*Sa B*Sa A*Sa 0.000001 add atan def /lab*hSa H*Sa 360 div def %Sa /o3*Sa lab*wSa o3*Ma 1 lab*wSa sub mul add def /l3*Sa lab*wSa l3*Ma 1 lab*wSa sub mul add def /v3*Sa lab*wSa v3*Ma 1 lab*wSa sub mul add def /i3*Sa 1.00 def /c3*Sa 1 o3*Sa sub def /m3*Sa 1 l3*Sa sub def /y3*Sa 1 v3*Sa sub def /n3*Sa 0.00 def /o4*Sa o3*Sa def /l4*Sa l3*Sa def /v4*Sa v3*Sa def /i4*Sa 1.00 def /c4*Sa 1 o4*Sa sub def /m4*Sa 1 l4*Sa sub def /y4*Sa 1 v4*Sa sub def /n4*Sa 0.00 def %Xa /L*Xa L*Wa lab*wFa mul L*Ma 1 lab*wFa sub mul add def /A*Xa A*Wa lab*wFa mul A*Ma 1 lab*wFa sub mul add def /B*Xa B*Wa lab*wFa mul B*Ma 1 lab*wFa sub mul add def /C*Xa A*Xa dup mul B*Xa dup mul add 0.000001 add sqrt def /H*Xa B*Xa A*Xa 0.000001 add atan def %Xa /o3*Xa lab*wFa o3*Ma 1 lab*wFa sub mul add def /l3*Xa lab*wFa l3*Ma 1 lab*wFa sub mul add def /v3*Xa lab*wFa v3*Ma 1 lab*wFa sub mul add def /i3*Xa 1.00 def /lab*wXa lab*wFa def /lab*nXa 0.00 def /lab*cXa 1 lab*wFa sub def /lab*tXa 1 lab*wXa add 0.5 mul def /lab*hXa H*Xa 360 div def /c3*Xa 1 o3*Xa sub def /m3*Xa 1 l3*Xa sub def /y3*Xa 1 v3*Xa sub def /n3*Xa 0.00 def /o4*Xa o3*Xa def /l4*Xa l3*Xa def /v4*Xa v3*Xa def /i4*Xa 1.00 def /c4*Xa 1 o4*Xa sub def /m4*Xa 1 l4*Xa sub def /y4*Xa 1 v4*Xa sub def /n4*Xa 0.00 def %Fa /o4*Fa o3*Sa def /l4*Fa l3*Sa def /v4*Fa v3*Sa def /i4*Fa 1 lab*nFa sub def /o3*Fa o3*Sa 1 lab*nFa sub mul def /l3*Fa l3*Sa 1 lab*nFa sub mul def /v3*Fa v3*Sa 1 lab*nFa sub mul def /i3*Fa 1.00 def /c3*Fa 1 o3*Fa sub def /m3*Fa 1 l3*Fa sub def /y3*Fa 1 v3*Fa sub def /n3*Fa 1 i3*Fa sub def /c4*Fa 1 o4*Fa sub def /m4*Fa 1 l4*Fa sub def /y4*Fa 1 v4*Fa sub def /n4*Fa 1 i4*Fa sub def } bind def %END /proc_LAB*Fa_LAB*MaNTABl_LAB**lab**cmyn34**MaSaXaFa_lab*eEFa %***************************************************************** /proc_lab*xcyFa_LAB*MaNTABl_LAB**lab**cmyn34**MaSaXaFa_lab*eEFa { %BEG proc_lab*xcyFa_LAB*MaNTABl_LAB**lab**cmyn34**MaSaXaFa_lab*eEFa %only for calculation without hue tables /lab*yFa exch def /lab*cFa exch def /lab*xFa exch def /h*Fa lab*yFa def %input CVMOJLCLAB*ao (8x3 data including Ua) %input lab*xcy = lab*nch / lab*lch / lab*tch %input lab*xcy = lab*nce / lab*lce / lab*tce %input lab*xcy (x=n/t/l) (y=h/e) %input LAB*Wao, LAB*Nao %output LAB**Ma = LAB*LABCHMa %output lab**Ma = lab*labnwctMa %output LAB**Fa = LAB*LABCHFa %output lab**Fa = lab*labnwctFa %output lab*eEFa %output cmyn4**Fa = cmyn3*Fa, cmyn4*Fa, olvi3*Fa, olvi4*Fa %L*-origin at L*Nao, A*Nao, B*Fao /L*Na L*Nao def /A*Na A*Nao def /B*Na B*Nao def /L*Wa L*Wao def /A*Wa A*Wao def /B*Wa B*Wao def %h is given, use normalized C*Fa= 100 to calculate A*Fa, B*Fa for L*=50 /L*Fx 50 def /C*Fx 100 def /A*Fx 100 h*Fa 360 mul sin mul def /B*Fx 100 h*Fa 360 mul cos mul def /UXF1a A*Wa B*Fx mul B*Wa A*Fx mul sub def /UXF2a B*Wa L*Fx mul L*Wa B*Fx mul sub def /UXF3a L*Wa A*Fx mul A*Wa L*Fx mul sub def /T1 0 def /T2 0 def 0 1 5 {/ia exch def /ia30 ia 3 mul def /T1 CVMOJLCLAB*ao ia30 get UXF1a mul CVMOJLCLAB*ao ia30 1 add get UXF2a mul add CVMOJLCLAB*ao ia30 2 add get UXF3a mul add def /T2 CVMOJLCLAB*ao ia30 3 add get UXF1a mul CVMOJLCLAB*ao ia30 4 add get UXF2a mul add CVMOJLCLAB*ao ia30 5 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 {/ia31 ia30 def exit} if } for /L*11a CVMOJLCLAB*ao ia31 get def /A*11a CVMOJLCLAB*ao ia31 1 add get def /B*11a CVMOJLCLAB*ao ia31 2 add get def /L*21a CVMOJLCLAB*ao ia31 3 add get def /A*21a CVMOJLCLAB*ao ia31 4 add get def /B*21a CVMOJLCLAB*ao ia31 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 /LAB*LMa L*Ma def /LAB*AMa A*Ma def /LAB*BMa B*Ma def /LAB*CMa C*Ma def /LAB*HMa H*Ma def /ia30 ia 3 mul def /iap 1 ALPH sub def /iam ALPH def ia 0 eq {/c3*Ma 1 def %L, c*=1, sector C->V /m3*Ma iap def %L, m*=1->0 /y3*Ma 0 def %L, y*=0 } if ia 1 eq {/c3*Ma iam def %L, c*=1->0, sector V->M /m3*Ma 1 def %L, m*=1 /y3*Ma 0 def %L, y*=0 } if ia 2 eq {/c3*Ma 0 def %L, c*=0, sector M->O /m3*Ma 1 def %L, m*=1 /y3*Ma iap def %L, y*=0->1 } if ia 3 eq {/c3*Ma 0 def %L, c*=0, sector O->Y /m3*Ma iam def %L, m*=1->0 /y3*Ma 1 def %L, y*=1 } if ia 4 eq {/c3*Ma iap def %L, c*=0->1, sector Y->L /m3*Ma 0 def %L, m*=0 /y3*Ma 1 def %L, y*=1 } if ia 5 eq {/c3*Ma 1 def %L, c*=1, sector L->C /m3*Ma 0 def %L, m*=0 /y3*Ma iam def %L, y*=1->0 } if /o3*Ma 1 c3*Ma sub def /l3*Ma 1 m3*Ma sub def /v3*Ma 1 y3*Ma sub def /i3*Ma 1 def /lab*lMa LAB*LMa L*Nao sub L*Wao L*Nao sub 0.000001 add div def /lab*nMa 0.00 def /lab*cMa 1.00 def /lab*wMa 0.00 def /lab*tMa 0.50 def %equations for color Fa: % c* = 1 - n* - w* % t* = 0.5 c* + w* % l* = t* + c* (l*Ma - 0.5) lab*xcy (lab*nch) eq lab*xcy (lab*tch) eq or lab*xcy (lab*lch) eq or {/lab*hFa lab*yFa def %For only the following procedure for input lab*hFa and output lrj*eEFa proc_lab*hFa_lab*eEFa %produces lab*eFa, lab*e1Fa, lab*EFa, lab*e2Fa } {/lab*eFa lab*yFa def %For only the following procedure for input lab*eFa and output lab*hEFa proc_lab*eFa_lab*EFa_lab*hFa %produces lab*hFa, lab*e1Fa, lab*e2Fa, lab*EFa } ifelse lab*xcy (lab*nch) eq lab*xcy (lab*nce) eq or {%ncy: given lab*nFa, lab*cFa: calculate lab*wFa, lab*tFa, lab*lFa /lab*nFa lab*xFa def /lab*wFa 1 lab*nFa sub lab*cFa sub def /lab*tFa lab*wFa lab*cFa 0.5 mul def /lab*lFa lab*tFa lab*cFa lab*lMa 0.5 sub mul add def } if lab*xcy (lab*tch) eq lab*xcy (lab*tce) eq or {%tcy: given lab*tFa, lab*cFa: calculate lab*nFa, lab*wFa, lab*lFa /lab*tFa lab*xFa def /lab*wFa lab*tFa lab*cFa 0.5 mul sub def /lab*nFa 1 lab*wFa sub lab*cFa sub def /lab*lFa lab*tFa lab*cFa lab*lMa 0.5 sub mul add def } if lab*xcy (lab*lch) eq lab*xcy (lab*lce) eq or {%tcy: given lab*lFa, lab*cFa: calculate lab*nFa, lab*wFa, lab*tFa /lab*lFa lab*xFa def /lab*tFa lab*lFa lab*cFa lab*lMa 0.5 sub mul sub def /lab*wFa lab*tFa lab*cFa 0.5 mul sub def /lab*nFa 1 lab*wFa sub lab*cFa sub def } if %lab*hFa known, see above %lab*ncwtl calculated, see above /lab*aFa lab*cFa lab*hFa 360 mul cos mul def /lab*bFa lab*cFa lab*hFa 360 mul sin mul def %lab*eFa known, see above /lab*rFa lab*cFa lab*eFa 360 mul cos mul def /lab*jFa lab*cFa lab*eFa 360 mul sin mul def %Fa /L*Fa L*Sa 1 lab*nFa sub mul L*Na lab*nFa mul add def /A*Fa A*Sa 1 lab*nFa sub mul A*Na lab*nFa mul add def /B*Fa B*Sa 1 lab*nFa sub mul B*Na lab*nFa mul add def /C*Fa A*Fa dup mul B*Fa dup mul add 0.000001 add sqrt def /H*Fa B*Fa A*Fa 0.000001 add atan def %Sa /L*Sa L*Wa 1 lab*wFa sub mul L*Ma lab*wFa mul add def /A*Sa A*Wa 1 lab*wFa sub mul A*Ma lab*wFa mul add def /B*Sa B*Wa 1 lab*wFa sub mul B*Ma lab*wFa mul add def /C*Sa A*Sa dup mul B*Sa dup mul add 0.000001 add sqrt def /H*Sa B*Sa A*Sa 0.000001 add atan def /lab*hSa H*Sa 360 div def %Sa /o3*Sa 1 lab*wFa sub o3*Ma lab*wFa mul add def /l3*Sa 1 lab*wFa sub l3*Ma lab*wFa mul add def /v3*Sa 1 lab*wFa sub v3*Ma lab*wFa mul add def /i3*Sa 1.00 def /c3*Sa 1 o3*Sa sub def /m3*Sa 1 l3*Sa sub def /y3*Sa 1 v3*Sa sub def /n3*Sa 0.00 def /o4*Sa o3*Sa def /l4*Sa l3*Sa def /v4*Sa v3*Sa def /i4*Sa 1.00 def /c4*Sa 1 o4*Sa sub def /m4*Sa 1 l4*Sa sub def /y4*Sa 1 v4*Sa sub def /n4*Sa 0.00 def %Fa /o4*Fa o3*Sa def /l4*Fa l3*Sa def /v4*Fa v3*Sa def /i4*Fa 1 lab*nFa sub def /o3*Fa o3*Sa 1 lab*nFa sub mul def /l3*Fa l3*Sa 1 lab*nFa sub mul def /v3*Fa v3*Sa 1 lab*nFa sub mul def /i3*Fa 1.00 def /c3*Fa 1 o3*Fa sub def /m3*Fa 1 l3*Fa sub def /y3*Fa 1 v3*Fa sub def /n3*Fa 1 i3*Fa sub def /c4*Fa 1 o4*Fa sub def /m4*Fa 1 l4*Fa sub def /y4*Fa 1 v4*Fa sub def /n4*Fa 1 i4*Fa sub def } bind def %END /proc_lab*xcyFa_LAB*MaNTABl_LAB**lab**cmyn34**MaSaXaFa_lab*eEFa %************************************************ /proc_CVMOJLCTABl {%BEG proc_CVMOJLCTABl %only for calculation with hue tables %determination of hue sector %input CVMOJLCLAB*ao(8x3 data including WLAB*s0) %L*Fia, A*Lia, B*Lia (i=0,360) will be defined within procedure /TCH*MaoL 461 array def /TCH*MaoA 461 array def /TCH*MaoB 461 array def /CMY*MaoC 461 array def /CMY*MaoM 461 array def /CMY*MaoY 461 array def /L*Wa CVMOJLCLAB*ao 24 get def /A*Wa CVMOJLCLAB*ao 25 get def /B*Wa CVMOJLCLAB*ao 26 get def /L*Fia 50 def 0 1 5 {/sangl exch def %Sangl=0,5 /sa30 sangl 3 mul def /sa31 sa30 1 add def /sa32 sa30 2 add def /L*1a CVMOJLCLAB*ao sa30 get def /A*1a CVMOJLCLAB*ao sa31 get def /B*1a CVMOJLCLAB*ao sa32 get def /L*2a CVMOJLCLAB*ao sa30 3 add get def /A*2a CVMOJLCLAB*ao sa31 3 add get def /B*2a CVMOJLCLAB*ao sa32 3 add get def /sang1 B*1a A*1a 0.0001 add atan 0.5 add cvi def /sang2 B*2a A*2a 0.0001 add atan 0.5 add cvi 1 add def /sangx sang2 def sang2 sang1 sub 0 le {/sangx sang2 360 add def} if sang1 1 sangx {/oa exch def %oa=sang1,sangx /ox oa def oa 360 ge {/ox oa 360 sub def} if /A*Fia 100 ox cos mul def /B*Fia 100 ox sin mul def /UXF1a A*Wa B*Fia mul B*Wa A*Fia mul sub def /UXF2a B*Wa L*Fia mul L*Wa B*Fia mul sub def /UXF3a L*Wa A*Fia mul A*Wa L*Fia mul sub def /NENNER L*2a L*1a sub UXF1a mul A*2a A*1a sub UXF2a mul add B*2a B*1a sub UXF3a mul add def /ZAEHLE L*2a UXF1a mul A*2a UXF2a mul add B*2a UXF3a mul add def NENNER 0 ne {/ALPHA ZAEHLE NENNER div def} {/ALPHA 99999} ifelse TCH*MaoL ox ALPHA L*1a mul 1 ALPHA sub L*2a mul add put TCH*MaoA ox ALPHA A*1a mul 1 ALPHA sub A*2a mul add put TCH*MaoB ox ALPHA B*1a mul 1 ALPHA sub B*2a mul add put /ALPHP 1 ALPHA sub def /ALPHM ALPHA def sangl 0 eq {CMY*MaoC ox 1 put CMY*MaoM ox ALPHP put CMY*MaoY ox 0 put} if sangl 1 eq {CMY*MaoC ox ALPHM put CMY*MaoM ox 1 put CMY*MaoY ox 0 put} if sangl 2 eq {CMY*MaoC ox 0 put CMY*MaoM ox 1 put CMY*MaoY ox ALPHP put} if sangl 3 eq {CMY*MaoC ox 0 put CMY*MaoM ox ALPHM put CMY*MaoY ox 1 put} if sangl 4 eq {CMY*MaoC ox ALPHP put CMY*MaoM ox 0 put CMY*MaoY ox 1 put} if sangl 5 eq {CMY*MaoC ox 1 put CMY*MaoM ox 0 put CMY*MaoY ox ALPHM put} if } for %oa=sang1,sangx } for %Sangl=0,5 } bind def %END /proc_CVMOJLCTABl %*********************************************************** /proc_lab*hFa_lab*eEFa { %BEG proc_lab*hFa_lab*eEFa %input RJGB*Ang %input lab*hFa %output lab*eEFa /lab*HFa lab*hFa 360 mul def % the angle formed by the input lab*color data in the a*b* plane /e1*Fa (-) def /e2*Fa (-) def /E1*Fa (-) def /E2*Fa (-) def /IEND 0 def lab*HFa R*Ang gt lab*HFa J*Ang le and {/E*Fa lab*HFa R*Ang sub J*Ang R*Ang sub div def /e*Fa 0.00 E*Fa 0.25 mul add def /e1*Fa (r) def /e2*Fa (j) def /E1*Fa (R) def /E2*Fa (J) def /EM*Fa R*Ang def /EP*Fa J*Ang def /IEND 1 def} if lab*HFa J*Ang gt lab*HFa G*Ang le and {/E*Fa lab*HFa J*Ang sub G*Ang J*Ang sub div def /e*Fa 0.25 E*Fa 0.25 mul add def /e1*Fa (j) def /e2*Fa (g) def /E1*Fa (J) def /E2*Fa (G) def /EM*Fa J*Ang def /EP*Fa G*Ang def /IEND 1 def} if lab*HFa G*Ang gt lab*HFa B*Ang le and {/E*Fa lab*HFa G*Ang sub B*Ang G*Ang sub div def /e*Fa 0.50 E*Fa 0.25 mul add def /e1*Fa (g) def /e2*Fa (b) def /E1*Fa (G) def /E2*Fa (B) def /EM*Fa G*Ang def /EP*Fa B*Ang def /IEND 1 def} if lab*HFa R*Ang le IEND 0 eq and {/Plab*HFa lab*HFa 360 add def} {/Plab*HFa lab*HFa def} ifelse Plab*HFa B*Ang gt Plab*HFa R*Ang 360 add le and {/E*Fa Plab*HFa B*Ang sub R*Ang 360 add B*Ang sub div def /e*Fa 0.75 E*Fa 0.25 mul add def /e1*Fa (b) def /e2*Fa (r) def /E1*Fa (B) def /E2*Fa (R) def /EM*Fa B*Ang def /EP*Fa R*Ang 360 add def} if /lab*eFa e*Fa def /lab*e1Fa e1*Fa def /lab*e2Fa e2*Fa def /lab*EFa E*Fa def } bind def %END /proc_lab*hFa_lab*eEFa %******************************************************************* /proc_lab*eFa_lab*EFa_lab*hFa { %BEG proc_lab*eFa_lab*EFa_lab*hFa %input RJGB*Ang %input lab*eFa %output lab*EFa %output lab*hFa /lab*E360Fa lab*eFa 360 mul def % the angle formed by the input lab*color data in the r*j* plane /e1*Fa (-) def /e2*Fa (-) def /E1*Fa (-) def /E2*Fa (-) def /IEND 0 def lab*E360Fa 0 gt lab*E360Fa 90 le and {/E*Fa lab*E360Fa 90 div def /e*Fa 0.00 E*Fa 0.25 mul add def /e1*Fa (r) def /e2*Fa (j) def /E1*Fa (R) def /E2*Fa (J) def /EM*Fa R*Ang def /EP*Fa J*Ang def /IEND 1 def /lab*HFa R*Ang J*Ang R*Ang sub E*Fa mul add def} if lab*E360Fa 90 gt lab*E360Fa 180 le and {/E*Fa lab*E360Fa 90 sub 90 div def /e*Fa 0.25 E*Fa 0.25 mul add def /e1*Fa (j) def /e2*Fa (g) def /E1*Fa (J) def /E2*Fa (G) def /EM*Fa J*Ang def /EP*Fa G*Ang def /IEND 1 def /lab*HFa J*Ang G*Ang J*Ang sub E*Fa mul add def} if lab*E360Fa 180 gt lab*E360Fa 270 le and {/E*Fa lab*E360Fa 180 sub 90 div def /e*Fa 0.50 E*Fa 0.25 mul add def /e1*Fa (g) def /e2*Fa (b) def /E1*Fa (G) def /E2*Fa (B) def /EM*Fa G*Ang def /EP*Fa B*Ang def /IEND 1 def /lab*HFa G*Ang B*Ang G*Ang sub E*Fa mul add def} if lab*E360Fa 270 le IEND 0 eq and {/Plab*E360Fa lab*E360Fa 360 add def} {/Plab*E360Fa lab*E360Fa def} ifelse Plab*E360Fa 270 gt Plab*E360Fa 360 le and {/E*Fa Plab*E360Fa 270 sub 90 div def /e*Fa 0.75 E*Fa 0.25 mul add def /e1*Fa (b) def /e2*Fa (r) def /E1*Fa (B) def /E2*Fa (R) def /EM*Fa B*Ang def /EP*Fa R*Ang 360 add def /lab*HFa B*Ang R*Ang B*Ang sub E*Fa mul add def} if /lab*eFa e*Fa def /lab*e1Fa e1*Fa def /lab*e2Fa e2*Fa def /lab*EFa E*Fa def /lab*hFa lab*HFa 360 div def } bind def %END /proc_lab*eFa_lab*EFa_lab*hFa %******************************************************************* /proc_LAB*FaMa_LAB**Sa_lab**MaFa_lab*eEFa_LAB**Fa { %BEG proc_LAB*FaMa_LAB**Sa_lab**MaFa_lab*eEFa_LAB**Fa %input LAB*Fa, LAB*Ma, LAB*Wao, LAB*Nao, olvi3*Ma %input olvi3*Ma %output LAB*Sa by vector calculation %output olvi3*Sa, olvi3*Fa, olvi4*Fa, cmyn4*Fa %output lab*labnwtchFa = lab**Fa %output lab*eEFa %output LAB*LABNWTCHFa = LAB**Fa /C*Fa A*Fa dup mul B*Fa dup mul add 0.00001 add sqrt def /H*Fa B*Fa A*Fa 0.000001 add atan def /C*Ma A*Ma dup mul B*Ma dup mul add 0.00001 add sqrt def /H*Ma B*Ma A*Ma 0.000001 add atan def %L*-origin at L*Nao, A*Nao, B*Fao /L*Na L*Nao def /A*Na A*Nao def /B*Na B*Nao def /L*Wa L*Wao def /A*Wa A*Wao def /B*Wa B*Wao def /L*W0 L*Wa L*Na sub def /L*F0 L*Fa L*Na sub def /L*M0 L*Ma L*Na sub def /L*N0 0 def %for light color SF /FXW1a A*Fa B*Wa mul B*Fa A*Wa mul sub def /FXW2a B*Fa L*W0 mul L*F0 B*Wa mul sub def /FXW3a L*F0 A*Wa mul A*Fa L*W0 mul sub def /FXWXF1a FXW2a B*Fa mul FXW3a A*Fa mul sub def /FXWXF2a FXW3a L*F0 mul FXW1a B*Fa mul sub def /FXWXF3a FXW1a A*Fa mul FXW2a L*F0 mul sub def /L*12a L*W0 def /A*12a A*Wa def /B*12a B*Wa def /L*22a L*M0 def /A*22a A*Ma def /B*22a B*Ma def /NENNER L*22a L*12a sub FXWXF1a mul A*22a A*12a sub FXWXF2a mul add B*22a B*12a sub FXWXF3a mul add def /ZAEHLE L*22a FXWXF1a mul A*22a FXWXF2a mul add B*22a FXWXF3a mul add def NENNER 0 ne {/BETA ZAEHLE NENNER div def} {/BETA 99999} ifelse C*Fa 0.01 le {/BETA 1 def} if /L*Sa BETA L*12a mul 1 BETA sub L*22a mul add L*Na add def /A*Sa BETA A*12a mul 1 BETA sub A*22a mul add def /B*Sa BETA B*12a mul 1 BETA sub B*22a mul add def /C*Sa A*Sa dup mul B*Sa dup mul add 0.000001 add sqrt def /H*Sa B*Sa A*Sa 0.0001 add atan def %needs olvi3*Ma /o3*Sa 1 BETA sub o3*Ma mul BETA add def /l3*Sa 1 BETA sub l3*Ma mul BETA add def /v3*Sa 1 BETA sub v3*Ma mul BETA add def /o3* o3*Sa def /l3* l3*Sa def /v3* v3*Sa def proc_olvi3*_nwidct*_olvi4*cmyn4*_abpe3*_isect /lab*nSa 0.00 def /lab*wSa w* def /lab*cSa 1 n* sub w* sub def /lab*tSa 1 n* sub w* add 0.5 mul def /i*Sa 1.00 def /d*Sa 1 w* sub def /p3*Sa p3* def %olv*Sa_to_olv*Fa /R*Fa L*Fa L*Na sub dup mul A*Fa dup mul add B*Fa dup mul add sqrt def /R*Sa L*Sa L*Na sub dup mul A*Sa dup mul add B*Sa dup mul add sqrt def /i4*Fa R*Fa R*Sa 0.0001 add div def /o3*Fa o3*Sa i4*Fa mul def /l3*Fa l3*Sa i4*Fa mul def /v3*Fa v3*Sa i4*Fa mul def /i3*Fa 1.00 def %olv*Fa_niwd*Fa************************************** /o3* o3*Fa def /l3* l3*Fa def /v3* v3*Fa def /c3*Fa 1 o3* sub def /m3*Fa 1 l3* sub def /y3*Fa 1 v3* sub def proc_olvi3*_nwidct*_olvi4*cmyn4*_abpe3*_isect /lab*nFa n* def /lab*wFa w* def /lab*cFa 1 n* sub w* sub def /lab*tFa 1 n* sub w* add 0.5 mul def /i3*Fa 1.00 def /n3*Fa 0.00 def /p3*Fa p3* def /o4*Fa o3*Sa def /l4*Fa l3*Sa def /v4*Fa v3*Sa def /i4*Fa 1 n* sub def /c4*Fa 1 o4*Fa sub def /m4*Fa 1 l4*Fa sub def /y4*Fa 1 v4*Fa sub def /n4*Fa n* def %lab**Ma /H*Ma H*Fa def /lab*cMa 1.00 def /lab*nMa 0.00 def /lab*wMa 0.00 def /lab*tMa 0.50 def /lab*hMa H*Ma 360 div def /lab*aMa lab*cMa H*Ma cos mul def /lab*bMa lab*cMa H*Ma sin mul def %lab*lMa = (L*Ma - L*Nao) / (L*Wao - L*Nao) /lab*lMa L*Ma L*Nao sub L*Wao L*Nao sub 0.00001 add div def %lab**Fa /lab*cFa C*Fa C*Ma 0.00001 add div def /lab*hFa H*Fa 360 div def /lab*aFa lab*cFa H*Fa cos mul def /lab*bFa lab*cFa H*Fa sin mul def %lab*lFa = (L*Fa - L*Nao) / (L*Wao - L*Nao) /lab*lFa L*Fa L*Nao sub L*Wao L*Nao sub 0.00001 add div def /lab*nFa n* def /lab*wFa w* def /lab*tFa t* def %lab*eEFa %For only the following procedure: %input lab*hFa %output lab*eEFa proc_lab*hFa_lab*eEFa %produces lab*eFa = lab*eFa, lab*e1Fa, lab*e2Fa, lab*EFa %lab*eFa known, see above /lab*rFa lab*cFa lab*eFa 360 mul cos mul def /lab*jFa lab*cFa lab*eFa 360 mul sin mul def %LAB**Fa %lab*lFa = (LAB*LFa - L*Nao) / (L*Wao - L*Nao) /LAB*LFa L*Wao L*Nao sub lab*lFa mul L*Nao add def /LAB*AFa A*Ma lab*cFa mul def /LAB*BFa B*Ma lab*cFa mul def /LAB*CFa A*Fa dup mul B*Fa dup mul add 0.000001 add sqrt def /LAB*HFa B*Fa A*Fa 0.000001 add atan def /LAB*NFa lab*nFa 100 mul def /LAB*WFa lab*wFa 100 mul def /LAB*TFa lab*tFa 100 mul def %LAB*Fa_to_LAB*F %transfer from adapted to device system ORS18/TLS00/DRSxx/TLS18 /LAB*LF LAB*LFa def /l*CIE LAB*LFa L*Noup sub L*Woup L*Noup sub 0.0001 add div def /LAB*AF LAB*AFa A*Noup add A*Doup l*CIE mul add def /LAB*BF LAB*BFa B*Noup add B*Doup l*CIE mul add def /LAB*CF LAB*AF dup mul LAB*BF dup mul add 0.000001 add sqrt def /LAB*HF LAB*BF LAB*AF 0.000001 add atan def } bind def %END /proc_LAB*FaMa_LAB**Sa_lab**MaFa_lab*eEFa_LAB**Fa /proc_LAB*LCH_setcolor { %BEG proc_LAB*LCH_setcolor /LCH*Hx exch def /LCH*Cx exch def /LCH*Lx exch def /L*Fax LCH*Lx def /A*Fax LCH*Cx LCH*Hx cos mul def /B*Fax LCH*Cx LCH*Hx sin mul def L*Fax A*Fax B*Fax setcolor } bind def %END /proc_LAB*LCH_setcolor /proc_lab*xcy_setcolor { %BEG proc_lab*xcy_setcolor %needs as input: lab*xFa lab*cFa lab*yFa proc_lab*xcyFa_LAB*MaNTABl_LAB**lab**cmyn34**MaSaXaFa_lab*eEFa /L*Fax LAB*LFa def /A*Fax LAB*AFa def /B*Fax LAB*BFa def L*Fax A*Fax B*Fax setcolor } bind def %END /proc_lab*xcy_setcolor %**************************************************************** } bind def %END /proc_LAB*io all procedures (iol=input-output local) %*********************************************************** %END MG47/10L/OUTLIN1XFA.PS/.TXT/.PDF local (l) procedures without linearisation %*************************************************************** %BEG DM00/CMISO_S1gLAB.DAT Output Linearization (OL), GLOBAL (G), 20011201 /MISO_S1g 1024 array def /CFilenameS1 %Start output Step S1 (www.ps.bam.de/MG47/10L/L47G00FA.PS) def %This file name /CDeviceS1 (Device: (Y); ) def %Device name and file measured /CMeasS1 (Meas.: MG47/10L/L47G00NA.PS;S1) def %File name measured in step S1 /CDateS1 (Date: M010401) def %Date of calculation/measurement /MISO_S1g [%real LAB* measurement of output to be included %no. CIELAB D65 rc 0.00% w* n* col L L10001FA.DAT CMYOLV.FOR 0 58.62 -30.62 -42.74 %0.000 1.000 C-W L cmy0* setcmykcolor 0 1 61.07 -28.64 -39.57 %0.067 0.933 C-W L 2 63.53 -26.67 -36.41 %0.133 0.867 C-W L 3 65.98 -24.69 -33.24 %0.200 0.800 C-W L 4 68.43 -22.72 -30.07 %0.267 0.733 C-W L 5 70.88 -20.74 -26.91 %0.333 0.667 C-W L 6 73.34 -18.77 -23.74 %0.400 0.600 C-W L 7 75.79 -16.79 -20.57 %0.467 0.533 C-W L 8 78.24 -14.82 -17.41 %0.533 0.467 C-W L 9 80.69 -12.84 -14.24 %0.600 0.400 C-W L 10 83.15 -10.87 -11.07 %0.667 0.333 C-W L 11 85.60 -8.89 -7.91 %0.733 0.267 C-W L 12 88.05 -6.92 -4.74 %0.800 0.200 C-W L 13 90.50 -4.94 -1.57 %0.867 0.133 C-W L 14 92.96 -2.97 1.59 %0.933 0.067 C-W L 15 95.41 -0.99 4.76 %1.000 0.000 C-W L 0 48.13 75.20 -6.79 %0.000 1.000 M-W L cmy0* setcmykcolor 16 1 51.28 70.12 -6.02 %0.067 0.933 M-W L 2 54.43 65.04 -5.25 %0.133 0.867 M-W L 3 57.59 59.96 -4.48 %0.200 0.800 M-W L 4 60.74 54.88 -3.71 %0.267 0.733 M-W L 5 63.89 49.80 -2.94 %0.333 0.667 M-W L 6 67.04 44.72 -2.17 %0.400 0.600 M-W L 7 70.19 39.64 -1.40 %0.467 0.533 M-W L 8 73.35 34.57 -0.63 %0.533 0.467 M-W L 9 76.50 29.49 0.14 %0.600 0.400 M-W L 10 79.65 24.41 0.91 %0.667 0.333 M-W L 11 82.80 19.33 1.68 %0.733 0.267 M-W L 12 85.95 14.25 2.45 %0.800 0.200 M-W L 13 89.11 9.17 3.22 %0.867 0.133 M-W L 14 92.26 4.09 3.99 %0.933 0.067 M-W L 15 95.41 -0.99 4.76 %1.000 0.000 M-W L 0 90.37 -11.15 96.17 %0.000 1.000 Y-W L cmy0* setcmykcolor 32 1 90.71 -10.47 90.08 %0.067 0.933 Y-W L 2 91.04 -9.80 83.98 %0.133 0.867 Y-W L 3 91.38 -9.12 77.89 %0.200 0.800 Y-W L 4 91.71 -8.44 71.79 %0.267 0.733 Y-W L 5 92.05 -7.76 65.70 %0.333 0.667 Y-W L 6 92.39 -7.09 59.61 %0.400 0.600 Y-W L 7 92.72 -6.41 53.51 %0.467 0.533 Y-W L 8 93.06 -5.73 47.42 %0.533 0.467 Y-W L 9 93.39 -5.05 41.32 %0.600 0.400 Y-W L 10 93.73 -4.38 35.23 %0.667 0.333 Y-W L 11 94.07 -3.70 29.14 %0.733 0.267 Y-W L 12 94.40 -3.02 23.04 %0.800 0.200 Y-W L 13 94.74 -2.34 16.95 %0.867 0.133 Y-W L 14 95.07 -1.67 10.85 %0.933 0.067 Y-W L 15 95.41 -0.99 4.76 %1.000 0.000 Y-W L 0 18.01 0.50 -0.46 %0.000 1.000 N-W L 000n* setcmykcolor 48 1 23.17 0.40 -0.11 %0.067 0.933 N-W L 2 28.33 0.30 0.24 %0.133 0.867 N-W L 3 33.49 0.20 0.58 %0.200 0.800 N-W L 4 38.65 0.10 0.93 %0.267 0.733 N-W L 5 43.81 0.00 1.28 %0.333 0.667 N-W L 6 48.97 -0.10 1.63 %0.400 0.600 N-W L 7 54.13 -0.20 1.98 %0.467 0.533 N-W L 8 59.29 -0.29 2.32 %0.533 0.467 N-W L 9 64.45 -0.39 2.67 %0.600 0.400 N-W L 10 69.61 -0.49 3.02 %0.667 0.333 N-W L 11 74.77 -0.59 3.37 %0.733 0.267 N-W L 12 79.93 -0.69 3.72 %0.800 0.200 N-W L 13 85.09 -0.79 4.06 %0.867 0.133 N-W L 14 90.25 -0.89 4.41 %0.933 0.067 N-W L 15 95.41 -0.99 4.76 %1.000 0.000 N-W L 0 47.94 65.31 52.07 %0.000 1.000 O-W L cmy0* setcmykcolor 64 1 51.10 60.89 48.92 %0.067 0.933 O-W L 2 54.27 56.47 45.76 %0.133 0.867 O-W L 3 57.43 52.05 42.61 %0.200 0.800 O-W L 4 60.60 47.63 39.45 %0.267 0.733 O-W L 5 63.76 43.21 36.30 %0.333 0.667 O-W L 6 66.93 38.79 33.15 %0.400 0.600 O-W L 7 70.09 34.37 29.99 %0.467 0.533 O-W L 8 73.26 29.95 26.84 %0.533 0.467 O-W L 9 76.42 25.53 23.68 %0.600 0.400 O-W L 10 79.59 21.11 20.53 %0.667 0.333 O-W L 11 82.75 16.69 17.38 %0.733 0.267 O-W L 12 85.92 12.27 14.22 %0.800 0.200 O-W L 13 89.08 7.85 11.07 %0.867 0.133 O-W L 14 92.25 3.43 7.91 %0.933 0.067 O-W L 15 95.41 -0.99 4.76 %1.000 0.000 O-W L 0 50.90 -62.96 36.71 %0.000 1.000 L-W L cmy0* setcmykcolor 80 1 53.87 -58.83 34.58 %0.067 0.933 L-W L 2 56.83 -54.70 32.45 %0.133 0.867 L-W L 3 59.80 -50.57 30.32 %0.200 0.800 L-W L 4 62.77 -46.43 28.19 %0.267 0.733 L-W L 5 65.74 -42.30 26.06 %0.333 0.667 L-W L 6 68.70 -38.17 23.93 %0.400 0.600 L-W L 7 71.67 -34.04 21.80 %0.467 0.533 L-W L 8 74.64 -29.91 19.67 %0.533 0.467 L-W L 9 77.61 -25.78 17.54 %0.600 0.400 L-W L 10 80.57 -21.65 15.41 %0.667 0.333 L-W L 11 83.54 -17.52 13.28 %0.733 0.267 L-W L 12 86.51 -13.38 11.15 %0.800 0.200 L-W L 13 89.48 -9.25 9.02 %0.867 0.133 L-W L 14 92.44 -5.12 6.89 %0.933 0.067 L-W L 15 95.41 -0.99 4.76 %1.000 0.000 L-W L 0 25.72 31.45 -44.35 %0.000 1.000 V-W L cmy0* setcmykcolor 96 1 30.37 29.29 -41.08 %0.067 0.933 V-W L 2 35.01 27.12 -37.80 %0.133 0.867 V-W L 3 39.66 24.96 -34.53 %0.200 0.800 V-W L 4 44.30 22.80 -31.25 %0.267 0.733 V-W L 5 48.95 20.64 -27.98 %0.333 0.667 V-W L 6 53.60 18.47 -24.71 %0.400 0.600 V-W L 7 58.24 16.31 -21.43 %0.467 0.533 V-W L 8 62.89 14.15 -18.16 %0.533 0.467 V-W L 9 67.53 11.99 -14.88 %0.600 0.400 V-W L 10 72.18 9.82 -11.61 %0.667 0.333 V-W L 11 76.83 7.66 -8.34 %0.733 0.267 V-W L 12 81.47 5.50 -5.06 %0.800 0.200 V-W L 13 86.12 3.34 -1.79 %0.867 0.133 V-W L 14 90.76 1.17 1.49 %0.933 0.067 V-W L 15 95.41 -0.99 4.76 %1.000 0.000 V-W L 0 18.01 0.50 -0.46 %0.000 1.000 A-W L nnn0* setcmykcolor 112 1 23.17 0.40 -0.11 %0.067 0.933 A-W L 2 28.33 0.30 0.24 %0.133 0.867 A-W L 3 33.49 0.20 0.58 %0.200 0.800 A-W L 4 38.65 0.10 0.93 %0.267 0.733 A-W L 5 43.81 0.00 1.28 %0.333 0.667 A-W L 6 48.97 -0.10 1.63 %0.400 0.600 A-W L 7 54.13 -0.20 1.98 %0.467 0.533 A-W L 8 59.29 -0.29 2.32 %0.533 0.467 A-W L 9 64.45 -0.39 2.67 %0.600 0.400 A-W L 10 69.61 -0.49 3.02 %0.667 0.333 A-W L 11 74.77 -0.59 3.37 %0.733 0.267 A-W L 12 79.93 -0.69 3.72 %0.800 0.200 A-W L 13 85.09 -0.79 4.06 %0.867 0.133 A-W L 14 90.25 -0.89 4.41 %0.933 0.067 A-W L 15 95.41 -0.99 4.76 %1.000 0.000 A-W L %no. CIELAB D65 rc 0.00% w* n* col L L10001FA.DAT CMYOLV.FOR 0 58.62 -30.62 -42.74 %0.000 1.000 C-W L olv* setrgbcolor 128 1 61.07 -28.64 -39.57 %0.067 0.933 C-W L 2 63.53 -26.67 -36.41 %0.133 0.867 C-W L 3 65.98 -24.69 -33.24 %0.200 0.800 C-W L 4 68.43 -22.72 -30.07 %0.267 0.733 C-W L 5 70.88 -20.74 -26.91 %0.333 0.667 C-W L 6 73.34 -18.77 -23.74 %0.400 0.600 C-W L 7 75.79 -16.79 -20.57 %0.467 0.533 C-W L 8 78.24 -14.82 -17.41 %0.533 0.467 C-W L 9 80.69 -12.84 -14.24 %0.600 0.400 C-W L 10 83.15 -10.87 -11.07 %0.667 0.333 C-W L 11 85.60 -8.89 -7.91 %0.733 0.267 C-W L 12 88.05 -6.92 -4.74 %0.800 0.200 C-W L 13 90.50 -4.94 -1.57 %0.867 0.133 C-W L 14 92.96 -2.97 1.59 %0.933 0.067 C-W L 15 95.41 -0.99 4.76 %1.000 0.000 C-W L 0 48.13 75.20 -6.79 %0.000 1.000 M-W L olv* setrgbcolor 144 1 51.28 70.12 -6.02 %0.067 0.933 M-W L 2 54.43 65.04 -5.25 %0.133 0.867 M-W L 3 57.59 59.96 -4.48 %0.200 0.800 M-W L 4 60.74 54.88 -3.71 %0.267 0.733 M-W L 5 63.89 49.80 -2.94 %0.333 0.667 M-W L 6 67.04 44.72 -2.17 %0.400 0.600 M-W L 7 70.19 39.64 -1.40 %0.467 0.533 M-W L 8 73.35 34.57 -0.63 %0.533 0.467 M-W L 9 76.50 29.49 0.14 %0.600 0.400 M-W L 10 79.65 24.41 0.91 %0.667 0.333 M-W L 11 82.80 19.33 1.68 %0.733 0.267 M-W L 12 85.95 14.25 2.45 %0.800 0.200 M-W L 13 89.11 9.17 3.22 %0.867 0.133 M-W L 14 92.26 4.09 3.99 %0.933 0.067 M-W L 15 95.41 -0.99 4.76 %1.000 0.000 M-W L 0 90.37 -11.15 96.17 %0.000 1.000 Y-W L olv* setrgbcolor 160 1 90.71 -10.47 90.08 %0.067 0.933 Y-W L 2 91.04 -9.80 83.98 %0.133 0.867 Y-W L 3 91.38 -9.12 77.89 %0.200 0.800 Y-W L 4 91.71 -8.44 71.79 %0.267 0.733 Y-W L 5 92.05 -7.76 65.70 %0.333 0.667 Y-W L 6 92.39 -7.09 59.61 %0.400 0.600 Y-W L 7 92.72 -6.41 53.51 %0.467 0.533 Y-W L 8 93.06 -5.73 47.42 %0.533 0.467 Y-W L 9 93.39 -5.05 41.32 %0.600 0.400 Y-W L 10 93.73 -4.38 35.23 %0.667 0.333 Y-W L 11 94.07 -3.70 29.14 %0.733 0.267 Y-W L 12 94.40 -3.02 23.04 %0.800 0.200 Y-W L 13 94.74 -2.34 16.95 %0.867 0.133 Y-W L 14 95.07 -1.67 10.85 %0.933 0.067 Y-W L 15 95.41 -0.99 4.76 %1.000 0.000 Y-W L 0 18.01 0.50 -0.46 %0.000 1.000 N-W L w* setgray 176 1 23.17 0.40 -0.11 %0.067 0.933 N-W L 2 28.33 0.30 0.24 %0.133 0.867 N-W L 3 33.49 0.20 0.58 %0.200 0.800 N-W L 4 38.65 0.10 0.93 %0.267 0.733 N-W L 5 43.81 0.00 1.28 %0.333 0.667 N-W L 6 48.97 -0.10 1.63 %0.400 0.600 N-W L 7 54.13 -0.20 1.98 %0.467 0.533 N-W L 8 59.29 -0.29 2.32 %0.533 0.467 N-W L 9 64.45 -0.39 2.67 %0.600 0.400 N-W L 10 69.61 -0.49 3.02 %0.667 0.333 N-W L 11 74.77 -0.59 3.37 %0.733 0.267 N-W L 12 79.93 -0.69 3.72 %0.800 0.200 N-W L 13 85.09 -0.79 4.06 %0.867 0.133 N-W L 14 90.25 -0.89 4.41 %0.933 0.067 N-W L 15 95.41 -0.99 4.76 %1.000 0.000 N-W L 0 47.94 65.31 52.07 %0.000 1.000 O-W L olv* setrgbcolor 194 1 51.10 60.89 48.92 %0.067 0.933 O-W L 2 54.27 56.47 45.76 %0.133 0.867 O-W L 3 57.43 52.05 42.61 %0.200 0.800 O-W L 4 60.60 47.63 39.45 %0.267 0.733 O-W L 5 63.76 43.21 36.30 %0.333 0.667 O-W L 6 66.93 38.79 33.15 %0.400 0.600 O-W L 7 70.09 34.37 29.99 %0.467 0.533 O-W L 8 73.26 29.95 26.84 %0.533 0.467 O-W L 9 76.42 25.53 23.68 %0.600 0.400 O-W L 10 79.59 21.11 20.53 %0.667 0.333 O-W L 11 82.75 16.69 17.38 %0.733 0.267 O-W L 12 85.92 12.27 14.22 %0.800 0.200 O-W L 13 89.08 7.85 11.07 %0.867 0.133 O-W L 14 92.25 3.43 7.91 %0.933 0.067 O-W L 15 95.41 -0.99 4.76 %1.000 0.000 O-W L 0 50.90 -62.96 36.71 %0.000 1.000 L-W L olv* setrgbcolor 210 1 53.87 -58.83 34.58 %0.067 0.933 L-W L 2 56.83 -54.70 32.45 %0.133 0.867 L-W L 3 59.80 -50.57 30.32 %0.200 0.800 L-W L 4 62.77 -46.43 28.19 %0.267 0.733 L-W L 5 65.74 -42.30 26.06 %0.333 0.667 L-W L 6 68.70 -38.17 23.93 %0.400 0.600 L-W L 7 71.67 -34.04 21.80 %0.467 0.533 L-W L 8 74.64 -29.91 19.67 %0.533 0.467 L-W L 9 77.61 -25.78 17.54 %0.600 0.400 L-W L 10 80.57 -21.65 15.41 %0.667 0.333 L-W L 11 83.54 -17.52 13.28 %0.733 0.267 L-W L 12 86.51 -13.38 11.15 %0.800 0.200 L-W L 13 89.48 -9.25 9.02 %0.867 0.133 L-W L 14 92.44 -5.12 6.89 %0.933 0.067 L-W L 15 95.41 -0.99 4.76 %1.000 0.000 L-W L 0 25.72 31.45 -44.35 %0.000 1.000 V-W L olv* setrgbcolor 226 1 30.37 29.29 -41.08 %0.067 0.933 V-W L 2 35.01 27.12 -37.80 %0.133 0.867 V-W L 3 39.66 24.96 -34.53 %0.200 0.800 V-W L 4 44.30 22.80 -31.25 %0.267 0.733 V-W L 5 48.95 20.64 -27.98 %0.333 0.667 V-W L 6 53.60 18.47 -24.71 %0.400 0.600 V-W L 7 58.24 16.31 -21.43 %0.467 0.533 V-W L 8 62.89 14.15 -18.16 %0.533 0.467 V-W L 9 67.53 11.99 -14.88 %0.600 0.400 V-W L 10 72.18 9.82 -11.61 %0.667 0.333 V-W L 11 76.83 7.66 -8.34 %0.733 0.267 V-W L 12 81.47 5.50 -5.06 %0.800 0.200 V-W L 13 86.12 3.34 -1.79 %0.867 0.133 V-W L 14 90.76 1.17 1.49 %0.933 0.067 V-W L 15 95.41 -0.99 4.76 %1.000 0.000 V-W L 0 18.01 0.50 -0.46 %0.000 1.000 A-W L nnn* setrgbcolor 242 1 23.17 0.40 -0.11 %0.067 0.933 A-W L 2 28.33 0.30 0.24 %0.133 0.867 A-W L 3 33.49 0.20 0.58 %0.200 0.800 A-W L 4 38.65 0.10 0.93 %0.267 0.733 A-W L 5 43.81 0.00 1.28 %0.333 0.667 A-W L 6 48.97 -0.10 1.63 %0.400 0.600 A-W L 7 54.13 -0.20 1.98 %0.467 0.533 A-W L 8 59.29 -0.29 2.32 %0.533 0.467 A-W L 9 64.45 -0.39 2.67 %0.600 0.400 A-W L 10 69.61 -0.49 3.02 %0.667 0.333 A-W L 11 74.77 -0.59 3.37 %0.733 0.267 A-W L 12 79.93 -0.69 3.72 %0.800 0.200 A-W L 13 85.09 -0.79 4.06 %0.867 0.133 A-W L 14 90.25 -0.89 4.41 %0.933 0.067 A-W L 15 95.41 -0.99 4.76 %1.000 0.000 A-W L % 0 0.00 0.00 0.00 %0.000 X-W Dummy for visual estimation % 1 6.67 0.00 0.00 %0.067 X-W % 2 13.33 0.00 0.00 %0.133 X-W % 3 20.00 0.00 0.00 %0.200 X-W % 4 26.67 0.00 0.00 %0.267 X-W % 5 33.33 0.00 0.00 %0.333 X-W % 6 40.00 0.00 0.00 %0.400 X-W % 7 46.67 0.00 0.00 %0.467 X-W % 8 53.33 0.00 0.00 %0.533 X-W % 9 60.00 0.00 0.00 %0.600 X-W % 10 66.67 0.00 0.00 %0.667 X-W % 11 73.33 0.00 0.00 %0.733 X-W % 12 80.00 0.00 0.00 %0.800 X-W % 13 86.67 0.00 0.00 %0.867 X-W % 14 93.33 0.00 0.00 %0.933 X-W % 15 99.99 0.00 0.00 %1.000 X-W ] def %END DM00/CMISO_S1gLAB.DAT Output Linearization (OL), GLOBAL (G), 20011201 %BEG DM00/CMISO_S1gXYZ.DAT Output Linearization (OL), GLOBAL (G), 20011201 /MISO_S1gXYZ 1024 array def /CFilenameS1 %Start output Step S1 (www.ps.bam.de/MG47/10L/L47G00FA.PS) def %This file name /CDeviceS1 (Device: (Y); ) def %Device name and file measured /CMeasS1 (Meas.: MG47/10L/L47G00NA.PS;S1) def %File name measured in step S1 /CDateS1 (Date: M010401) def %Date of calculation/measurement /MISO_S1gXYZ [%real XYZ measurement of output to be included %no. CIEXYZ D65 rc 0.00% w* n* col L L10011FA.DAT CMYOLV.FOR 0 18.74 26.62 68.54 %0.000 1.000 C-W L cmy0* setcmykcolor 0 1 21.27 29.33 69.82 %0.067 0.933 C-W L 2 24.02 32.22 71.12 %0.133 0.867 C-W L 3 26.99 35.30 72.43 %0.200 0.800 C-W L 4 30.21 38.56 73.76 %0.267 0.733 C-W L 5 33.66 42.02 75.11 %0.333 0.667 C-W L 6 37.37 45.68 76.47 %0.400 0.600 C-W L 7 41.35 49.54 77.85 %0.467 0.533 C-W L 8 45.59 53.62 79.24 %0.533 0.467 C-W L 9 50.12 57.92 80.66 %0.600 0.400 C-W L 10 54.94 62.44 82.09 %0.667 0.333 C-W L 11 60.05 67.19 83.53 %0.733 0.267 C-W L 12 65.48 72.17 84.99 %0.800 0.200 C-W L 13 71.22 77.40 86.47 %0.867 0.133 C-W L 14 77.28 82.87 87.97 %0.933 0.067 C-W L 15 83.69 88.59 89.48 %1.000 0.000 C-W L 0 33.06 16.90 22.00 %0.000 1.000 M-W L cmy0* setcmykcolor 16 1 35.52 19.51 24.73 %0.067 0.933 M-W L 2 38.09 22.39 27.68 %0.133 0.867 M-W L 3 40.79 25.53 30.85 %0.200 0.800 M-W L 4 43.61 28.95 34.25 %0.267 0.733 M-W L 5 46.56 32.67 37.90 %0.333 0.667 M-W L 6 49.64 36.69 41.80 %0.400 0.600 M-W L 7 52.86 41.03 45.95 %0.467 0.533 M-W L 8 56.21 45.69 50.37 %0.533 0.467 M-W L 9 59.69 50.70 55.07 %0.600 0.400 M-W L 10 63.32 56.06 60.05 %0.667 0.333 M-W L 11 67.10 61.79 65.32 %0.733 0.267 M-W L 12 71.02 67.90 70.89 %0.800 0.200 M-W L 13 75.09 74.39 76.77 %0.867 0.133 M-W L 14 79.31 81.28 82.96 %0.933 0.067 M-W L 15 83.69 88.59 89.48 %1.000 0.000 M-W L 0 68.07 77.11 9.03 %0.000 1.000 Y-W L cmy0* setcmykcolor 32 1 69.05 77.84 11.27 %0.067 0.933 Y-W L 2 70.03 78.58 13.85 %0.133 0.867 Y-W L 3 71.02 79.32 16.79 %0.200 0.800 Y-W L 4 72.03 80.06 20.12 %0.267 0.733 Y-W L 5 73.04 80.82 23.87 %0.333 0.667 Y-W L 6 74.06 81.57 28.06 %0.400 0.600 Y-W L 7 75.09 82.33 32.71 %0.467 0.533 Y-W L 8 76.13 83.10 37.85 %0.533 0.467 Y-W L 9 77.18 83.87 43.49 %0.600 0.400 Y-W L 10 78.24 84.65 49.68 %0.667 0.333 Y-W L 11 79.31 85.43 56.42 %0.733 0.267 Y-W L 12 80.39 86.21 63.75 %0.800 0.200 Y-W L 13 81.48 87.00 71.69 %0.867 0.133 Y-W L 14 82.58 87.79 80.26 %0.933 0.067 Y-W L 15 83.69 88.59 89.48 %1.000 0.000 Y-W L 0 2.42 2.52 2.81 %0.000 1.000 N-W L 000n* setcmykcolor 48 1 3.69 3.85 4.21 %0.067 0.933 N-W L 2 5.33 5.58 6.02 %0.133 0.867 N-W L 3 7.40 7.77 8.28 %0.200 0.800 N-W L 4 9.95 10.46 11.05 %0.267 0.733 N-W L 5 13.03 13.71 14.38 %0.333 0.667 N-W L 6 16.68 17.57 18.31 %0.400 0.600 N-W L 7 20.96 22.10 22.90 %0.467 0.533 N-W L 8 25.92 27.34 28.21 %0.533 0.467 N-W L 9 31.60 33.36 34.27 %0.600 0.400 N-W L 10 38.05 40.20 41.14 %0.667 0.333 N-W L 11 45.33 47.91 48.88 %0.733 0.267 N-W L 12 53.49 56.56 57.53 %0.800 0.200 N-W L 13 62.57 66.18 67.15 %0.867 0.133 N-W L 14 72.62 76.84 77.78 %0.933 0.067 N-W L 15 83.69 88.59 89.48 %1.000 0.000 N-W L 0 30.13 16.75 2.68 %0.000 1.000 O-W L cmy0* setcmykcolor 64 1 32.64 19.36 4.05 %0.067 0.933 O-W L 2 35.29 22.23 5.83 %0.133 0.867 O-W L 3 38.07 25.37 8.07 %0.200 0.800 O-W L 4 41.00 28.79 10.81 %0.267 0.733 O-W L 5 44.08 32.51 14.12 %0.333 0.667 O-W L 6 47.31 36.54 18.04 %0.400 0.600 O-W L 7 50.69 40.88 22.62 %0.467 0.533 O-W L 8 54.22 45.56 27.92 %0.533 0.467 O-W L 9 57.92 50.58 33.99 %0.600 0.400 O-W L 10 61.78 55.95 40.88 %0.667 0.333 O-W L 11 65.81 61.70 48.64 %0.733 0.267 O-W L 12 70.02 67.82 57.33 %0.800 0.200 O-W L 13 74.39 74.34 67.00 %0.867 0.133 O-W L 14 78.95 81.26 77.70 %0.933 0.067 O-W L 15 83.69 88.59 89.48 %1.000 0.000 O-W L 0 8.71 19.18 6.62 %0.000 1.000 L-W L cmy0* setcmykcolor 80 1 10.82 21.85 8.62 %0.067 0.933 L-W L 2 13.25 24.75 10.99 %0.133 0.867 L-W L 3 16.02 27.90 13.77 %0.200 0.800 L-W L 4 19.14 31.31 16.97 %0.267 0.733 L-W L 5 22.66 34.98 20.63 %0.333 0.667 L-W L 6 26.57 38.93 24.79 %0.400 0.600 L-W L 7 30.91 43.17 29.47 %0.467 0.533 L-W L 8 35.71 47.71 34.70 %0.533 0.467 L-W L 9 40.97 52.55 40.52 %0.600 0.400 L-W L 10 46.73 57.70 46.96 %0.667 0.333 L-W L 11 53.00 63.19 54.04 %0.733 0.267 L-W L 12 59.81 69.01 61.81 %0.800 0.200 L-W L 13 67.18 75.18 70.28 %0.867 0.133 L-W L 14 75.13 81.70 79.49 %0.933 0.067 L-W L 15 83.69 88.59 89.48 %1.000 0.000 L-W L 0 7.17 4.65 21.40 %0.000 1.000 V-W L cmy0* setcmykcolor 96 1 9.15 6.39 24.13 %0.067 0.933 V-W L 2 11.46 8.50 27.07 %0.133 0.867 V-W L 3 14.13 11.05 30.25 %0.200 0.800 V-W L 4 17.19 14.05 33.66 %0.267 0.733 V-W L 5 20.65 17.55 37.32 %0.333 0.667 V-W L 6 24.56 21.60 41.24 %0.400 0.600 V-W L 7 28.93 26.22 45.43 %0.467 0.533 V-W L 8 33.79 31.45 49.88 %0.533 0.467 V-W L 9 39.16 37.34 54.62 %0.600 0.400 V-W L 10 45.07 43.93 59.65 %0.667 0.333 V-W L 11 51.56 51.24 64.99 %0.733 0.267 V-W L 12 58.64 59.33 70.62 %0.800 0.200 V-W L 13 66.33 68.22 76.58 %0.867 0.133 V-W L 14 74.67 77.97 82.86 %0.933 0.067 V-W L 15 83.69 88.59 89.48 %1.000 0.000 V-W L 0 2.42 2.52 2.81 %0.000 1.000 A-W L nnn0* setcmykcolor 112 1 3.69 3.85 4.21 %0.067 0.933 A-W L 2 5.33 5.58 6.02 %0.133 0.867 A-W L 3 7.40 7.77 8.28 %0.200 0.800 A-W L 4 9.95 10.46 11.05 %0.267 0.733 A-W L 5 13.03 13.71 14.38 %0.333 0.667 A-W L 6 16.68 17.57 18.31 %0.400 0.600 A-W L 7 20.96 22.10 22.90 %0.467 0.533 A-W L 8 25.92 27.34 28.21 %0.533 0.467 A-W L 9 31.60 33.36 34.27 %0.600 0.400 A-W L 10 38.05 40.20 41.14 %0.667 0.333 A-W L 11 45.33 47.91 48.88 %0.733 0.267 A-W L 12 53.49 56.56 57.53 %0.800 0.200 A-W L 13 62.57 66.18 67.15 %0.867 0.133 A-W L 14 72.62 76.84 77.78 %0.933 0.067 A-W L 15 83.69 88.59 89.48 %1.000 0.000 A-W L %no. CIEXYZ D65 rc 0.00% w* n* col L L10011FA.DAT CMYOLV.FOR 0 18.74 26.62 68.54 %0.000 1.000 C-W L olv* setrgbcolor 128 1 21.27 29.33 69.82 %0.067 0.933 C-W L 2 24.02 32.22 71.12 %0.133 0.867 C-W L 3 26.99 35.30 72.43 %0.200 0.800 C-W L 4 30.21 38.56 73.76 %0.267 0.733 C-W L 5 33.66 42.02 75.11 %0.333 0.667 C-W L 6 37.37 45.68 76.47 %0.400 0.600 C-W L 7 41.35 49.54 77.85 %0.467 0.533 C-W L 8 45.59 53.62 79.24 %0.533 0.467 C-W L 9 50.12 57.92 80.66 %0.600 0.400 C-W L 10 54.94 62.44 82.09 %0.667 0.333 C-W L 11 60.05 67.19 83.53 %0.733 0.267 C-W L 12 65.48 72.17 84.99 %0.800 0.200 C-W L 13 71.22 77.40 86.47 %0.867 0.133 C-W L 14 77.28 82.87 87.97 %0.933 0.067 C-W L 15 83.69 88.59 89.48 %1.000 0.000 C-W L 0 33.06 16.90 22.00 %0.000 1.000 M-W L olv* setrgbcolor 144 1 35.52 19.51 24.73 %0.067 0.933 M-W L 2 38.09 22.39 27.68 %0.133 0.867 M-W L 3 40.79 25.53 30.85 %0.200 0.800 M-W L 4 43.61 28.95 34.25 %0.267 0.733 M-W L 5 46.56 32.67 37.90 %0.333 0.667 M-W L 6 49.64 36.69 41.80 %0.400 0.600 M-W L 7 52.86 41.03 45.95 %0.467 0.533 M-W L 8 56.21 45.69 50.37 %0.533 0.467 M-W L 9 59.69 50.70 55.07 %0.600 0.400 M-W L 10 63.32 56.06 60.05 %0.667 0.333 M-W L 11 67.10 61.79 65.32 %0.733 0.267 M-W L 12 71.02 67.90 70.89 %0.800 0.200 M-W L 13 75.09 74.39 76.77 %0.867 0.133 M-W L 14 79.31 81.28 82.96 %0.933 0.067 M-W L 15 83.69 88.59 89.48 %1.000 0.000 M-W L 0 68.07 77.11 9.03 %0.000 1.000 Y-W L olv* setrgbcolor 160 1 69.05 77.84 11.27 %0.067 0.933 Y-W L 2 70.03 78.58 13.85 %0.133 0.867 Y-W L 3 71.02 79.32 16.79 %0.200 0.800 Y-W L 4 72.03 80.06 20.12 %0.267 0.733 Y-W L 5 73.04 80.82 23.87 %0.333 0.667 Y-W L 6 74.06 81.57 28.06 %0.400 0.600 Y-W L 7 75.09 82.33 32.71 %0.467 0.533 Y-W L 8 76.13 83.10 37.85 %0.533 0.467 Y-W L 9 77.18 83.87 43.49 %0.600 0.400 Y-W L 10 78.24 84.65 49.68 %0.667 0.333 Y-W L 11 79.31 85.43 56.42 %0.733 0.267 Y-W L 12 80.39 86.21 63.75 %0.800 0.200 Y-W L 13 81.48 87.00 71.69 %0.867 0.133 Y-W L 14 82.58 87.79 80.26 %0.933 0.067 Y-W L 15 83.69 88.59 89.48 %1.000 0.000 Y-W L 0 2.42 2.52 2.81 %0.000 1.000 N-W L w* setgray 176 1 3.69 3.85 4.21 %0.067 0.933 N-W L 2 5.33 5.58 6.02 %0.133 0.867 N-W L 3 7.40 7.77 8.28 %0.200 0.800 N-W L 4 9.95 10.46 11.05 %0.267 0.733 N-W L 5 13.03 13.71 14.38 %0.333 0.667 N-W L 6 16.68 17.57 18.31 %0.400 0.600 N-W L 7 20.96 22.10 22.90 %0.467 0.533 N-W L 8 25.92 27.34 28.21 %0.533 0.467 N-W L 9 31.60 33.36 34.27 %0.600 0.400 N-W L 10 38.05 40.20 41.14 %0.667 0.333 N-W L 11 45.33 47.91 48.88 %0.733 0.267 N-W L 12 53.49 56.56 57.53 %0.800 0.200 N-W L 13 62.57 66.18 67.15 %0.867 0.133 N-W L 14 72.62 76.84 77.78 %0.933 0.067 N-W L 15 83.69 88.59 89.48 %1.000 0.000 N-W L 0 30.13 16.75 2.68 %0.000 1.000 O-W L olv* setrgbcolor 194 1 32.64 19.36 4.05 %0.067 0.933 O-W L 2 35.29 22.23 5.83 %0.133 0.867 O-W L 3 38.07 25.37 8.07 %0.200 0.800 O-W L 4 41.00 28.79 10.81 %0.267 0.733 O-W L 5 44.08 32.51 14.12 %0.333 0.667 O-W L 6 47.31 36.54 18.04 %0.400 0.600 O-W L 7 50.69 40.88 22.62 %0.467 0.533 O-W L 8 54.22 45.56 27.92 %0.533 0.467 O-W L 9 57.92 50.58 33.99 %0.600 0.400 O-W L 10 61.78 55.95 40.88 %0.667 0.333 O-W L 11 65.81 61.70 48.64 %0.733 0.267 O-W L 12 70.02 67.82 57.33 %0.800 0.200 O-W L 13 74.39 74.34 67.00 %0.867 0.133 O-W L 14 78.95 81.26 77.70 %0.933 0.067 O-W L 15 83.69 88.59 89.48 %1.000 0.000 O-W L 0 8.71 19.18 6.62 %0.000 1.000 L-W L olv* setrgbcolor 210 1 10.82 21.85 8.62 %0.067 0.933 L-W L 2 13.25 24.75 10.99 %0.133 0.867 L-W L 3 16.02 27.90 13.77 %0.200 0.800 L-W L 4 19.14 31.31 16.97 %0.267 0.733 L-W L 5 22.66 34.98 20.63 %0.333 0.667 L-W L 6 26.57 38.93 24.79 %0.400 0.600 L-W L 7 30.91 43.17 29.47 %0.467 0.533 L-W L 8 35.71 47.71 34.70 %0.533 0.467 L-W L 9 40.97 52.55 40.52 %0.600 0.400 L-W L 10 46.73 57.70 46.96 %0.667 0.333 L-W L 11 53.00 63.19 54.04 %0.733 0.267 L-W L 12 59.81 69.01 61.81 %0.800 0.200 L-W L 13 67.18 75.18 70.28 %0.867 0.133 L-W L 14 75.13 81.70 79.49 %0.933 0.067 L-W L 15 83.69 88.59 89.48 %1.000 0.000 L-W L 0 7.17 4.65 21.40 %0.000 1.000 V-W L olv* setrgbcolor 226 1 9.15 6.39 24.13 %0.067 0.933 V-W L 2 11.46 8.50 27.07 %0.133 0.867 V-W L 3 14.13 11.05 30.25 %0.200 0.800 V-W L 4 17.19 14.05 33.66 %0.267 0.733 V-W L 5 20.65 17.55 37.32 %0.333 0.667 V-W L 6 24.56 21.60 41.24 %0.400 0.600 V-W L 7 28.93 26.22 45.43 %0.467 0.533 V-W L 8 33.79 31.45 49.88 %0.533 0.467 V-W L 9 39.16 37.34 54.62 %0.600 0.400 V-W L 10 45.07 43.93 59.65 %0.667 0.333 V-W L 11 51.56 51.24 64.99 %0.733 0.267 V-W L 12 58.64 59.33 70.62 %0.800 0.200 V-W L 13 66.33 68.22 76.58 %0.867 0.133 V-W L 14 74.67 77.97 82.86 %0.933 0.067 V-W L 15 83.69 88.59 89.48 %1.000 0.000 V-W L 0 2.42 2.52 2.81 %0.000 1.000 A-W L nnn* setrgbcolor 242 1 3.69 3.85 4.21 %0.067 0.933 A-W L 2 5.33 5.58 6.02 %0.133 0.867 A-W L 3 7.40 7.77 8.28 %0.200 0.800 A-W L 4 9.95 10.46 11.05 %0.267 0.733 A-W L 5 13.03 13.71 14.38 %0.333 0.667 A-W L 6 16.68 17.57 18.31 %0.400 0.600 A-W L 7 20.96 22.10 22.90 %0.467 0.533 A-W L 8 25.92 27.34 28.21 %0.533 0.467 A-W L 9 31.60 33.36 34.27 %0.600 0.400 A-W L 10 38.05 40.20 41.14 %0.667 0.333 A-W L 11 45.33 47.91 48.88 %0.733 0.267 A-W L 12 53.49 56.56 57.53 %0.800 0.200 A-W L 13 62.57 66.18 67.15 %0.867 0.133 A-W L 14 72.62 76.84 77.78 %0.933 0.067 A-W L 15 83.69 88.59 89.48 %1.000 0.000 A-W L ] def %END DM00/CMISO_S1gXYZ.DAT Output Linearization (OL), GLOBAL (G), 20011201 %BEG DM00/CM_S1GCMYOS.DAT Output Linearization (OL), GLOBAL (G), 20010901 %CMYOLVNW4DL.PS 4dimensional series %INCLUDES STANDARD (S) relative series a: cmyn-w and b: olv(cmy)-w /tzaccmyo1g 64 array def /tzamcmyo1g 64 array def /tzaycmyo1g 64 array def /tzancmyo1g 64 array def /tzbocmyo1g 64 array def /tzblcmyo1g 64 array def /tzbvcmyo1g 64 array def /tzbncmyo1g 64 array def /tzaccmyo1g [ %Ccmyo1g01.dat 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 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.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 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 /tzamcmyo1g [ %Mcmyo1g01.dat 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 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 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 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 /tzaycmyo1g [ %Ycmyo1g01.dat 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.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 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 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 /tzancmyo1g [ %Ncmyo1g01.dat 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 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 0.000 0.000 0.000 0.000 0.000 0.000 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 ] def /tzbocmyo1g [ %Ocmyo1g01.dat 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 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 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.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 /tzblcmyo1g [ %Lcmyo1g01.dat 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 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 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 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 /tzbvcmyo1g [ %Vcmyo1g01.dat 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 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 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 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 /tzbncmyo1g [ %CMYcmyo1g01.dat 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.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.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 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 %END DM00/CM_S1GCMYOS.DAT Output Linearization (OL), GLOBAL (G), 20010901 %*************************************************************** %BEG MG47/10L/OUTLIN1YFA.PS Output Linearization, coordinate transfer 20050101 %*************************************************************** %line no. and name % 38 /proc_LAB*lig { % 39 %BEG /proc_LAB*lig (lig=linearisation global) % % 71 /proc_MTLiokig { % 136 %END /proc_MTLiokil % % 140 /proc_cmynx*_cmyn3*_olvi3*_cmyn4*_olvi4* { % 224 %END /proc_cmynx*_cmyn3*_olvi3*_cmyn4*_olvi4* % % 228 /proc_cmyn4*olvi3*_cmyn4'*olvi4'* { % 359 %END /proc_cmyn4*olvi3*_cmyn4'*olvi4'* % % 363 /proc_i*ptrsca_cmyn4'*_olvi3'*_i4'*_t3'*_draw { % 422 %END /proc_i*ptrsca_cmyn4'*_olvi3'*_i4'*_t3'*_draw % % 427 %BEG /proc_setcymkcolor % 444 %END /proc_setcymkcolor % % 449 %BEG /proc_setgray % 466 %END /proc_setgray % % 471 %BEG /proc_setrgbcolor % 495 %END /proc_setrgbcolor % % 500 %BEG /proc_setcolor % 521 %END /proc_setcolor % % 526 %END /proc_LAB*lig (lig=linearisation global) % %********************************************************************** /proc_LAB*lig { %BEG /proc_LAB*lig (lig=linearisation global) %BEG MG47/10L/L47E00FA.PS Linearization data in the File (F) for the device (Y) %File: www.ps.bam.de/MG47/10L/L47E00FP.PS %Output Linearization (OL) BY Linearization Method (LM) %CIELAB MEASUREMENT OF FIRST OUTPUT IS NECESSARY, e. g. File MISO_S1l.DAT % % 1. It is asumed that all Output Linearization (OL) data are % stored in this file MG47/10L/L47E00FP.PS for the device (Y). % 2. It is assumed that no Output Linearization (OL) data are % stored in the Distiller Startup (S) directory % for the device (Y) % 3. It is assumed that no Output Linearization (OL) data are % stored in the PostScript Device (D) memory of the device (Y) %possible Action: Delete the part %BEG MG47/OUTLIN11.PS ... until ...%END MG47:OUTLIN11.PS %of this file MG47/10L/L47E00FP.PS for the device (Y) %Result of this action: %Then in the file MG47/10L/L47E00FP.PS there are no Output Linearization (OL) data. %The PS output will be the same compared to the file %which includes no (N) Output Linearization (OL) data %Remark: % It is assumed that no Output Linearization (OL) data are % stored in the Distiller Startup (S) directory % or the PostScript Device (D) memory % for the device (Y) %****************************************************************** /proc_MTLiokig { %BEG proc_MTLiokig /MTLcmyolvL 256 array def 0 1 15 {/i exch def %i=0,15 /i000 i 16 mul def /i015 i000 15 add def /i400 i000 4 mul def /i415 i015 4 mul def /A215 MISO_S1g i415 get MISO_S1g i400 get sub dup mul def /B215 MISO_S1g i415 1 add get MISO_S1g i400 1 add get sub dup mul def /C215 MISO_S1g i415 2 add get MISO_S1g i400 2 add get sub dup mul def /R215 A215 B215 add C215 add 0.000001 add sqrt def 0 1 15 {/j exch def %j=0,15 /i00j i000 j add def /i40j i00j 4 mul def /A20j MISO_S1g i40j get MISO_S1g i400 get sub dup mul def /B20j MISO_S1g i40j 1 add get MISO_S1g i400 1 add get sub dup mul def /C20j MISO_S1g i40j 2 add get MISO_S1g i400 2 add get sub dup mul def /R20j A20j B20j add C20j add 0.000001 add sqrt def MTLcmyolvL i00j R20j R215 div put } for %j=0,15 } for %i=0,15 /MTLinparrg 16 array def %linear standard relative input data /MTLinparrg [0.000 0.067 0.133 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] def /MTLoutarn 16 array def %relative output data /MTLmodcolorkig 1616 array def %16x101 data 0 1 15 {/MTLk exch def %k=0,15 0 1 15 {/MTLi exch def /MTLik MTLk 16 mul MTLi add def MTLoutarn MTLi MTLcmyolvL MTLik get put } for /MTLmodcolor 0 def /MTLominval 0 def /MTLomaxval 1 def /MTLiminval 0 def /MTLimaxval 1 def 0 1 100 {/MTLj exch def %i=0,100 /MTLkj MTLk 101 mul MTLj add def /MTLcolor MTLj 0.01 mul def % search the MTLoutarr using a for loop 1 1 15 {/MTLi exch def /MTLprevindex MTLi 1 sub def MTLcolor MTLoutarn MTLi get lt MTLcolor MTLoutarn MTLprevindex get ge and { /MTLomaxval MTLoutarn MTLi get def /MTLimaxval MTLinparrg MTLi get def /MTLominval MTLoutarn MTLprevindex get def /MTLiminval MTLinparrg MTLprevindex get def exit } if } for % Use a linear interpolation /MTLmodcolor MTLcolor MTLominval sub MTLomaxval MTLominval sub div MTLimaxval MTLiminval sub mul MTLiminval add def MTLmodcolorkig MTLkj MTLmodcolor put } for %MTLi=0,100 } for %MTLk=0,15 } bind def %END /proc_MTLiokil %*************************************************************** /proc_cmynx*_cmyn3*_olvi3*_cmyn4*_olvi4* { %BEG proc_cmynx*_cmyn3*_olvi3*_cmyn4*_olvi4* /rcmyx*Fa cx*Fa dup mul mx*Fa dup mul add yx*Fa dup mul add sqrt def %if input of normal case without overprint colour of n* nx*Fa 0.01 le rcmyx*Fa 0.01 gt and {%now cmy0* setcmykcolor normal case /icase 1 def /c3*Fa cx*Fa def /m3*Fa mx*Fa def /y3*Fa yx*Fa def /n3*Fa 0.00 def /o3*Fa 1 c3*Fa sub def /l3*Fa 1 m3*Fa sub def /v3*Fa 1 y3*Fa sub def /i3*Fa 1 n3*Fa sub def /o3* o3*Fa def /l3* l3*Fa def /v3* v3*Fa def proc_olvi3*_nwidct*_olvi4*cmyn4*_abpe3*_isect /c4*Fa c4* def /m4*Fa m4* def /y4*Fa y4* def /n4*Fa n4* def /o4*Fa o4* def /l4*Fa l4* def /v4*Fa v4* def /i4*Fa i4* def } if %if input white nx*Fa 0.01 le rcmyx*Fa 0.01 le and {%now 0000* setcmykcolor /icase 2 def /c3*Fa 0.00 def /m3*Fa 0.00 def /y3*Fa 0.00 def /n3*Fa 0.00 def /c4*Fa 0.00 def /m4*Fa 0.00 def /y4*Fa 0.00 def /n4*Fa 0.00 def /o3*Fa 1.00 def /l3*Fa 1.00 def /v3*Fa 1.00 def /i3*Fa 1.00 def /o4*Fa 1.00 def /l4*Fa 1.00 def /v4*Fa 1.00 def /i4*Fa 1.00 def /isect 7 def } if %if input all achromatic colours exept black N nx*Fa 0.01 gt rcmyx*Fa 0.01 le and {/icase 3 def /c3*Fa nx*Fa def /m3*Fa nx*Fa def /y3*Fa nx*Fa def /n3*Fa 0.00 def /c4*Fa 0.00 def /m4*Fa 0.00 def /y4*Fa 0.00 def /n4*Fa nx*Fa def /o3*Fa 1 c3*Fa sub def /l3*Fa 1 m3*Fa sub def /v3*Fa 1 y3*Fa sub def /i3*Fa 1 n3*Fa 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 /isect 7 def } if %if input includes colour overprint (one of cmy* is cero) nx*Fa 0.01 gt rcmyx*Fa 0.01 gt and {%now cmyn4* setcmykcolor reduce to cmyn3* setcmykcolor /icase 4 def cx*Fa 0.01 le mx*Fa 0.01 le or yx*Fa 0.01 le or {%one of cmy#0 %one should be cero! /c4*Fa cx*Fa def %this is an Sa colour on top of the cone /m4*Fa mx*Fa def /y4*Fa yx*Fa def /n4*Fa nx*Fa 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 /o3*Fa o4*Fa ix*Fa mul def /l3*Fa l4*Fa ix*Fa mul def /v3*Fa v4*Fa ix*Fa mul def /i3*Fa 1.00 def /c3*Fa 1 o3*Fa sub def /m3*Fa 1 l3*Fa sub def /y3*Fa 1 v3*Fa sub def /n3*Fa 0.00 def } if %one of cmy#0 } if % { (STOP false separation!) show % } ifelse } bind def %END /proc_cmynx*_cmyn3*_olvi3*_cmyn4*_olvi4* %********************************************************** /proc_cmyn4*olvi3*_cmyn4'*olvi4'* { %BEG proc_cmyn4*olvi3*_cmyn4'*olvi4'* %input o3*Fa, l3*Fa, v3*Fa, i3*Fa, MTLmodcolorkig %input c4*Fa, m4*Fa, y4*Fa, n4*Fa %output c4'*Fa, m4'*Fa, y4'*Fa, n4'*Fa %output o4'*Fa, l4'*Fa, v4'*Fa, i4'*Fa %output o3'*Fa=o3*Fa, l3'*Fa=l3*Fa, v3'*Fa=v3*Fa, i3'*Fa=i3*Fa colorm 0 eq {%colorm=0 /c4'*Fa c4*Fa def /m4'*Fa m4*Fa def /y4'*Fa y4*Fa def /n4'*Fa n4*Fa def } if colorm 1 eq {%colorm=1 /o3* o3*Fa def /l3* l3*Fa def /v3* v3*Fa def %only for calculation of p3* and e3*: proc_olvi3*_nwidct*_olvi4*cmyn4*_abpe3*_isect /transn { } bind def %c4* or c4*Fa? /ccolori c4*Fa 0.005 add 100 mul cvi def /mcolori m4*Fa 0.005 add 100 mul cvi def /ycolori y4*Fa 0.005 add 100 mul cvi def /ncolori n4*Fa 0.005 add 100 mul cvi def /f3* 1 e3* sub def /q3* 1 p3* sub def isect 0 eq isect 1 eq or {%sector C-V of C-M, C>=M, isect=0; o:O-Y %sector V-M of C-M, M>=C, isect=1, o:Y-L /c1color MTLmodcolorkig 000 transn ccolori add get def %C /c2color MTLmodcolorkig 606 transn ccolori add get def %V /m1color MTLmodcolorkig 101 transn mcolori add get def %M /m2color MTLmodcolorkig 606 transn mcolori add get def %V /y1color MTLmodcolorkig 202 transn ycolori add get def %Y /y2color MTLmodcolorkig isect 0 eq {404} {505} ifelse transn ycolori add get def %O,L /n1color MTLmodcolorkig 303 transn ncolori add get def %N /c4'*Fa c1color q3* mul c2color p3* mul add def /m4'*Fa m1color q3* mul m2color p3* mul add def /y4'*Fa y1color q3* mul y2color p3* mul add def /n4'*Fa n1color def } if %sector C-M isect 2 eq isect 3 eq or {%sector M-O of M-Y, M>=Y, isect=2; o:L-C %sector O-Y of M-Y, Y>=M, isect=3: o:C-V /m1color MTLmodcolorkig 101 transn mcolori add get def %M /m2color MTLmodcolorkig 404 transn mcolori add get def %O /y1color MTLmodcolorkig 202 transn ycolori add get def %Y /y2color MTLmodcolorkig 404 transn ycolori add get def %O /c1color MTLmodcolorkig 000 transn ccolori add get def %C /c2color MTLmodcolorkig isect 2 eq {505} {606} ifelse transn ccolori add get def %L,V /n1color MTLmodcolorkig 303 transn ncolori add get def %N /m4'*Fa m1color q3* mul m2color p3* mul add def /y4'*Fa y1color q3* mul y2color p3* mul add def /c4'*Fa c1color q3* mul c2color p3* mul add def /n4'*Fa n1color def } if %sector M-Y isect 4 eq isect 5 eq or {%sector Y-L of Y-C, Y>=C, isect=4; o:V-M %sector L-C of Y-C, C>=Y, isect=5; o:M-O /y1color MTLmodcolorkig 202 transn ycolori add get def %Y /y2color MTLmodcolorkig 505 transn ycolori add get def %L /c1color MTLmodcolorkig 000 transn ccolori add get def %C /c2color MTLmodcolorkig 505 transn ccolori add get def %L /m1color MTLmodcolorkig 101 transn mcolori add get def %M /m2color MTLmodcolorkig isect 4 eq {606} {404} ifelse transn mcolori add get def %V,O /n1color MTLmodcolorkig 303 transn ncolori add get def %N /y4'*Fa y1color q3* mul y2color p3* mul add def /c4'*Fa c1color q3* mul c2color p3* mul add def /m4'*Fa m1color q3* mul m2color p3* mul add def /n4'*Fa n1color def } if %sector Y-C %special All achromatic colors N=CMY isect 6 eq {%isect=6 /c1color MTLmodcolorkig 707 transn ccolori add get def /m1color MTLmodcolorkig 707 transn ccolori add get def /y1color MTLmodcolorkig 707 transn ccolori add get def /e3* 0 def /p3* 0 def /q3* 0 def /c4'*Fa c1color def /m4'*Fa m1color def /y4'*Fa y1color def /n4'*Fa 0 def } if %All achromatic colors %special All achromatic colors only N isect 7 eq {%isect=7 /c1color 0 def /m1color 0 def /y1color 0 def /n1color MTLmodcolorkig 303 transn ncolori add get def /e3* 0 def /p3* 0 def /q3* 0 def /c4'*Fa 0 def /m4'*Fa 0 def /y4'*Fa 0 def /n4'*Fa n1color def } if %All achromatic colors } if %colorm=1 /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 %no change? !only for olv-linearisation! /o3'*Fa o3*Fa def /l3'*Fa l3*Fa def /v3'*Fa v3*Fa def /i3'*Fa i3*Fa def /c3'*Fa c3*Fa def /m3'*Fa m3*Fa def /y3'*Fa y3*Fa def /n3'*Fa n3*Fa def } bind def %END /proc_cmyn4*olvi3*_cmyn4'*olvi4'* %****************************************************************** /proc_i*ptrsca_cmyn4'*_olvi3'*_i4'*_t3'*_draw { %BEG proc_i*ptrsca_cmyn4'*_olvi3'*_i4'*_t3'*_draw i*ptrsca 0 eq {c4'*Fa m4'*Fa y4'*Fa n4'*Fa slcmykcolor} if i*ptrsca 1 eq {isect 7 eq {i4'*Fa slgray} {o3'*Fa l3'*Fa v3'*Fa slrgbcolor} ifelse } if i*ptrsca 2 eq {c3'*Fa m3'*Fa y3'*Fa 0 slcmykcolor} if i*ptrsca 3 eq {o3'*Fa l3'*Fa v3'*Fa slrgbcolor} if i*ptrsca 4 eq i*ptrsca 5 eq or { %lab* relative or LAB* absolute [/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 } if %lab* relative or LAB* absolute i*ptrsca 4 eq {%lab /o3* o3'*Fa def /l3* l3'*Fa def /v3* v3'*Fa def proc_olvi3*Fa_nwidctl*olvi4*LAB*Fa_abpe3*Fa_isect L*Fa L*Nao sub L*Wao L*Nao sub div 100 mul A*Fa B*Fa slcolor } if %lab i*ptrsca 5 eq {%LAB /o3* o3'*Fa def /l3* l3'*Fa def /v3* v3'*Fa def proc_olvi3*Fan_widctl*olvi4*LAB*Fa_abpe3*Fa_isect L*Fa A*Fa B*Fa slcolor } if %LAB i*ptrsca 6 eq {0 0 0 n4'*Fa slcmykcolor} if i*ptrsca 7 eq {i4'*Fa slgray} if i*ptrsca 8 eq {isect 7 eq {0 0 0 n4'*Fa slcmykcolor} {c3'*Fa m3'*Fa y3'*Fa 0 slcmykcolor} ifelse } if i*ptrsca 9 eq {/t3'*Fa t3*Fa def t3'*Fa slgray} if } bind def %END /proc_i*ptrsca_cmyn4'*_olvi3'*_i4'*_t3'*_draw %****************************************************************** /setcmykcolor { %BEG /proc_setcymkcolor /nx*Fa exch def /yx*Fa exch def /mx*Fa exch def /cx*Fa exch def /ix*Fa 1 nx*Fa sub def proc_cmynx*_cmyn3*_olvi3*_cmyn4*_olvi4* proc_cmyn4*olvi3*_cmyn4'*olvi4'* /i*ptrsca i*ptrsc def proc_i*ptrsca_cmyn4'*_olvi3'*_i4'*_t3'*_draw /i*ptrsca i*ptrsc def } def %END /proc_setcymkcolor %****************************************************************** /setgray { %BEG /proc_setgray /i4*Fa exch def /n4*Fa 1 i4*Fa sub def /c4*Fa 0.00 def /m4*Fa 0.00 def /y4*Fa 0.00 def /o4*Fa 1.00 def /l4*Fa 1.00 def /v4*Fa 1.00 def /o3*Fa i4*Fa def /l3*Fa i4*Fa def /v3*Fa i4*Fa def /i3*Fa 1.00 def /c3*Fa 1 o3*Fa sub def /m3*Fa 1 l3*Fa sub def /y3*Fa 1 v3*Fa sub def /n3*Fa 0.00 def /i*ptrsca i*ptrsc def proc_cmyn4*olvi3*_cmyn4'*olvi4'* proc_i*ptrsca_cmyn4'*_olvi3'*_i4'*_t3'*_draw /i*ptrsca i*ptrsc def } def %END /proc_setgray %****************************************************************** /setrgbcolor { %BEG /proc_setrgbcolor /v3*Fa exch def /l3*Fa exch def /o3*Fa exch def /i3*Fa 1.00 def /c3*Fa 1 o3*Fa sub def /m3*Fa 1 l3*Fa sub def /y3*Fa 1 v3*Fa sub def /n3*Fa 0.00 def /o3* o3*Fa def /v3* v3*Fa def /l3* l3*Fa def proc_olvi3*_nwidct*_olvi4*cmyn4*_abpe3*_isect /o4*Fa o4* def /l4*Fa l4* def /v4*Fa v4* def /i4*Fa i4* def /c4*Fa c4* def /m4*Fa m4* def /y4*Fa y4* def /n4*Fa n4* def proc_cmyn4*olvi3*_cmyn4'*olvi4'* /i*ptrsca i*ptrsc def proc_i*ptrsca_cmyn4'*_olvi3'*_i4'*_t3'*_draw /i*ptrsca i*ptrsc def } def %END /proc_setrgbcolor %****************************************************************** /setcolor { %BEG /proc_setcolor /ispace 0 def currentcolorspace 0 get (DeviceGray) eq { /ispace 1 def setgray} if currentcolorspace 0 get (DeviceRGB) eq { /ispace 1 def setrgbcolor} if currentcolorspace 0 get (DeviceCMYK) eq { /ispace 1 def setcmykcolor} if %now assumption CIEBasedABC, not suuported by some devices %needs L*Fa, A*Fa, B*Fa proc_LAB*Fa_LAB*MaNTABl_LAB**lab**cmyn34**MaSaXaFa_lab*eEFa /i*ptrsca i*ptrsc def proc_cmyn4*olvi3*_cmyn4'*olvi4'* proc_i*ptrsca_cmyn4'*_olvi3'*_i4'*_t3'*_draw /i*ptrsca i*ptrsc def } def %END /proc_setcolor %****************************************************************** } bind def %END /proc_LAB*lig (lig=linearisation global) %****************************************************************** %END MG47/10L/OUTLIN1YFA.PS Output Linearization, coordinate transfer 20050101 %BEG MG47/10L/OUTLIN1IFA.PS olv* image input and No output Linearization 20050101 %END MG47/10L/OUTLIN1IFA.PS olv* image input and No output Linearization 20050101