%www.ps.bam.de/DG18/10X/MTLG00SY.PS Example File changes PDF-Output by an MTLfunction %The MTLfunction changes the PS-operator w* setgray to produce a linearized output %START and LINEARIZED printer output S1 and S2 if w* setgray is used in file %Realize the following steps: %produce a copy of the folder with the Software Adobe Acrobat Distiller 4.0 (or later) %copy this file MTL200SP.PS into the STARTUP directory of this folder %Remark there is already a file called Example.ps; %produce an Alias of the original and the copy of the Distiller Software on the desktop %the names may be: %Distiller; this software is used to produce the START output: %use the file with the name L18E00NP.PS (N=No output Linearization) to produce a PDF file %DistillerMTLSP; this software is used to produce the LINEARIZED output %use the file with the name L18E00SP.PS (S=STARTUP output linearization) to produce a PDF file %Remark: the two files L18E00NP.PS and L18E00SP.PS are identical; only the file name differs %Test result: %The PDFfile L18E00SP.PDF looks much darker compared to the PDF file L18E00NP.PDF %To produce the LINEARIZED output of the file L18E00SP.PS %It is necessary to exchange in the file MTL200SP.PS in the STARTUP directory the data %/MTLoutarrS1 [18.0 38.0 ... 95.4] def by the L* output data of the file L18E00NP.PS; %For the example data of the START output S1 to be exchanged see below %change the default printer name "OP8c plus" by the new printer name %change the default measurement date "M2002-08-01" by the new measurement date %To produce a Table and Plot of the Start and linearized output data %It is necessary to exchange in the file MTL200S1.PS in the STARTUP directory the data %/MTLoutarrS2 [18.0 23.2 ... 95.4] def by the L* output data of the file L18E00SP.PS; %For the example data of of the LINEARIZED output S2 to be exchanged see below %change the default measurement date "M2002-08-01" by the new measurement data %The data MTLoutarrS1 and MTLoutarrS2 are the measurement data CIELAB L* %of the START output S1 and the linearized output S2X (X=1,2,n-2,n-1,n (n=last output)) %For documentation of the w*ouput of a cartridge life time include also %the L*output data of the output series S22, S27, S28, S29 %Begin PS program data-Series S1, S21, S22, S27, S28, S29 (S2: first two and last three) %Early definition of MTLsetgray identical to former setgray /MTLsetgray {setgray} bind def %START output: real absolute CIELAB lightness L* for PDF printer "OP8c plus" /CFilenameS1g %START output of step S1 (www.ps.bam.de/DE18/10L/L18E00N) def %Link file name for data /CDeviceS1g (Device: X=OP8c plus; ) def %Device name /CMeasS1g (Meas.: DE18/10L/L18E00N) def %File name measured in step S1 /CDateS1g (Date: M2002-08-01) def %Date of calculation/measurement /MTLoutarrS1g 32 array def %theoretical absolute square root (Exp. 0.5) L* output S1: %the START output S1g (g=global) is lighter and the LINEARIZED output is then darker %replace the following 32 MTLoutarrS2g output data by the 32 real output data of output S1 /MTLoutarrS1g [18.0 38.0 46.3 52.6 58.0 62.7 67.0 70.9 74.5 78.0 81.2 83.4 87.2 90.1 92.8 95.4 18.0 38.0 46.3 52.6 58.0 62.7 67.0 70.9 74.5 78.0 81.2 83.4 87.2 90.1 92.8 95.4] def %Example output file of e real printer "OP8c plus" %/MTLoutarrS1g [23.07 23.26 23.99 25.93 29.60 34.97 40.59 45.90 % 52.68 60.46 67.71 74.43 80.72 87.41 91.62 94.07 % 23.07 23.26 23.99 25.93 29.60 34.97 40.59 45.90 % 52.68 60.46 67.71 74.43 80.72 87.41 91.62 94.07] def %First Linearized output S2: real absolute CIELAB lightness L* for PDF printer "OP8c plus" /CFilenameS2g %LINEARIZED output of step S2 (www.ps.bam.de/DE18/10L/L18E00N) def %Link file name for data /CDeviceS2g CDeviceS1g def %Device name identical to CDeviceS1 /CMeasS2g (Meas.: DE18/10L/L18E00S) def %File name measured in step S2 /CDateS2g (Date: M2002-08-01, S21) def %Date of calculation/measurement /MTLoutarrS2g 32 array def %theoretical absolute linear L* output S2 %the START output S1 is lighter and the LINEARIZED output S2 is equally spaced in CIWLAB L* %replace the following 32 MTLoutarrS2g output data by the 32 real output data of output S2 /MTLoutarrS2g [18.0 23.2 28.3 33.5 38.6 43.8 49.0 54.1 59.3 64.4 69.6 74.8 79.9 85.1 90.2 95.4 18.0 23.2 28.3 33.5 38.6 43.8 49.0 54.1 59.3 64.4 69.6 74.8 79.9 85.1 90.2 95.4] def %Example output file of e real printer "OP8c plus" %Remark: the L* limits 22.17 and 94.17 are slightly different compared to S1 %/MTLoutarrS2g [22.17 26.97 31.77 36.57 41.37 46.17 50.97 55.77 % 60.57 65.37 70.17 74.97 79.77 84.57 89.37 94.17 % 22.17 26.97 31.77 36.57 41.37 46.17 50.97 55.77 % 60.57 65.37 70.17 74.97 79.77 84.57 89.37 94.17] def] def %Linearized output S22: real absolute CIELAB lightness L* for PDF printer "OP8c plus" /CFilenameS2g02 %LINEARIZED output of step S2 (www.ps.bam.de/DE18/10L/L18E00N) def %Link file name for data /CDeviceS2g02 CDeviceS1g def %Device name identical to CDeviceS1 /CMeasS2g02 (Meas.: DE18/10L/L18E00S) def %File name measured in step S2 /CDateS2g02 (Date: M2002-08-01, S22) def %Date of calculation/measurement /MTLoutarrS2g02 32 array def %theoretical absolute linear L* output S2 %the START output S1 is lighter and the LINEARIZED output S2 is equally spaced in CIWLAB L* %replace the following 32 MTLoutarrS2g output data by the 32 real output data of output S2 /MTLoutarrS2g02 [18.0 23.2 28.3 33.5 38.6 43.8 49.0 54.1 59.3 64.4 69.6 74.8 79.9 85.1 90.2 95.4 18.0 23.2 28.3 33.5 38.6 43.8 49.0 54.1 59.3 64.4 69.6 74.8 79.9 85.1 90.2 95.4] def %Linearized output S27: real absolute CIELAB lightness L* for PDF printer "OP8c plus" /CFilenameS2g03 %LINEARIZED output of step S2 (www.ps.bam.de/DE18/10L/L18E00N) def %Link file name for data /CDeviceS2g03 CDeviceS1g def %Device name identical to CDeviceS1 /CMeasS2g03 (Meas.: DE18/10L/L18E00S) def %File name measured in step S2 /CDateS2g03 (Date: M2002-08-01, S27) def %Date of calculation/measurement /MTLoutarrS2g03 32 array def %theoretical absolute linear L* output S2 %the START output S1 is lighter and the LINEARIZED output S2 is equally spaced in CIWLAB L* %replace the following 32 MTLoutarrS2g output data by the 32 real output data of output S2 /MTLoutarrS2g03 [18.0 23.2 28.3 38.6 33.5 43.8 49.0 59.3 54.1 64.4 69.6 79.9 74.8 85.1 90.2 95.4 18.0 23.2 28.3 38.6 33.5 43.8 49.0 54.1 59.3 64.4 69.6 79.9 74.8 85.1 90.2 95.4] def %Linearized output S28: real absolute CIELAB lightness L* for PDF printer "OP8c plus" /CFilenameS2g04 %LINEARIZED output of step S2 (www.ps.bam.de/DE18/10L/L18E00N) def %Link file name for data /CDeviceS2g04 CDeviceS1g def %Device name identical to CDeviceS1 /CMeasS2g04 (Meas.: DE18/10L/L18E00S) def %File name measured in step S2 /CDateS2g04 (Date: M2002-08-01, S28) def %Date of calculation/measurement /MTLoutarrS2g04 32 array def %theoretical absolute linear L* output S2 %the START output S1 is lighter and the LINEARIZED output S2 is equally spaced in CIWLAB L* %replace the following 32 MTLoutarrS2g output data by the 32 real output data of output S2 /MTLoutarrS2g04 [18.0 23.2 28.3 38.6 33.5 43.8 49.0 59.3 54.1 64.4 69.6 79.9 74.8 85.1 90.2 95.4 18.0 23.2 28.3 38.6 33.5 43.8 49.0 54.1 59.3 64.4 69.6 79.9 74.8 85.1 90.2 95.4] def %Linearized output S29: real absolute CIELAB lightness L* for PDF printer "OP8c plus" /CFilenameS2g05 %LINEARIZED output of step S2 (www.ps.bam.de/DE18/10L/L18E00N) def %Link file name for data /CDeviceS2g05 CDeviceS1g def %Device name identical to CDeviceS1 /CMeasS2g05 (Meas.: DE18/10L/L18E00S) def %File name measured in step S2 /CDateS2g05 (Date: M2002-08-01, S29) def %Date of calculation/measurement /MTLoutarrS2g05 32 array def %theoretical absolute linear L* output S2 %the START output S1 is lighter and the LINEARIZED output S2 is equally spaced in CIWLAB L* %replace the following 32 MTLoutarrS2g output data by the 32 real output data of output S2 /MTLoutarrS2g05 [18.0 23.2 28.3 43.8 38.6 33.5 49.0 64.4 59.3 54.1 69.6 85.1 79.9 74.8 90.2 95.4 18.0 23.2 28.3 43.8 38.6 33.5 49.0 64.4 59.3 54.1 69.6 85.1 79.9 74.8 90.2 95.4] def %End PS program data-Series S1, S21, S22, S27, S28, S29 (first two and last three) %Begin PS program code %Do not change the following PS program code for Output Linearization /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 %the MTL code converts the absolute CIELAB lightness L* data % to the relative CIELAB whiteness w* data % w* = (L* - L*n) / ( L*w - L*n) /MTLL*NS MTLoutarrS1g 0 get 0.001 add def /MTLL*WS MTLoutarrS1g 15 get 0.001 sub def %MTLtransferf converts the absolute CIELAB lightness L* values % to the relative CIELAB whiteness w* values % w* = (L* - L*n) / ( L*w - L*n) /MTLtransferf {MTLL*NS sub MTLL*WS MTLL*NS sub div} bind def /MTLioF 0 def %Start value to define first transfer /MTLoutarn 16 array def %relative CIELAB whiteness w* values for absolute input data /MTLioFunct {%beg MTLioFunct, expects "MTLcolor" as input MTLioF 0 eq {0 1 15 {/MTLi exch def MTLoutarn MTLi MTLoutarrS1g MTLi get MTLtransferf put } for /MTLioF 1 def } if %calculation only once % 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 } bind def %end MTLioFunction /MTLtransp {/MTLcolor exch def %MTLtransp, new setgray by a function MTLioFunct MTLmodcolor } bind def %end MTLtransp, new setgray by a function /setgray {MTLtransp MTLsetgray} def %End PS program code %end www.ps.bam.de/DG18/10X/MTLG00SY.PS %%Trailer