%!PS-Adobe-3.0 EPSF-3.0 www.ps.bam.de/LE92/10L/L92E00XX.PS 20070901 %%BoundingBox: 00 00 414 292 /pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put } if [ /Title (PostScript pictures: www.ps.bam.de/LE92/LE92.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: www.ps.bam.de or http://o2.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.Richter@bam.de) /CreationDate (D:2007090112000) /ModDate (D:2007090112000) /DOCINFO pdfmark [ /View [ /Fit ] /DOCVIEW pdfmark %BEG LE92/10L/L92N00ZED NO Output Linearization LAB* -> cmyolvnw* 20030101 %BEG OUTLIN10.PS /MTLoutaS0g 21 array def /MTLoutaS0g [18.01 23.17 28.33 33.49 38.65 43.81 48.97 54.13 59.29 64.45 69.61 74.77 79.93 85.09 90.25 95.41 18.01 37.36 56.71 76.06 95.41] 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 %/ISYSLAB 0 def %default input for Offset Reflective System (ORS18) %/ISYSTEM 0 def %default output for Offset Reflective System (ORS18) %/ISYSLAB 1 def %input for Television Luminous System (TLS00) %/ISYSTEM 1 def %output for Television Luminous System (TLS00) /ISYSLAB 2 def %input for Device Reflective measurement system (DRSXX) /ISYSTEM 2 def %output for Device Reflective measurement system (DRSXX) %/ISYSLAB 3 def %input for Television Luminous Reflection System (TLS18) %/ISYSTEM 3 def %output for Television Luminous Reflection System (TLS18) %/ISYSLAB 4 def %input for Device Luminous measurement system (DLSXX) %/ISYSTEM 4 def %output for Device Luminous measurement system (DLSXX) /iLAB 0 def % for preparing input-output system data only once %END LE92/10L/EARLY BINDING %END LE92/10L/L92N00ZED NO Output Linearisation (OL) LAB* -> cmyolvnw* 20030101 %BEG LE92/10L/OUTLIN1XNA.PS MXYZ_to_LAB* 20030101 %BEG LE92/10L/EARLY BINDING AND SYSTEM (ONLY USED IN CASE OF OL) /sggray {setgray} bind def /sgrgbcolor {setrgbcolor} bind def /sgcmykcolor {setcmykcolor} bind def /sgtransfer {settransfer} bind def /sgcolortransfer {setcolortransfer} bind def /sgcolor {setcolor} bind def %END LE92/10L/EARLY BINDING AND SYSTEM (ONLY USED IN CASE OF OL) %INTENDED, START and LINEARIZED OUTPUT OF 16 STEP GREY (GLOBAL TO BE CHANGED) /MTLoutaS0g 21 array def /MTLoutaS1g 16 array def /MTLoutaS2g 16 array def %absolute lightness L* output %theoretical standard absolute linear L* output: no change of output %do not change the following two lines of output data /MTLoutaS0g [18.01 23.17 28.33 33.49 38.65 43.81 48.97 54.13 59.29 64.45 69.61 74.77 79.93 85.09 90.25 95.41 18.01 37.36 56.71 76.06 95.41] def %theoretical absolute square root (Exp. 0.5) L* output %/MTLoutaS1g [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 %change the following two lines for the 16 start grey CIELAB L* output data /MTLoutaS1g [18.01 23.17 28.33 33.49 38.65 43.81 48.97 54.13 59.29 64.45 69.61 74.77 79.93 85.09 90.25 95.41] def %theoretical absolute half square (Exp. 1.5) L* output %/MTLoutaS2g [18.0 19.3 21.8 24.9 28.7 32.9 37.6 42.7 % 48.1 54.0 60.1 66.6 74.3 80.4 87.8 95.4] def %change the following two lines for the 16 linearized grey CIELAB L* output data /MTLoutaS2g [18.01 23.17 28.33 33.49 38.65 43.81 48.97 54.13 59.29 64.45 69.61 74.77 79.93 85.09 90.25 95.41] def %BEG Procedure special input XYZ to be transferred to LAB* /MXYZ_to_LAB* {%BEG MXYZ_to_LAB* /XD65 95.05 def /YD65 100.00 def /ZD65 108.90 def /Xwref XD65 0.8859 mul def %wref=white reference /Ywref YD65 0.8859 mul def /Zwref ZD65 0.8859 mul def /Xnref XD65 Yre 100 div mul def %nref=black reference /Ynref YD65 Yre 100 div mul def /Znref ZD65 Yre 100 div mul def 0 16 240 {/j exch def %j=0,112,16 %Asumption END point "white" /i10 j 4 mul 1 add def /i20 i10 15 4 mul add def 0 1 15 {/i exch def %i=0,15 /i2i1 i10 i 4 mul add def /i2i2 i2i1 1 add def /i2i3 i2i1 2 add def /XQ MISO_S1gXYZ i2i1 get MISO_S1gXYZ i20 0 add get div Xwref mul Xnref add XD65 div def /YQ MISO_S1gXYZ i2i2 get MISO_S1gXYZ i20 1 add get div Ywref mul Ynref add YD65 div def /ZQ MISO_S1gXYZ i2i3 get MISO_S1gXYZ i20 2 add get div Zwref mul Znref add ZD65 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if MISO_S1g i2i1 YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put MISO_S1g i2i2 XQ 0.008856 lt {7.787 XQ mul 16 116 div add} {XQ 0.33333333 exp} ifelse YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse sub 500 mul put MISO_S1g i2i3 YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add} {ZQ 0.33333333 exp} ifelse sub 200 mul put } for %i=0,15 } for %j=0,240,16 } bind def %END Procedure MXYZ_to_LAB* %END LE92/10L/OUTLIN1XNA.PS MXYZ_to_LAB* 20030101 /CFilenameS1g %START output of step S1g (www.ps.bam.de/LE92/10L/L92E00N) def %Link file name for data /CDateS1g (2004-05-01, Name) def %Date of calculation, Tester /CDeviceS1g (unknown ) def %Device name /CMeasS1g (LE92/10L/L92E00N) def %File name measured in step S1g %change scount2g from 2 to 10 for 10 series %change pcount2g from 8 to 240 for 240 pages of each series /scount1g 1 def /scount2g 1 def /scountg 1 def /pcount1g 1 def /pcount2g 1 def /pcountg 1 def /xchart1g 0 def /xchart2g 2 def /xchartg 0 def /BeginEPSF { % def % Prepare for EPS file /b4_Inc_state save def % Save state for cleanup /dict_count countdictstack def /op_count count 1 sub def % Count objects on op stack userdict begin % Make userdict current dict /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath /languagelevel where % If level not equal to 1 then {pop languagelevel where % If level not equal to 1 then 1 ne {false setstrokeadjust false setoverprint } if } if } bind def /EndEPSF { % def count op_count sub {pop} repeat countdictstack dict_count sub {end} repeat % Clean up dict stack b4_Inc_state restore } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIK {250 /TimesI-ISOL1 FS} bind def /TIM {300 /TimesI-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TBK {250 /TimesB-ISOL1 FS} bind def /TBM {300 /TimesB-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBIK {250 /TimesBI-ISOL1 FS} bind def /TBIM {300 /TimesBI-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def %ANFA CMYKDEF %CMYKDEA0 (A0=Standard-Drucker-CMYKDEF) 15.3.97 /tzac [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tzam [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tzay [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tzan [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tza0 [0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000] def /tza1 [1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000] def %ENDE CMYKD /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfiLAB* %x y width heigth LAB* { setcolor rec fill} bind def /colrecstLAB* %x y width heigth LAB* { setcolor rec stroke} bind def /colrecficmyn* %x y width heigth cmy0* or 000n* { setcmykcolor rec fill} bind def /colrecstcmyn* %x y width heigth cmy0* or 000n* { setcmykcolor rec stroke} bind def /colrecfiw* %x y width heigth w* { setgray rec fill} bind def /colrecstw* %x y width heigth w* { setgray rec stroke} bind def /colrecfiolv* %x y width heigth olv* { setrgbcolor rec fill} bind def /colrecstolv* %x y width heigth olv* { setrgbcolor rec stroke} bind def /tzocmy0* {0.0 1.0 1.0 0.0} bind def %Reproduction colours /tzlcmy0* {1.0 0.0 1.0 0.0} bind def %cmyn* setcmykcolor /tzvcmy0* {1.0 1.0 0.0 0.0} bind def /tzccmy0* {1.0 0.0 0.0 0.0} bind def /tzmcmy0* {0.0 1.0 0.0 0.0} bind def /tzycmy0* {0.0 0.0 1.0 0.0} bind def /tzoolv* {1.0 0.0 0.0} bind def %Reproduction colours /tzlolv* {0.0 1.0 0.0} bind def %olv* setrgbcolor /tzvolv* {0.0 0.0 1.0} bind def /tzcolv* {0.0 1.0 1.0} bind def /tzmolv* {1.0 0.0 1.0} bind def /tzyolv* {1.0 1.0 0.0} bind def /tzoLAB* [53.34 72.46 50.66] def %Reproduction colours /tzlLAB* [84.93 -79.83 74.80] def %LAB* setcolor /tzvLAB* [32.20 24.88 -37.89] def /tzcLAB* [88.10 -44.88 -13.36] def /tzmLAB* [59.66 90.32 -19.65] def /tzyLAB* [93.76 -20.24 85.93] def /tzncmy0* {1.00 1.00 1.00 0.00} bind def %grey series /tzdcmy0* {0.75 0.75 0.75 0.00} bind def %cmy0* setcmykcolor /tzzcmy0* {0.50 0.50 0.50 0.00} bind def /tzhcmy0* {0.25 0.25 0.25 0.00} bind def /tzwcmy0* {0.00 0.00 0.00 0.00} bind def /tzn000n* {0.00 0.00 0.00 1.00} bind def %grey series 000n* /tzd000n* {0.00 0.00 0.00 0.75} bind def %000n* setcmykcolor /tzz000n* {0.00 0.00 0.00 0.50} bind def /tzh000n* {0.00 0.00 0.00 0.25} bind def /tzw000n* {0.00 0.00 0.00 0.00} bind def /tznw* {0.00} bind def %grey series /tzdw* {0.25} bind def %w* setgray /tzzw* {0.50} bind def /tzhw* {0.75} bind def /tzww* {1.00} bind def /tznolv* {0.00 0.00 0.00} bind def %grey series /tzdolv* {0.25 0.25 0.25} bind def %olv* setrgbcolor /tzzolv* {0.50 0.50 0.50} bind def /tzholv* {0.75 0.75 0.75} bind def /tzwolv* {1.00 1.00 1.00} bind def /tznLAB* [18.01 0.00 0.00] def %grey series /tzdLAB* [37.36 0.00 0.00] def %LAB* setcolor /tzzLAB* [56.71 0.00 0.00] def /tzhLAB* [76.06 0.00 0.00] def /tzwLAB* [95.41 0.00 0.00] def /tfn {0 setgray} bind def /tfw {1 setgray} bind def /A4quer {598 0 translate 90 rotate} def %0 %1 /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /tzank [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def %picturetransfer from standard locations (8 pictures, 5 test charts) /xpic5458 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %x for chartg=0 0.0 0.0 0.0 -12 0.0 0.0 0.0 0.0 %x for chartg=1 0.0 0.0 0.0 -25 0.0 0.0 0.0 0.0 %x for chartg=2 0.0 0.0 0.0 -12 0.0 0.0 0.0 0.0 %x for chartg=3 0.0 0.0 0.0 -20 0.0 0.0 0.0 0.0] def %x for chartg=4 /ypic5458 [0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %y for chartg=0 0.0 0.0 0.0 -05 0.0 0.0 0.0 0.0 %y for chartg=1 0.0 0.0 0.0 -12 0.0 0.0 0.0 0.0 %y for chartg=2 0.0 0.0 0.0 -05 0.0 0.0 0.0 0.0 %y for chartg=3 0.0 0.0 0.0 -20 0.0 0.0 0.0 0.0] def %y for chartg=4 %BEG 61 lines comment or new PS operators possible %02 %03 %04 %05 %06 %07 %08 %09 %11 %END 38 lines comment or new PS operators possible %%EndProlog %%BeginPageSetup /#copies 1 def %A4quer 0.5 0.5 scale /pgsave save def %%EndPageSetup 0.0 MM 0.0 MM translate %Verschiebung nach oben und links fuer Belichter gsave /SS$ [(G) (E) (S) (F) (I) (J) (M)] def /SC$ [(N) (F) (S) (D) (T) (E) (C)] def /SX$ [(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (A) (B) (C) (D) (E) (F)] def /SY$ [(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (A) (B) (C) (D) (E) (F)] def % 0 1 2 3 4 5 % 6 7 8 /EX$ [(1.PS/.TXT) (B.PS/.BMP) (G.PS/.GIF) (H.PS/.HTM) (I.PS/.HTM) (J.PS/.JPE) (P.PS/.PDF) (T.PS/.TIF)] def /EY$ [(1.DAT) (B.DAT) (G.DAT) (H.DAT) (I.DAT) (J.DAT) (P.DAT) (T.DAT)] def /lanindg1 1 def /lanindg2 1 def /colormg1 0 def /colormg2 0 def /xcolorg1 0 def /xcolorg2 0 def /xchartg1 0 def /xchartg2 0 def /lanindg lanindg1 def %no loops /colormg colormg1 def /xcolorg xcolorg1 def /xchartg xchartg1 def /pcount2x pcount2g xchart2g sub 2 add def scount1g 1 scount2g {/scountg exch def %s=serie, e. g. 1,1,10 1 1 1 {/pcountg exch def %p=page, e. g. 1,1,250 pcountg pcount1g eq {/xchart10 0 def /xchart20 0 def} {/xchart10 1 def /xchart20 1 def} ifelse %pcountg pcount2x eq {/xchart10 2 def /xchart20 2 def} if xchart10 1 xchart20 {/xchartg exch def 2 MM /Times-Roman FS 274 MM 82 MM moveto -90 rotate (/LE92/ ) show (Form: ) show xchartg 1 add cvi 6 string cvs show (/) show xchart2g 1 add cvi 6 string cvs show (,) show 90 rotate 274 MM 65 MM moveto -90 rotate (Serie: ) show scountg cvi 6 string cvs show (/) show scount2g cvi 6 string cvs show (,) show 90 rotate 274 MM 55 MM moveto -90 rotate lanindg 0 eq {(Seite: )}{(Page: )} ifelse show pcountg xchartg xchart10 sub add cvi 6 string cvs show 90 rotate 274 MM 45 MM moveto -90 rotate lanindg 0 eq {(Seitenz\344hlung )}{(Page: count: )} ifelse show scountg 1 sub pcount2g mul pcountg add pcountg pcount2x eq {xchartg add pcount1g pcount2x ne {2 sub } if} if cvi 6 string cvs show 90 rotate /GSS$ SS$ lanindg get def /GSC$ SC$ colormg get def /GSX$ SX$ xcolorg get def /GSY$ SY$ xchartg get def /GEX$ EX$ 0 get def /GEY$ EY$ 0 get def /xcha801 xchartg 8 mul 0 add def /xcha803 xchartg 8 mul 1 add def /xcha805 xchartg 8 mul 2 add def /xcha807 xchartg 8 mul 3 add def /xcha811 xchartg 8 mul 4 add def /xcha813 xchartg 8 mul 5 add def /xcha815 xchartg 8 mul 6 add def /xcha817 xchartg 8 mul 7 add def %gsave BeginEPSF 28 MM 197 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto 1 1 scale -77 -91 translate %%BeginDocument: Bild 10 %line 329 %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto 1 1 scale -77 -91 translate %%BeginDocument: Bild 11 %line 339 %!PS-Adobe-3.0 EPSF-3.0 LE92:L10-1N.EPS 20030301 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (LE92:L10-1N.EPS) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 12 %line 349 %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 13 %line 359 %!PS-Adobe-3.0 EPSF-3.0 LE92:L10-3N.EPS 20030301 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (LE92:L10-3N.EPS) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 14 %line 369 %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 15 %line 379 %!PS-Adobe-3.0 EPSF-3.0 LE92:L10-5N.EPS 20030301 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (LE92:L10-5N.EPS) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 16 %line 389 %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 3.5 MM sub 020 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 17 %line 399 %!PS-Adobe-3.0 EPSF-3.0 LE920-7N.EPS %%BoundingBox: 70 80 800 600 %START PDFDE011.EPS /pdfmark07 where {pop} {userdict /pdfmark07 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: Image Technology) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://o2.ps.bam.de or http://www.ps.bam.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@bam.de) /CreationDate (D:2007090112000) /ModDate (D:2007090112000) /DOCINFO pdfmark07 [ /View [ /FitB ] /DOCVIEW pdfmark07 %END PDFDE011 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /LAB*inoutl {%BEG procedure LAB*inoutl % default ISYSLAB=0 definitions of input colours to system LAB*ORS % default ISYSTEM=0 definitions of output colours to system LAB*ORS % input: xLAB*_to_xLAB*s0 data *colour data transfer depending on ISYSLAB % output: xLAB*_to_xLAB*s0 data *colour data transfer depending on ISYSTEM /cLAB* 3 array def %C cyan blue /vLAB* 3 array def %V violet blue /mLAB* 3 array def %M magenta red /oLAB* 3 array def %O orange red /yLAB* 3 array def %Y yellow /lLAB* 3 array def %L leaf green /nLAB* 3 array def %N black /wLAB* 3 array def %W white /cLAB*s0 3 array def %C cyan blue /vLAB*s0 3 array def %V violet blue /mLAB*s0 3 array def %M magenta red /oLAB*s0 3 array def %O orange red /yLAB*s0 3 array def %Y yellow /lLAB*s0 3 array def %L leaf green /nLAB*s0 3 array def %N black /wLAB*s0 3 array def %W white /iLAB 1 def /LAB* 27 array def /LAB*ORS 27 array def /LAB*TLS 27 array def /LAB*TLR 27 array def /LAB*sa 27 array def /LAB*ORS [%D=Device OYLCVMO+NW %for Offset Reflective System (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 twice 18.01 0.50 -0.47 %N 7 95.41 -0.99 4.76 %W 8 ] def %OYLCVMO+NW /LAB*DRS [%D=Device OYLCVMO+NW %for Tektronix Phaser 740 (DRS) 43.44 -34.16 -45.19 %C 0 %see 'dm00'T10001FP.DAT 34.16 -2.06 -44.39 %V 1 42.71 78.01 0.28 %M 2 42.21 65.82 52.84 %O 3 90.32 -16.74 106.88 %Y 4 48.21 -76.54 32.93 %L 5 43.44 -34.16 -45.19 %C 6 twice 16.56 -1.42 2.07 %N 7 96.18 -0.22 2.63 %W 8 ] def %OYLCVMO+NW /LAB*TLS [%D=Device OYLCVMO+NW %for Television Luminous System (TLS00) 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 twice 00.01 0.00 0.00 %N 7 corected 95.41 0.00 0.00 %W 8 ] def %OYLCVMO+NW /LAB*TLR [%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 twice 18.01 0.00 0.00 %N 7 95.41 0.00 0.00 %W 8 ] def %OYLCVMO+NW 0 1 8 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def ISYSLAB 0 eq { %ORS LAB* i30 LAB*ORS i30 get put LAB* i31 LAB*ORS i31 get put LAB* i32 LAB*ORS i32 get put } if ISYSLAB 1 eq { %TLS LAB* i30 LAB*TLS i30 get put LAB* i31 LAB*TLS i31 get put LAB* i32 LAB*TLS i32 get put } if ISYSLAB 2 eq { %DRS LAB* i30 LAB*DRS i30 get put LAB* i31 LAB*DRS i31 get put LAB* i32 LAB*DRS i32 get put } if ISYSLAB 3 eq { %TLR LAB* i30 LAB*TLR i30 get put LAB* i31 LAB*TLR i31 get put LAB* i32 LAB*TLR i32 get put } if } for %ISYSLAB 2 eq { %CDS %LAB* 0 MISO_S1g 1 get put %C %LAB* 1 MISO_S1g 2 get put %LAB* 2 MISO_S1g 3 get put %LAB* 3 MISO_S1g 385 get put %V %LAB* 4 MISO_S1g 386 get put %LAB* 5 MISO_S1g 387 get put %LAB* 6 MISO_S1g 65 get put %M %LAB* 7 MISO_S1g 66 get put %LAB* 8 MISO_S1g 67 get put %LAB* 9 MISO_S1g 257 get put %O %LAB* 10 MISO_S1g 258 get put %LAB* 11 MISO_S1g 259 get put %LAB* 12 MISO_S1g 129 get put %Y %LAB* 13 MISO_S1g 130 get put %LAB* 14 MISO_S1g 131 get put %LAB* 15 MISO_S1g 321 get put %L %LAB* 16 MISO_S1g 322 get put %LAB* 17 MISO_S1g 323 get put %LAB* 18 MISO_S1g 1 get put %C %LAB* 19 MISO_S1g 2 get put %LAB* 20 MISO_S1g 3 get put %LAB* 21 MISO_S1g 449 get put %N %LAB* 22 MISO_S1g 450 get put %LAB* 23 MISO_S1g 451 get put %LAB* 24 MISO_S1g 509 get put %W %LAB* 25 MISO_S1g 510 get put %LAB* 26 MISO_S1g 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*sa i30 LAB* i30 get put /l*CIE LAB* i30 get L*Ninp sub L*Winp L*Ninp sub div def %system rel. lightn. /a*s A*Winp A*Ninp sub l*CIE mul def /b*s B*Winp B*Ninp sub l*CIE mul def LAB*sa i31 LAB* i31 get A*Ninp sub a*s sub put LAB*sa i32 LAB* i32 get B*Ninp sub b*s sub put } for %Determine Matrix data cLAB*s0 0 LAB*sa 0 get L*Ninp sub put cLAB*s0 1 LAB*sa 1 get put cLAB*s0 2 LAB*sa 2 get put vLAB*s0 0 LAB*sa 3 get L*Ninp sub put vLAB*s0 1 LAB*sa 4 get put vLAB*s0 2 LAB*sa 5 get put mLAB*s0 0 LAB*sa 6 get L*Ninp sub put mLAB*s0 1 LAB*sa 7 get put mLAB*s0 2 LAB*sa 8 get put oLAB*s0 0 LAB*sa 9 get L*Ninp sub put oLAB*s0 1 LAB*sa 10 get put oLAB*s0 2 LAB*sa 11 get put yLAB*s0 0 LAB*sa 12 get L*Ninp sub put yLAB*s0 1 LAB*sa 13 get put yLAB*s0 2 LAB*sa 14 get put lLAB*s0 0 LAB*sa 15 get L*Ninp sub put lLAB*s0 1 LAB*sa 16 get put lLAB*s0 2 LAB*sa 17 get put nLAB*s0 0 LAB*sa 21 get L*Ninp sub put nLAB*s0 1 LAB*sa 22 get put nLAB*s0 2 LAB*sa 23 get put wLAB*s0 0 LAB*sa 24 get L*Ninp sub put wLAB*s0 1 LAB*sa 25 get put wLAB*s0 2 LAB*sa 26 get put /CVMOJLCLAB*inpa 27 array def %including nLAB*s0, wLAB*s0 0 1 8 {/iinp exch def %iinp=0,8 /i30 iinp 3 mul def /i31 i30 1 add def /i32 i30 2 add def CVMOJLCLAB*inpa i30 LAB*sa i30 get put CVMOJLCLAB*inpa i31 LAB*sa i31 get put CVMOJLCLAB*inpa i32 LAB*sa i32 get put } for %iinp=0,8 %END for input using ISYSLAB %BEG for output using ISYSTEM 0 1 8 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def ISYSTEM 0 eq { %ORS LAB* i30 LAB*ORS i30 get put LAB* i31 LAB*ORS i31 get put LAB* i32 LAB*ORS i32 get put } if ISYSTEM 1 eq { %TLS LAB* i30 LAB*TLS i30 get put LAB* i31 LAB*TLS i31 get put LAB* i32 LAB*TLS i32 get put } if ISYSTEM 2 eq { %DRS LAB* i30 LAB*DRS i30 get put LAB* i31 LAB*DRS i31 get put LAB* i32 LAB*DRS i32 get put } if ISYSTEM 3 eq { %TLR LAB* i30 LAB*TLR i30 get put LAB* i31 LAB*TLR i31 get put LAB* i32 LAB*TLR i32 get put } if } for %ISYSTEM 2 eq { %CDS %LAB* 0 MISO_S1g 1 get put %C %LAB* 1 MISO_S1g 2 get put %LAB* 2 MISO_S1g 3 get put %LAB* 3 MISO_S1g 385 get put %V %LAB* 4 MISO_S1g 386 get put %LAB* 5 MISO_S1g 387 get put %LAB* 6 MISO_S1g 65 get put %M %LAB* 7 MISO_S1g 66 get put %LAB* 8 MISO_S1g 67 get put %LAB* 9 MISO_S1g 257 get put %O %LAB* 10 MISO_S1g 258 get put %LAB* 11 MISO_S1g 259 get put %LAB* 12 MISO_S1g 129 get put %Y %LAB* 13 MISO_S1g 130 get put %LAB* 14 MISO_S1g 131 get put %LAB* 15 MISO_S1g 321 get put %L %LAB* 16 MISO_S1g 322 get put %LAB* 17 MISO_S1g 323 get put %LAB* 18 MISO_S1g 1 get put %C %LAB* 19 MISO_S1g 2 get put %LAB* 20 MISO_S1g 3 get put %LAB* 21 MISO_S1g 449 get put %N %LAB* 22 MISO_S1g 450 get put %LAB* 23 MISO_S1g 451 get put %LAB* 24 MISO_S1g 509 get put %W %LAB* 25 MISO_S1g 510 get put %LAB* 26 MISO_S1g 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*sa i30 LAB* i30 get put /l*CIE LAB* i30 get L*Noup sub L*Woup L*Noup sub div def %system 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*sa i31 LAB* i31 get A*Noup sub a*s sub put LAB*sa i32 LAB* i32 get B*Noup sub b*s sub put } for %Determine Matrix data /C*L*s0 LAB*sa 0 get L*Noup sub def /C*A*s0 LAB*sa 1 get def /C*B*s0 LAB*sa 2 get def /V*L*s0 LAB*sa 3 get L*Noup sub def /V*A*s0 LAB*sa 4 get def /V*B*s0 LAB*sa 5 get def /M*L*s0 LAB*sa 6 get L*Noup sub def /M*A*s0 LAB*sa 7 get def /M*B*s0 LAB*sa 8 get def /O*L*s0 LAB*sa 9 get L*Noup sub def /O*A*s0 LAB*sa 10 get def /O*B*s0 LAB*sa 11 get def /Y*L*s0 LAB*sa 12 get L*Noup sub def /Y*A*s0 LAB*sa 13 get def /Y*B*s0 LAB*sa 14 get def /L*L*s0 LAB*sa 15 get L*Noup sub def /L*A*s0 LAB*sa 16 get def /L*B*s0 LAB*sa 17 get def /N*L*s0 LAB*sa 21 get L*Noup sub def /N*A*s0 LAB*sa 22 get def /N*B*s0 LAB*sa 23 get def /W*L*s0 LAB*sa 24 get L*Noup sub def /W*A*s0 LAB*sa 25 get def /W*B*s0 LAB*sa 26 get def /CVMOJLCLAB*oupa 27 array def %including NLAB*s0, WLAB*s0 0 1 8 {/ioup exch def %ioup=0,8 /i30 ioup 3 mul def /i31 i30 1 add def /i32 i30 2 add def CVMOJLCLAB*oupa i30 LAB*sa i30 get put CVMOJLCLAB*oupa i31 LAB*sa i31 get put CVMOJLCLAB*oupa i32 LAB*sa i32 get put } for %ioup=0,8 %END for output using ISYSTEM % Determine the angle in the A* B* plane of each of the colours defined above /C*Ang C*B*s0 C*A*s0 0.0001 add atan def /V*Ang V*B*s0 V*A*s0 0.0001 add atan def /M*Ang M*B*s0 M*A*s0 0.0001 add atan def /O*Ang O*B*s0 O*A*s0 0.0001 add atan def /Y*Ang Y*B*s0 Y*A*s0 0.0001 add atan def /L*Ang L*B*s0 L*A*s0 0.0001 add atan def %No N, W (cero) % The detprocl below finds the determinant of the Matrix: % | A1 B1 C1 D1 | % | A2 B2 C2 D2 | % | A3 B3 C3 D3 | % | A4 B4 C4 D4 | % /detprocl { %BEG procedure detprocl /term1 B2 C3 mul D4 mul C2 D3 mul B4 mul add D2 B3 mul C4 mul add B4 C3 mul D2 mul sub C4 D3 mul B2 mul sub D4 B3 mul C2 mul sub def /term2 A2 C3 mul D4 mul C2 D3 mul A4 mul add D2 A3 mul C4 mul add A4 C3 mul D2 mul sub C4 D3 mul A2 mul sub D4 A3 mul C2 mul sub def /term3 A2 B3 mul D4 mul B2 D3 mul A4 mul add D2 A3 mul B4 mul add A4 B3 mul D2 mul sub B4 D3 mul A2 mul sub D4 A3 mul B2 mul sub def /term4 A2 B3 mul C4 mul B2 C3 mul A4 mul add C2 A3 mul B4 mul add A4 B3 mul C2 mul sub B4 C3 mul A2 mul sub C4 A3 mul B2 mul sub def /det A1 term1 mul B1 term2 mul sub C1 term3 mul add D1 term4 mul sub def } bind def %END procedure detprocl % The Coeffproc procedure solves for WhiteCoeff, black Coeff, Col1Coeff and % Col2Coeff in the matrix equation below. It takes as inputs A1->A4 B1->B4 % C1->C4 D1->D4 and s,y,z,t. It solves for these using Cramer's rule. % Note: Cramer's rule is valid only for non-singular matrices, ie |A| not % equal to 0. % % | A1 B1 C1 D1 | |WhiteCoeff| |x| % | A2 B2 C2 D2 | |BlackCoeff| = |y| % | A3 B3 C3 D3 | |Col1Coeff | |z| % | A4 B4 C4 D4 | |Col2Coeff | |t| % A B = C % /Coeffprocl { %BEG procedure Coeffprocl /t exch def /z exch def /y exch def /x exch def /D4 exch def /D3 exch def /D2 exch def /D1 exch def /C4 exch def /C3 exch def /C2 exch def /C1 exch def /B4 exch def /B3 exch def /B2 exch def /B1 exch def /A4 exch def /A3 exch def /A2 exch def /A1 exch def detprocl /den det def % determine white coefficient /temp1 A1 def /temp2 A2 def /temp3 A3 def /temp4 A4 def /A1 x def /A2 y def /A3 z def /A4 t def detprocl /numW det def /A1 temp1 def /A2 temp2 def /A3 temp3 def /A4 temp4 def % determine black coefficient /temp1 B1 def /temp2 B2 def /temp3 B3 def /temp4 B4 def /B1 x def /B2 y def /B3 z def /B4 t def detprocl /numB det def /B1 temp1 def /B2 temp2 def /B3 temp3 def /B4 temp4 def % determine colour1 coefficient /temp1 C1 def /temp2 C2 def /temp3 C3 def /temp4 C4 def /C1 x def /C2 y def /C3 z def /C4 t def detprocl /numCol1 det def /C1 temp1 def /C2 temp2 def /C3 temp3 def /C4 temp4 def % determine colour2 coefficient /temp1 D1 def /temp2 D2 def /temp3 D3 def /temp4 D4 def /D1 x def /D2 y def /D3 z def /D4 t def detprocl /numCol2 det def /D1 temp1 def /D2 temp2 def /D3 temp3 def /D4 temp4 def /WhiteCoeff numW den div def /BlackCoeff numB den div def /Col1Coeff numCol1 den div def /Col2Coeff numCol2 den div def WhiteCoeff BlackCoeff Col1Coeff Col2Coeff % returns these *color data } bind def %BEG procedure Coeffprocl } def %END procedure LAB*inoutl %********************************************************************* /dowell { %BEG procedure dowell %determination of hue sector %input CVMOJLCLAB*oupa(8x3 data including WLAB*s0), L*F, A*F, B*F /dowelB*F exch def /dowelA*F exch def /dowelL*F exch def /dowell*U CVMOJLCLAB*oupa 24 get def /dowelA*U CVMOJLCLAB*oupa 25 get def /dowelB*U CVMOJLCLAB*oupa 26 get def /dowelFXU0 dowelA*F dowelB*U mul dowelB*F dowelA*U mul sub def /dowelFXU1 dowelB*F dowell*U mul dowelL*F dowelB*U mul sub def /dowelFXU2 dowelL*F dowelA*U mul dowelA*F dowell*U mul sub def 0 1 6 {/io exch def %i=0,6 /io030 io 3 mul def /io031 io030 1 add def /io032 io030 2 add def io 0 eq {/T1 CVMOJLCLAB*oupa 18 get dowelFXU0 mul CVMOJLCLAB*oupa 19 get dowelFXU1 mul add CVMOJLCLAB*oupa 20 get dowelFXU2 mul add def} {/T1 CVMOJLCLAB*oupa io030 3 sub get dowelFXU0 mul CVMOJLCLAB*oupa io031 3 sub get dowelFXU1 mul add CVMOJLCLAB*oupa io032 3 sub get dowelFXU2 mul add def} ifelse /T2 CVMOJLCLAB*oupa io030 get dowelFXU0 mul CVMOJLCLAB*oupa io031 get dowelFXU1 mul add CVMOJLCLAB*oupa io032 get dowelFXU2 mul add def T1 0 ge T2 0 le and {/iobeg io 1 sub def exit} if } for %i=0,6 } bind def %END procedure dowell %************************************************************************* /interpl { %BEG procedure interpl %input ioend, CVMOJLCLAB*oupa(7x3) %start values of one color sector of the hexagon /io030 iobeg 3 mul def /io031 io030 1 add def /io032 io030 2 add def /io130 io030 3 add def /io131 io031 3 add def /io132 io032 3 add def /L*F0a CVMOJLCLAB*oupa io030 get def /L*F1a CVMOJLCLAB*oupa io130 get def /A*F0a CVMOJLCLAB*oupa io031 get def /A*F1a CVMOJLCLAB*oupa io131 get def /B*F0a CVMOJLCLAB*oupa io032 get def /B*F1a CVMOJLCLAB*oupa io132 get def %start values 0 and 1 of interpolation /inter0 0 def /inter1 1 def 0 1 8 {/mint exch def %iint=0,8 %mean of last interpolation values /interM inter0 inter1 add 0.5 mul def %linear interpolation /L*FMa L*F0a L*F1a L*F0a sub interM mul add def /A*FMa A*F0a A*F1a A*F0a sub interM mul add def /B*FMa B*F0a B*F1a B*F0a sub interM mul add def %scalar product either 0 le or 0 gt L*FMa dowelFXU0 mul A*FMa dowelFXU1 mul add B*FMa dowelFXU2 mul add 0 ge {/inter0 interM def} {/inter1 interM def} ifelse } for %iint=0,8 %stop after 8 interations %output L*FMa, A*FMa, B*FMa } bind def %END procedure interpl %*********************************************************** /cmyolv*_to_LAB*l { %BEG procedure transfer cmyolv*_to_LAB*l %input olv* for IMODE=0 and cmy* for IMODE=1 %the following calculations based on olv* %procedure LAB*inoutl is required in advance IMODE 1 eq {%IMODE=1, input cmy* /o* 1 c* sub def /l* 1 m* sub def /v* 1 y* sub def } if %skip of olv* data <0 and >1 %o* 0 le {/o* 0.0001 def} if %special for inverse transfer! %l* 0 le {/l* 0.0001 def} if %v* 0 le {/v* 0.0001 def} if %o* 1 ge {/o* 0.9999 def} if %l* 1 ge {/l* 0.9999 def} if %v* 1 ge {/v* 0.9999 def} if %output olv* and cmy* for both olv* and cmy* input %n*n: relative blackness %r*n: relative chromaticness %w*n: relative whiteness %L*F: CIE lightness L* %A*F: CIE chromaticness a* %B*F: CIE chromaticness b* %C*F: CIE radial chroma Cab* %x*F: x-position of colour F %y*F: y-position of colour F %e*w: eigencolour value of F /tdel 0 def v* l* ge l* o* ge and tdel 0 eq and % v* >= l* >= o* equal y* <= m* <= c* %sector C-V of C-M, C>=M: i*p=0 {/w*n o* def /n*n 1 v* sub def /t*a v* l* sub def /array1 vLAB*s0 def % colour 1 is violet blue /t*b l* o* sub def /array2 cLAB*s0 def % colour 2 is cyan blue /i*p 0 def o* l* sub abs 0.001 le {/i*p 1 def} if /t*p l* l* v* add 0.0001 add div def /tdel 1 def } if % v* >= l* >= o* v* o* ge o* l* ge and tdel 0 eq and % v* >= o* >= l* equal y* <= c* <= m* %sector V-M of C-M, M>=C: i*p=1 {/w*n l* def /n*n 1 v* sub def /t*a v* o* sub def /array1 vLAB*s0 def % colour 1 is violet blue /t*b o* l* sub def /array2 mLAB*s0 def % colour 2 is magenta red /i*p 1 def v* o* sub abs 0.001 le {/i*p 2 def} if /t*p o* o* v* add 0.0001 add div def /tdel 1 def } if % v* >= o* >= l* o* v* ge v* l* ge and tdel 0 eq and % o* >= v* >= l* equal c* <= y* <= m* %sector M-O of M-Y, M>=Y: i*p=2 {/w*n l* def /n*n 1 o* sub def /t*a o* v* sub def /array1 oLAB*s0 def % colour 1 is orange /t*b v* l* sub def /array2 mLAB*s0 def % colour 2 is magenta red /i*p 2 def l* v* sub abs 0.001 le {/i*p 3 def} if /t*p v* v* o* add 0.0001 add div def /tdel 1 def } if % o* >= v* >= l* o* l* ge l* v* ge and tdel 0 eq and % o* >= l* >= v* equal c* <= m* <= y* %sector O-Y of M-Y, Y>=M: i*p=3 {/w*n v* def /n*n 1 o* sub def /t*a o* l* sub def /array1 oLAB*s0 def % colour 1 is orange red /t*b l* v* sub def /array2 yLAB*s0 def % colour 2 is yellow /i*p 3 def o* l* sub abs 0.001 le {/i*p 4 def} if /t*p l* l* o* add 0.0001 add div def /tdel 1 def } if % o* >= l* >= v* l* o* ge o* v* ge and tdel 0 eq and % l* >= o* >= v* equal m* <= c* <= y* %sector Y-L of Y-C, Y>=C: i*p=4 {/w*n v* def /n*n 1 l* sub def /t*a l* o* sub def /array1 lLAB*s0 def % colour 1 is leaf green /t*b o* v* sub def /array2 yLAB*s0 def % colour 2 is yellow /i*p 4 def o* v* sub abs 0.001 le {/i*p 5 def} if /t*p o* o* l* add 0.0001 add div def /tdel 1 def } if % l* >= o* >= v* l* v* ge v* o* ge and tdel 0 eq and % l* >= v* >= o* equal m* <= y* <= c* %sector L-C of Y-C, C>=Y: i*p=5 {/w*n o* def /n*n 1 l* sub def /t*a l* v* sub def /array1 lLAB*s0 def % colour 1 is leaf green /t*b v* o* sub def /array2 cLAB*s0 def % colour 2 is cyan blue /i*p 5 def l* v* sub abs 0.001 le {/i*p 0 def} if /t*p v* v* l* add 0.0001 add div def /tdel 1 def } if % l* >= v* >= o* %achromatic %W: o*, l*, v* = 1.00 1.0 o* sub abs 0.001 le 1.0 l* sub abs 0.001 le and 1.0 v* sub abs 0.001 le and %W special case {/i*p 6 def %W /e*w 0 def /n*n 0 def /w*n 1 def /t*a 0.0001 def /t*b 0.0001 def /t*p 0.0001 def } if %N: o*, l*, v* <= 0.001 o* abs 0.001 le l* abs 0.001 le and v* abs 0.001 le and %N special case {/i*p 6 def %N /e*w 0 def /n*n 1 def /w*n 0 def /t*a 0.0001 def /t*b 0.0001 def /t*p 0.0001 def } if %Achromatic o* l* sub abs 0.001 le l* v* sub abs 0.001 le and %Achromatic special case {/i*p 6 def %N /e*w 0 def /n*n 1 o* sub def /w*n o* def /t*a 0.0001 def /t*b 0.0001 def /t*p 0.0001 def } if /r*n 1 w*n sub n*n sub def /t*n 1 t*p sub def %w0-line of equal relative whiteness in colour triangle: y = 0.5 / h x + yw0 %n0-line of equal relative blackness in colour triangle: y = -0.5 / h x + yn0 %x*F = (yn0 - yw0) h %y*F = 0.5 (yn0 - yw0) + yw0 = 0.5 (yn0 + yw0) /h 0.75 sqrt def /yn0 1 n*n sub def /yw0 w*n def /x*F yn0 yw0 sub h mul def /y*F yn0 yw0 add 0.5 mul def /t*F y*F def %x*F / (1-y*F) = e*x / 1 %e*w = e*x /(2h) = [x*F / (1-y*F)]/(2h) %/e*w x*F 1 y*F sub div 2 h mul div def /e*w r*n n*n r*n add 0.0001 add div def %Eigencolor ratio r*n abs 0.001 le r*n abs 0.001 le and {/e*w 0.0001 def} if % with 0 for achromatic (c*n=0) and 1 for whitish colors (n*n=0) %cmyolv*_to_cmy* /c* 1 o* sub def /m* 1 l* sub def /y* 1 v* sub def %cmyolv*_to_LAB*Fs0 %L*Fs0 = w*n wLAB*s0(0) + n*n nLAB*s0(0) + t*a array1(0) + t*b array2(0) %A*Fs0 = w*n wLAB*s0(1) + n*n nLAB*s0(1) + t*a array1(1) + t*b array2(1) %B*Fs0 = w*n wLAB*s0(2) + n*n nLAB*s0(2) + t*a array1(2) + t*b array2(2) /L*Fs0 w*n wLAB*s0 0 get mul n*n nLAB*s0 0 get mul add t*a array1 0 get mul add t*b array2 0 get mul add def /A*Fs0 w*n wLAB*s0 1 get mul n*n nLAB*s0 1 get mul add t*a array1 1 get mul add t*b array2 1 get mul add def /B*Fs0 w*n wLAB*s0 2 get mul n*n nLAB*s0 2 get mul add t*a array1 2 get mul add t*b array2 2 get mul add def /L*Fsm t*a array1 0 get mul t*b array2 0 get mul add L*Ninp add def %LAB*Fs0_to_LAB*F /L*F L*Fs0 L*Ninp add def /l*CIE L*F L*Ninp sub L*Winp L*Ninp sub 0.0001 add div def /A*F A*Fs0 A*Ninp add A*Dinp l*CIE mul add def /B*F B*Fs0 B*Ninp add B*Dinp l*CIE mul add def %FOR CIELAB LCH /L*Finp L*F def /C*Fs0inp A*Fs0 dup mul B*Fs0 dup mul add 0.000001 add sqrt def /H*Fs0inp B*Fs0 A*Fs0 0.0001 add atan def } bind def %END procedure transfer cmyolv*_to_LAB*l /LAB*_to_cmyolv*l {%BEG procedure LAB*_to_cmyolv*l %default: ISYSTEM=0 to the Offset Reflective System (ORS) % ISYSTEM=1 to the Television Luminous System (TLS) % ISYSTEM=2 to the Color Device System (CDS) % ISYSTEM=3 to the Television Luminous Reflectance (TLR) /B*F exch def /A*F exch def /L*F exch def ISYSLAB 0 eq ISYSTEM 3 eq and {%achromatic transfer L*F,A*F,B*F (PR18) % -> L*Fsa, A*Fsa, B*Fsa (PR18) % -> L*F, A*F, B*F (TV18) %LAB*F_to_LAB*Fsa /l*CIE L*F L*Ninp sub L*Winp L*Ninp sub 0.0001 add div def /A*Fs0 A*F A*Ninp sub A*Dinp l*CIE mul sub def /B*Fs0 B*F B*Ninp sub B*Dinp l*CIE mul sub def /A*F A*Fs0 def /B*F B*Fs0 def } if %achromatic transfer L*F,A*F,B*F (PR18) /l*CIE L*F L*Noup sub L*Woup L*Noup sub 0.0001 add div def /L*Fs0 L*F L*Noup sub def /A*Fs0 A*F A*Noup sub A*Doup l*CIE mul sub def /B*Fs0 B*F B*Noup sub B*Doup l*CIE mul sub def /C*Fs0 A*Fs0 dup mul B*Fs0 dup mul add 0.000001 add sqrt def /L*Fout L*F def /C*Fs0out C*Fs0 def /H*Fs0out B*Fs0 A*Fs0 0.0001 add atan def % the angle formed by the input LAB* *color data in the A*B* plane /col_ang B*Fs0 A*Fs0 0.0001 add atan def %determine which two colours the LAB* *color data corresponds to %by testing the angles and solve the related four simultaneous equations %to find the olv *color data. % angle between magenta red and orange red, sector M-O of M-Y, M>=Y col_ang M*Ang ge col_ang O*Ang lt or {1 W*L*s0 W*A*s0 W*B*s0 1 N*L*s0 N*A*s0 N*B*s0 1 M*L*s0 M*A*s0 M*B*s0 1 O*L*s0 O*A*s0 O*B*s0 1 L*Fs0 A*Fs0 B*Fs0 Coeffprocl /c1*w exch def %O /c2*w exch def %M /n*w exch def /w*w exch def %magenta is a mixture of orange red and voilet blue, therefore leaf green(l) = white, %orange(o) = 1-black(n), voilet blue(v) = white + magenta red (c2*w) /v*n w*w c2*w add def % /l*n w*w def /o*n 1 n*w sub def /i*p 2 def /t*p v*n v*n o*n add 0.0001 add div def } if % angle between orange red and yellow, sector O-Y of M-Y, Y>=M col_ang O*Ang ge col_ang Y*Ang lt and {1 W*L*s0 W*A*s0 W*B*s0 1 N*L*s0 N*A*s0 N*B*s0 1 O*L*s0 O*A*s0 O*B*s0 1 Y*L*s0 Y*A*s0 Y*B*s0 1 L*Fs0 A*Fs0 B*Fs0 Coeffprocl /c1*w exch def %Y /c2*w exch def %O /n*w exch def /w*w exch def %yellow is a mixture of orange red and leaf green, therefore voilet blue(v) = white, %orange(o) = 1-black(n), leaf green(l) = white + yellow (c1*w) /l*n w*w c1*w add def /v*n w*w def /o*n 1 n*w sub def /i*p 3 def /t*p l*n l*n o*n add 0.0001 add div def } if % angle between yellow and leaf green, sector Y-L of Y-C, Y>=C col_ang Y*Ang ge col_ang L*Ang lt and {1 W*L*s0 W*A*s0 W*B*s0 1 N*L*s0 N*A*s0 N*B*s0 1 Y*L*s0 Y*A*s0 Y*B*s0 1 L*L*s0 L*A*s0 L*B*s0 1 L*Fs0 A*Fs0 B*Fs0 Coeffprocl /c1*w exch def %L /c2*w exch def %Y /n*w exch def /w*w exch def %yellow is a mixture of orange red and leaf green, therefore voilet blue(v) = white , %leaf green(l) = 1-black(n), orange red(o) = white + yellow (c2*w) /v*n w*w def /l*n 1 n*w sub def /o*n w*w c2*w add def /i*p 4 def /t*p o*n o*n l*n add 0.0001 add div def } if % angle between leaf green and cyan blue, sector L-C of Y-C, C>=Y col_ang L*Ang ge col_ang C*Ang lt and {1 W*L*s0 W*A*s0 W*B*s0 1 N*L*s0 N*A*s0 N*B*s0 1 L*L*s0 L*A*s0 L*B*s0 1 C*L*s0 C*A*s0 C*B*s0 1 L*Fs0 A*Fs0 B*Fs0 Coeffprocl /c1*w exch def %C /c2*w exch def %L /n*w exch def /w*w exch def %cyan is a mixture of leaf green and voilet blue, therefore orange red(o) = white, %leaf green(l) = 1-black(n), voilet blue(v) = white + cyan blue (c1*w) /v*n w*w c1*w add def /l*n 1 n*w sub def /o*n w*w def /i*p 5 def /t*p v*n v*n l*n add 0.0001 add div def } if % angle between cyan blue and voilet blue, sector C-V of C-M, C>=M col_ang C*Ang ge col_ang V*Ang lt and {1 W*L*s0 W*A*s0 W*B*s0 1 N*L*s0 N*A*s0 N*B*s0 1 C*L*s0 C*A*s0 C*B*s0 1 V*L*s0 V*A*s0 V*B*s0 1 L*Fs0 A*Fs0 B*Fs0 Coeffprocl /c1*w exch def %V /c2*w exch def %C /n*w exch def /w*w exch def %cyan is a mixture of leaf green and voilet blue, therefore orange red(o) = white, %violet blue(v) = 1-black(n), leaf green(l) = white + cyan blue (c2*w) /v*n 1 n*w sub def /l*n w*w c2*w add def /o*n w*w def /i*p 0 def /t*p l*n l*n v*n add 0.0001 add div def } if % angle between voilet blue and magenta red, sector V-M of C-M, M>=C col_ang V*Ang ge col_ang M*Ang lt and {1 W*L*s0 W*A*s0 W*B*s0 1 N*L*s0 N*A*s0 N*B*s0 1 V*L*s0 V*A*s0 V*B*s0 1 M*L*s0 M*A*s0 M*B*s0 1 L*Fs0 A*Fs0 B*Fs0 Coeffprocl /c1*w exch def %M /c2*w exch def %V /n*w exch def /w*w exch def %magenta is a mixture of orange red and voilet blue, therefore leaf green(l) = white, %violet(o) = 1-black(n), orange red(o) = white + magenta red (c1*w) /v*n 1 n*w sub def /l*n w*w def /o*n w*w c1*w add def /i*p 1 def /t*p o*n o*n v*n add 0.0001 add div def } if %achromatic %W: o*n, l*n, v*n = 1.00 1.0 o*n sub abs 0.001 le 1.0 l*n sub abs 0.001 le and 1.0 v*n sub abs 0.001 le and %W special case {/i*p 6 def %W /e*w 0 def /n*n 0 def /w*n 1 def /t*p 0.0001 def } if %N: o*n, l*n, v*n <= 0.01 o*n abs 0.001 le l*n abs 0.001 le and v*n abs 0.001 le and %N special case {/i*p 6 def %N /e*w 0 def /n*n 1 def /w*n 0 def /t*p 0.0001 def } if %Achromatic o*n l*n sub abs 0.001 le l*n v*n sub abs 0.001 le and %Achromatic special case {/i*p 6 def %N /e*w 0 def /n*n o*n def /w*n 1 o*n sub def /t*p 0.0001 def } if /c*w 1 o*n sub def /m*w 1 l*n sub def /y*w 1 v*n sub def /t*n 1 t*p sub def /r*w 1 n*w sub w*w sub def %Ostwald equation for radial chromaticness: %with r*w=radial chromaticness, n*w=blackness, w*w=whiteness /t*w 1 n*w sub r*w 0.5 mul add def %triangle lightness /e*w r*w n*w r*w add 0.0001 add div def %Eigencolor ratio r*w abs 0.001 le r*w abs 0.001 le and {/e*w 0.0001 def} if % with 0 for achromatic (c*w=0) and 1 for whitish colors (n*w=0) %Definition of elementary colors J, R, B, G %CIE x,y,Y for D65 to CIE L* a* b* = LAB* /xanJ 0.4449 def /yanJ 0.4909 def /YJ 77.82 def /xanR 0.5813 def /yanR 0.3236 def /YR 18.11 def /xanB 0.1701 def /yanB 0.1355 def /YB 9.35 def /xanG 0.1890 def /yanG 0.4496 def /YG 20.24 def /xanD65 0.3127 def /yanD65 0.3291 def /YD65 100.00 def /SumJ YJ yanJ div def /XJ xanJ SumJ mul def /ZJ 1 xanJ sub yanJ sub SumJ mul def /SumR YR yanR div def /XR xanR SumR mul def /ZR 1 xanR sub yanR sub SumR mul def /SumB YB yanB div def /XB xanB SumB mul def /ZB 1 xanB sub yanB sub SumB mul def /SumG YG yanG div def /XG xanG SumG mul def /ZG 1 xanG sub yanG sub SumG mul def /SumD65 YD65 yanD65 div def /XD65 xanD65 SumD65 mul def /ZD65 1 xanD65 sub yanD65 sub SumD65 mul def /ASJ xanJ yanJ div 0.3333 exp 0.2191 mul def /BSJ 1 xanJ sub yanJ sub yanJ div 0.3333 exp 0.08376 mul neg def /ASR xanR yanR div 0.3333 exp 0.2191 mul def /BSR 1 xanR sub yanR sub yanR div 0.3333 exp 0.08376 mul neg def /ASB xanB yanB div 0.3333 exp 0.2191 mul def /BSB 1 xanB sub yanB sub yanB div 0.3333 exp 0.08376 mul neg def /ASG xanG yanG div 0.3333 exp 0.2191 mul def /BSG 1 xanG sub yanG sub yanG div 0.3333 exp 0.08376 mul neg def /ASD65 xanD65 yanD65 div 0.3333 exp 0.2191 mul def /BSD65 1 xanD65 sub yanD65 sub yanD65 div 0.3333 exp 0.08376 mul neg def %/col_ang B* A* 0.0001 add atan def /J*L YJ 100 div 0.3333 exp 116 mul 16 sub def /R*L YR 100 div 0.3333 exp 116 mul 16 sub def /B*L YB 100 div 0.3333 exp 116 mul 16 sub def /G*L YG 100 div 0.3333 exp 116 mul 16 sub def /J*A ASJ ASD65 sub 500 mul def /J*B BSJ BSD65 sub 500 mul def /R*A ASR ASD65 sub 500 mul def /R*B BSR BSD65 sub 500 mul def /B*A ASB ASD65 sub 500 mul def /B*B BSB BSD65 sub 500 mul def /G*A ASG ASD65 sub 500 mul def /G*B BSG BSD65 sub 500 mul 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 /h1* (-) def /h2* (-) def /H 0 def /H1* (-) def /H2* (-) def /H 0 def /IEND 0 def col_ang R*Ang gt col_ang J*Ang le and {/H* col_ang R*Ang sub J*Ang R*Ang sub div def /p*F 0.00 H* 0.25 mul add def /h1* (r) def /h2* (j) def /H1* (R) def /H2* (J) def /HM* R*Ang def /HP* J*Ang def /IEND 1 def} if col_ang J*Ang gt col_ang G*Ang le and {/H* col_ang J*Ang sub G*Ang J*Ang sub div def /p*F 0.25 H* 0.25 mul add def /h1* (j) def /h2* (g) def /H1* (J) def /H2* (G) def /HM* J*Ang def /HP* G*Ang def /IEND 1 def} if col_ang G*Ang gt col_ang B*Ang le and {/H* col_ang G*Ang sub B*Ang G*Ang sub div def /p*F 0.50 H* 0.25 mul add def /h1* (g) def /h2* (b) def /H1* (G) def /H2* (B) def /HM* G*Ang def /HP* B*Ang def /IEND 1 def} if col_ang R*Ang le IEND 0 eq and {/Pcol_ang col_ang 360 add def} {/Pcol_ang col_ang def} ifelse Pcol_ang B*Ang gt Pcol_ang R*Ang 360 add le and {/H* Pcol_ang B*Ang sub R*Ang 360 add B*Ang sub div def /p*F 0.75 H* 0.25 mul add def /h1* (b) def /h2* (r) def /H1* (B) def /H2* (R) def /HM* B*Ang def /HP* R*Ang 360 add def} if /CIEF 100 88.60 div def /X* {L*F 16 add 116 div A*Fs0 500 div add } bind def /Y* {L*F 16 add 116 div } bind def /Z* {L*F 16 add 116 div B*Fs0 200 div sub} bind def /DecodeXYZ* { dup 6 29 div ge { dup dup mul mul } { 4 29 div sub 108 841 div mul } ifelse } bind def /XCIE {X* DecodeXYZ* 0.9505 mul} bind def /YCIE {Y* DecodeXYZ* } bind def /ZCIE {Z* DecodeXYZ* 1.0890 mul} bind def /XCIE1 {X* DecodeXYZ* 0.9505 mul CIEF mul} bind def /YCIE1 {Y* DecodeXYZ* CIEF mul} bind def /ZCIE1 {Z* DecodeXYZ* 1.0890 mul CIEF mul} bind def %Transformation X Y Z to RsRGB, GsRGB, BsRGB /RsRGB XCIE1 3.2406 mul YCIE1 -1.5372 mul add ZCIE1 -0.4986 mul add def /GsRGB XCIE1 -0.9686 mul YCIE1 1.8758 mul add ZCIE1 0.0415 mul add def /BsRGB XCIE1 0.0557 mul YCIE1 -0.2040 mul add ZCIE1 1.0570 mul add def /Slope 1.0 2.4 div def RsRGB 0.00313008 le {/R'sRGB RsRGB 12.92 mul def} {/R'sRGB RsRGB Slope exp 1.055 mul 0.055 sub def} ifelse GsRGB 0.00313008 le {/G'sRGB GsRGB 12.92 mul def} {/G'sRGB GsRGB Slope exp 1.055 mul 0.055 sub def} ifelse BsRGB 0.00313008 le {/B'sRGB BsRGB 12.92 mul def} {/B'sRGB BsRGB Slope exp 1.055 mul 0.055 sub def} ifelse c*w m*w y*w 0 %default output data definition } bind def %END procedure LAB*_to_cmyolv*l %%EndProlog gsave /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /cvishow {0.5 add cvi 6 string cvs show} def /cvsshow1 {0.05 add 10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {0.005 add 100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show} def /nr1 [(J50G) ( G) (G50B) (04) (05) (06) (07) (08) (09) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20)] def /tx1 [(J50G) ( J) (R50J) (D) (E) (F) (G) (H) (I) (J) (K) (L) (M) (N) (O) (P) (Q) (R) (S) (T) (U) (V) (W) (X) (Y) (Z)] def /nr2 [(R50J) ( R) (B50R) (04) (05) (06) (07) (08) (09) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20)] def /tx2 [(G50J) ( B) (B50R) (D) (E) (F) (G) (H) (I) (J) (K) (L) (M) (N) (O) (P) (Q) (R) (S) (T) (U) (V) (W) (X) (Y) (Z)] def /txc [(a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) (m) (n) (o) (p) (q) (r) (s) (t) (u) (v) (w) (x) (y) (z)] def /xchartg where {pop /xchart xchartg def} {/xchart 0 def} ifelse %xchart 0 eq {%beg if xchart=0 /xs 1000 def /ys xs def /d2 xs 2 div def /d8 xs 8 div def /xs5x xs 5.4 mul def /ys5x ys 5.4 mul def 8 /Times-ISOL1 FS 72 82.5 moveto ( LE920-7, ) show (Elementar- und Mittelfarben (8 Farben) und Grau;) showde (Elementary and intermediate colours (8 colours) and grey;) showen ( Ger\344teunah\344ngige Farbkoordinaten LAB*) showde ( Device independent colour coordinates LAB*) showen ( als Eingabe; ) showde ( as input; ) showen xchart 0 eq {(RJGB und R50J, J50G, G50B, B50R definiert in LAB*) showde (RJGB and R50J, J50G, G50B, B50R defined in LAB*) showen} if xchart 1 eq {(RJGB definiert von Miescher und R50J, J50G, G50B, B50R interpoliert) showde (RJGB defined by Miescher and R50J, J50G, G50B, B50R interpolated) showen} if xchart 2 eq {(RJGB definiert durch CIE (Nr. 9 bis 12); R50J, J50G, G50B, B50R interpoliert) showde (RJGB defined by CIE (no. 9 to 12) and R50J, J50G, G50B, B50R interpolated) showen} if 72 90 translate 0.01 MM dup scale 0.5 0.5 0.5 setrgbcolor 0 0 moveto 25000 0 rlineto 0 17000 rlineto -25000 0 rlineto closepath fill 0 100 translate 20 setlinewidth 550 /Times-ISOL1 FS 0 0 0 setrgbcolor 1 1 3 {/i exch def %i=1,3 /x xs5x 0.68 mul 600 sub def /y 19.0 ys mul ys5x i mul sub def x y moveto nr1 i 1 sub get show /x 20800 def x y moveto nr2 i 1 sub get show } for %i=1,3 1 1 3 {/i exch def %i=1,3 /x xs5x i 0.2 add mul 300 add def /y 16.5 ys mul def x y moveto tx1 i 1 sub get show /y -90 def x y moveto tx2 i 1 sub get show } for %i=1,3 % default ISYSLAB=0 definitions of input colours to system LAB*ORS % default ISYSTEM=0 definitions of output colours to system LAB*ORS /ISYSLAB 2 def /ISYSTEM 2 def /IMODE 0 def /x xs 0.1 mul def /y ys 12.0 mul def x y moveto (System: ) show ISYSLAB 0 eq {(ORS18) show} if ISYSLAB 1 eq {(TLS00) show} if ISYSLAB 2 eq {(DRS18) show} if ISYSLAB 3 eq {(TLS18) show} if /xmin 200 def /ymax 15500 def /xd 800 def /yd 800 def /xd5x xs5x 200 sub def /yd5x ys5x 200 sub def /TN {330 /Times-ISOL1 FS} def /TI {330 /TimesI-ISOL1 FS} def /TB {330 /TimesB-ISOL1 FS} def /xyYe %Miescher Farbkreis D65 [ 0.5813 0.3236 18.11 %0 5 R 0.5419 0.4083 45.44 %1 2 JR 0.4449 0.4909 77.82 %2 1 J 0.2990 0.5351 45.15 %3 0 JG 0.1890 0.4496 20.24 %4 3 G 0.1607 0.2650 14.56 %5 6 GB 0.1701 0.1355 9.35 %6 7 B 0.2909 0.1526 8.47 %7 8 BR 0.3127 0.3291 18.01 %8 4 N (TV18) ] def /XYZe 27 array def %(e=elementary colours) /LAB*e 27 array def /LAB*ea 27 array def %adapted for lightness 0 1 8 {/i exch def /i30 i 3 mul def %i=0,8 /i31 i30 1 add def /i32 i30 2 add def /SUM xyYe i32 get xyYe i31 get div def XYZe i30 xyYe i30 get SUM mul put XYZe i31 xyYe i32 get put XYZe i32 1 xyYe i30 get sub xyYe i31 get sub SUM mul put } for %i=0,8 0 1 8 {/i exch def /i30 i 3 mul def %i=0,9 /i31 i30 1 add def /i32 i30 2 add def /XS XYZe i30 get def /YS XYZe i31 get def /ZS XYZe i32 get def %transformation CIEXYZ to CIELAB /XQ XS 95.05 div def /YQ YS 100.00 div def /ZQ ZS 108.90 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if LAB*e i30 YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put LAB*e i31 XQ 0.008856 lt {7.787 XQ mul 16 116 div add} {XQ 0.33333333 exp} ifelse YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse sub 500 mul put LAB*e i32 YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add} {ZQ 0.33333333 exp} ifelse sub 200 mul put } for %i=0,8 xchart 2 eq { %xchart=2, LAB*e CIE-test colours /LAB*e %CIE-Test colours no. 9 to 12 as elementary colour [ 39.92 58.74 27.99 % R: CIE-TF09 ISO/IEC 15775 Tab. 2 00.00 00.00 00.00 % not defined 81.26 -2.89 71.56 % J: CIE-TF10 ISO/IEC 15775 Tab. 2 00.00 00.00 00.00 % not defined 52.23 -42.42 13.60 % G: CIE-TF11 ISO/IEC 15775 Tab. 2 00.00 00.00 00.00 % not defined 30.57 1.41 -46.47 % B: CIE-TF12 ISO/IEC 15775 Tab. 2 00.00 00.00 00.00 % not defined 56.70 00.00 00.00 % Mean gray ] def } if %xchart=2, LAB* CIE-test colours xchart 1 ge { %interpolation R50J, J50G, G50B, B50R in LAB*e 1 2 7 {/i exch def /i30 i 3 mul def %i=1,3,5,7 /i31 i30 1 add def /i32 i30 2 add def /i30m i30 3 sub def /i31m i31 3 sub def /i32m i32 3 sub def /i30p i30 3 add def /i31p i31 3 add def /i32p i32 3 add def i 7 eq {/i30p 0 def /i31p 1 def /i32p 2 def} if LAB*e i30 LAB*e i30m get LAB*e i30p get add 0.5 mul put LAB*e i31 LAB*e i31m get LAB*e i31p get add 0.5 mul put LAB*e i32 LAB*e i32m get LAB*e i32p get add 0.5 mul put } for %i=1,3,5,7 } if %interpolation R50J, J50G, G50B, B50R in LAB* %defines L*/A*/B*Ninp, L*/A*/B*Winp LAB*inoutl %achromatic transfer LAB*e (PR18, TV18) -> LAB*ea (PR18a, TV18) 0 1 8 {/iISO exch def %iISO=0,8 /i30 iISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def LAB*ea i30 LAB*e i30 get put /l*CIE LAB*e i30 get L*Ninp sub L*Winp L*Ninp sub div def %system rel. l /a*s A*Winp A*Ninp sub l*CIE mul def /b*s B*Winp B*Ninp sub l*CIE mul def LAB*ea i31 LAB*e i31 get A*Ninp sub a*s sub put LAB*ea i32 LAB*e i32 get B*Ninp sub b*s sub put } for %iISO=0,8 /XYZne [3 2 1 4 8 0 5 6 7] def 0 1 2 {/j exch def %beg j=0,2 %g 0 1 2 {/i exch def %beg i=0,2 %b i 1 ne j 1 ne or { %if i#1,j#1 or /n j 3 mul i add def %index /ij XYZne n get def %CIEXYZ coordinates of elementary colours /L*Fa LAB*ea ij 3 mul 0 add get def /A*Fa LAB*ea ij 3 mul 1 add get def /B*Fa LAB*ea ij 3 mul 2 add get def L*Fa A*Fa B*Fa dowell interpl %colour of maximum chroma for the elementary hues L*FMa A*FMa B*FMa /L*FM L*FMa def /l*CIE L*FM L*Ninp sub L*Winp L*Ninp sub 0.0001 add div def /A*FM A*FMa A*Ninp add A*Dinp l*CIE mul add def /B*FM B*FMa B*Ninp add B*Dinp l*CIE mul add def L*FM A*FM B*FM LAB*_to_cmyolv*l /x xmin i 0.82 add xs5x mul add def /y ymax j 0.8 add ys5x mul sub def /o* o*n def /l* l*n def /v* v*n def o* l* v* setrgbcolor x y moveto xd5x 0 rlineto 0 yd5x rlineto xd5x neg 0 rlineto closepath fill 1 1 1 setrgbcolor x 400 add y 400 add moveto xd5x 800 sub 0 rlineto 0 yd5x 800 sub rlineto xd5x 800 sub neg 0 rlineto closepath fill 0 0 0 setrgbcolor cmyolv*_to_LAB*l %olv*, cmy* /ytabm ymax 200 add j ys5x mul sub def /ytabd 280 def /ytab1 ytabm ytabd 1 mul sub def /ytab2 ytabm ytabd 2 mul sub def /ytab3 ytabm ytabd 3.1 mul sub def /ytab4 ytabm ytabd 4.1 mul sub def /ytabn ytabm ytabd 5.1 mul sub def /ytab5 ytabm ytabd 6.1 mul sub def /ytab6 ytabm ytabd 7.2 mul sub def /ytab7 ytabm ytabd 8.2 mul sub def /ytab8 ytabm ytabd 9.2 mul sub def /ytab9 ytabm ytabd 10.2 mul sub def /ytab10 ytabm ytabd 11.3 mul sub def /ytab11 ytabm ytabd 12.3 mul sub def /ytab12 ytabm ytabd 13.3 mul sub def /ytab13 ytabm ytabd 14.3 mul sub def /xtabm xmin 4900 add i xs5x mul add def /xtabd 1000 def /xtab1 xtabm xtabd 1.1 mul add def /xtab2 xtabm xtabd 2.2 mul add def /xtab3 xtabm xtabd 3.3 mul add def xtabm ytabm moveto TB (Inform. Techn. (IT) relative: ) show xtabm ytab1 moveto TI (olv*) show TN xtab1 ytab1 moveto o*n cvsshow3 xtab2 ytab1 moveto l*n cvsshow3 xtab3 ytab1 moveto v*n cvsshow3 xtabm ytab2 moveto TI (cmy*) show TN xtab1 ytab2 moveto c*w cvsshow3 xtab2 ytab2 moveto m*w cvsshow3 xtab3 ytab2 moveto y*w cvsshow3 xtabm ytab3 moveto TB (CIELAB absolute: ) show xtabm ytab4 moveto TI (LAB*) show TN xtab1 ytab4 moveto L*F cvsshow2 xtab2 ytab4 moveto A*F cvsshow2 xtab3 ytab4 moveto B*F cvsshow2 xtabm ytabn moveto TI (LAB*a) show TN xtab1 ytabn moveto L*Finp cvsshow2 xtab2 ytabn moveto A*Fs0 cvsshow2 xtab3 ytabn moveto B*Fs0 cvsshow2 xtabm ytab5 moveto TI (LCH*a) show TN xtab1 ytab5 moveto L*Finp cvsshow2 xtab2 ytab5 moveto C*Fs0inp cvsshow2 xtab3 ytab5 moveto H*Fs0inp cvsshow2 %tab xtabm ytab6 moveto TB (CIELAB relative:) show xtabm ytab7 moveto TI (tab*) show TN xtab1 ytab7 moveto t*F cvsshow3 /r*x r*w H*Fs0inp cos mul def /r*y r*w H*Fs0inp sin mul def xtab2 ytab7 moveto r*x cvsshow3 xtab3 ytab7 moveto r*y cvsshow3 xtabm ytab8 moveto TI (tch*) show TN xtab1 ytab8 moveto t*F cvsshow3 xtab2 ytab8 moveto r*w cvsshow3 xtab3 ytab8 moveto H*Fs0inp 360 div cvsshow3 xtabm ytab9 moveto TI (nwl*) show TN xtab1 ytab9 moveto n*w cvsshow3 xtab2 ytab9 moveto w*w cvsshow3 xtab3 ytab9 moveto l*CIE cvsshow3 %NCS xtabm ytab10 moveto TB (Natural Colour (NC) relative:) show xtabm ytab11 moveto TI (trj*) show TN xtab1 ytab11 moveto t*F cvsshow3 /r*x r*w p*F 360 mul cos mul def /r*y r*w p*F 360 mul sin mul def xtab2 ytab11 moveto r*x cvsshow3 xtab3 ytab11 moveto r*y cvsshow3 xtabm ytab12 moveto TI (tce*) show TN xtab1 ytab12 moveto t*F cvsshow3 xtab2 ytab12 moveto r*w cvsshow3 xtab3 ytab12 moveto p*F cvsshow3 xtabm ytab13 moveto TI (nce*) show TN xtab1 ytab13 moveto n*w cvsshow3 xtab2 ytab13 moveto r*w cvsshow3 xtab3 ytab13 moveto h1* show H* 100 mul truncate cvi dup 10 lt {(0) show } if 6 string cvs show h2* show } if %if i#1,j#1 or } for %end i=0,2 } for %end j=0,2 0 -100 translate grestore showpage %} if %end if xchart=0 %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 020 MM translate 12 /Times-ISOL1 FS -9 MM -7 MM moveto ( ) show 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 18 %line 409 %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 197 MM translate 10 /Times-ISOL1 FS 1 1 scale -77 -91 translate %%BeginDocument: Bild 12 %line 419 %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 21 %line 429 %!PS-Adobe-3.0 EPSF-3.0 LE92:L11-1N.EPS 20030301 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (LE92:L11-1N.EPS) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 22 %line 439 %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 23 %line 449 %!PS-Adobe-3.0 EPSF-3.0 LE92:L11-3N.EPS 20030301 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (LE92:L11-3N.EPS) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 24 %line 459 %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 25 %line 469 %!PS-Adobe-3.0 EPSF-3.0 LE92:L11-5N.EPS 20030301 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (LE92:L11-5N.EPS) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 26 %line 479 %%EndDocument EndEPSF grestore gsave BeginEPSF 251 MM 020 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 27 %line 489 %!PS-Adobe-3.0 EPSF-3.0 LE92:L11-7N.EPS 20030301 %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (LE92:L11-7N.EPS) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 020 MM translate 12 /Times-ISOL1 FS -9 MM -7 MM moveto ( ) show 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 28 %line 499 %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 080 MM add 008 MM translate %80 MM Breite von TestStreifen 10 /Times-ISOL1 FS 53 MM 1 MM moveto () show 1 1 scale -77 21 MM sub -91 translate %%BeginDocument: Bild 29 Teststreifen Ueberlaenge %line 509 %%EndDocument EndEPSF grestore gsave BeginEPSF -0.0 MM -0.0 MM translate %xy-Verschiebung Rechteckrahmen nach innen% %%BeginDocument: Bild 30 %Rechteckrahmen %line 519 %!PS-Adobe-3.0 EPSF-3.0 Frame arround with Internet text DG02 20070901 %%BoundingBox: 0 0 598 845 %%EndProlog gsave /lanind 1 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showm {6 lanind eq {show} {pop} ifelse} bind def /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 0 def /lanind2 0 def} ifelse /colormg where {pop /colorm1 colormg def /colorm2 colormg def} {/colorm1 0 def /colorm2 0 def} ifelse /xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def} {/xcolor1 0 def /xcolor2 0 def} ifelse /xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def} {/xchart1 0 def /xchart2 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage /colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage /xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage /xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop %/IMES IMES def } {/IMES 0 def} ifelse /i*ptrsc where {pop %/i*ptrsc i*ptrsc def } {/i*ptrsc 0 def} ifelse gsave /xchartg where {pop /xchart xchartg def} {/xchart 0 def} ifelse /scountg where {pop /scount scountg def} {/scount 1 def} ifelse %xchart 0 eq {%beg if xchart=0 0 setgray 1.0 1.0 scale 0.0 MM 0.0 MM translate 0.15 MM setlinewidth /x 20 array def /y 20 array def /d 20 array def /x [000 296 296 000 002 294 294 002 005 291 291 005 %speziell 006 290 290 006 008 288 288 008 ] def /y [000 000 210 210 002 002 208 208 005 005 205 205 %speziell 006 006 204 204 008 008 202 202 ] def /d [060 017 -60 -17 058 015 -58 -15 056 013 -56 -13 054 011 -54 -11 052 009 -52 -09 ] def /xlu 017 MM def /ylu 017 MM def /xro 279 MM def /yro 193 MM def /xlo 017 MM def /ylo 193 MM def /xru 279 MM def /yru 017 MM def xlu 8 MM sub ylu moveto 16 MM 0 rlineto stroke xlu ylu 8 MM sub moveto 0 58 MM rlineto stroke xro 8 MM add yro moveto -58 MM 0 rlineto stroke xro yro 8 MM add moveto 0 -16 MM rlineto stroke xru 8 MM sub yru moveto 16 MM 0 rlineto stroke xru yru 8 MM sub moveto 0 16 MM rlineto stroke xlo 8 MM add ylo moveto -16 MM 0 rlineto stroke xlo ylo 8 MM add moveto 0 -16 MM rlineto stroke 1 2 7 {/i exch def %Zentrierkreise xlu ylu i MM 0 360 arc stroke xro yro i MM 0 360 arc stroke xru yru i MM 0 360 arc stroke xlo ylo i MM 0 360 arc stroke } for %i 12 4 16 {/i exch def /i0 i def %i=0,16 %0 4 16 {/i exch def /i0 i def %i=0,16 /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def i 16 eq {0.30 MM setlinewidth} {0.15 MM setlinewidth} ifelse 0 setgray x i0 get MM y i0 get MM moveto x i1 get MM y i1 get MM lineto x i2 get MM y i2 get MM lineto x i3 get MM y i3 get MM lineto x i0 get MM y i0 get MM lineto stroke i 16 eq {6 /Times-ISOL1 FS /x00 67 def /xdif 32 def /y0o 202.3 def /y0u 6.3 def /x0l 6.1 def /x0r 288 def /y00 22 def /ydif 32 def x00 xdif 0 mul add MM y0o MM moveto (V) show x00 xdif 0 mul add MM y0u MM moveto (C) show x00 xdif 1 mul add MM y0o MM moveto (L) show x00 xdif 1 mul add MM y0u MM moveto (M) show x00 xdif 2 mul add MM y0o MM moveto (O) show x00 xdif 2 mul add MM y0u MM moveto (Y) show x00 xdif 3 mul add MM y0o MM moveto (Y) show x00 xdif 3 mul add MM y0u MM moveto (O) show x00 xdif 4 mul add MM y0o MM moveto (M) show x00 xdif 4 mul add MM y0u MM moveto (L) show x00 xdif 5 mul add MM y0o MM moveto (C) show x00 xdif 5 mul add MM y0u MM moveto (V) show x0l MM y00 ydif 0 mul add MM moveto (V) show x0r MM y00 ydif 0 mul add MM moveto (C) show x0l MM y00 ydif 1 mul add MM moveto (L) show x0r MM y00 ydif 1 mul add MM moveto (M) show x0l MM y00 ydif 2 mul add MM moveto (O) show x0r MM y00 ydif 2 mul add MM moveto (Y) show x0l MM y00 ydif 3 mul add MM moveto (Y) show x0r MM y00 ydif 3 mul add MM moveto (O) show x0l MM y00 ydif 4 mul add MM moveto (M) show x0r MM y00 ydif 4 mul add MM moveto (L) show x0l MM y00 ydif 5 mul add MM moveto (C) show x0r MM y00 ydif 5 mul add MM moveto (V) show } if } for %i=0,16 0 1 10 {/j0 exch def /j1 j0 1 add def %j0 j0 0 eq {tzccmy0* setcmykcolor} if j0 1 eq {0 setgray} if j0 2 eq {tzmcmy0* setcmykcolor} if j0 3 eq {0 setgray} if j0 4 eq {tzycmy0* setcmykcolor} if j0 5 eq {0 setgray} if j0 6 eq {tzocmy0* setcmykcolor} if j0 7 eq {0 setgray} if j0 8 eq {tzlcmy0* setcmykcolor} if j0 9 eq {0 setgray} if j0 10 eq {tzvcmy0* setcmykcolor} if 12 4 16 {/i exch def /i0 i def %i=0,16 %0 4 16 {/i exch def /i0 i def %i=0,16 /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def i 16 eq {0.30 MM setlinewidth} {0.15 MM setlinewidth} ifelse x i0 get d i0 get add 16 j0 mul add MM y i0 get MM moveto x i0 get d i0 get add 16 j1 mul add MM y i0 get MM lineto stroke x i1 get MM y i1 get d i1 get add 16 j0 mul add MM moveto x i1 get MM y i1 get d i1 get add 16 j1 mul add MM lineto stroke x i2 get d i2 get add 16 j0 mul sub MM y i2 get MM moveto x i2 get d i2 get add 16 j1 mul sub MM y i2 get MM lineto stroke x i3 get MM y i3 get d i3 get add 16 j0 mul sub MM moveto x i3 get MM y i3 get d i3 get add 16 j1 mul sub MM lineto stroke } for %i=0,16 } for %j0 0.15 MM setlinewidth /s 7 MM def /s1 8 MM def /s5 36 MM def 16 1 20 {/j exch def /j0 j 16 sub def %j=16,20 /ix0 xlu 8 MM add j0 7 MM mul add def /iy0 ylu 8 MM sub def 0 1 3 {/ij exch def %ij=0,3 ij 0 eq {/ix0 xlu 8 MM add j0 7 MM mul add def /iy0 ylu 8 MM sub def} if ij 1 eq {/ix0 xru 43 MM sub j0 7 MM mul add def /iy0 yru 8 MM sub def} if ij 2 eq {/ix0 xlo 8 MM add j0 7 MM mul add def /iy0 ylo 1 MM add def} if ij 3 eq {/ix0 xro 43 MM sub j0 7 MM mul add def /iy0 yro 1 MM add def} if i*ptrsc 0 eq i*ptrsc 2 eq or {%i*ptrsc=0,2 cmy0* setcmykcolor j 16 eq {tzan j get dup dup 0 setcmykcolor ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if tzan j get dup dup 0 setcmykcolor ix0 iy0 s s rec fill } if %i*ptrsc=0,2 i*ptrsc 1 eq i*ptrsc 3 eq or {%i*ptrsc=1,3 www* setrgbcolor j 16 eq {1 tzan j get 1 sub dup dup setrgbcolor %N ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if 1 tzan j get sub dup dup setrgbcolor %N ix0 iy0 s s rec fill } if %i*ptrsc=1,3 i*ptrsc 4 eq i*ptrsc 5 eq or {%i*ptrsc=4,5 [/CIEBasedABC << %Farbraum und Grenzen fuer D65 /RangeABC [0 100 -128 127 -128 127] /DecodeABC [{16 add 116 div} bind {500 div} bind {200 div} bind] /MatrixABC [1 1 1 1 0 0 0 0 -1] /DecodeLMN [{dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse 0.9505 mul} bind {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse 1.0890 mul} bind] /WhitePoint [0.9505 1 1.089] %CIEXYZ fuer D65 >>] setcolorspace j 16 eq {tznLAB* 0 get tzwLAB* 0 get tznLAB* 0 get sub 0.25 j0 mul mul add tznLAB* 1 get tzwLAB* 1 get tznLAB* 1 get sub 0.25 j0 mul mul add tznLAB* 2 get tzwLAB* 2 get tznLAB* 2 get sub 0.25 j0 mul mul add setcolor %N ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if tznLAB* 0 get tzwLAB* 0 get tznLAB* 0 get sub 0.25 j0 mul mul add tznLAB* 1 get tzwLAB* 1 get tznLAB* 1 get sub 0.25 j0 mul mul add tznLAB* 2 get tzwLAB* 2 get tznLAB* 2 get sub 0.25 j0 mul mul add setcolor %N ix0 iy0 s s rec fill } if %i*ptrsc=4,5 i*ptrsc 6 eq {%i*ptrsc=6 000n* setcmykcolor j 16 eq {0 0 0 tzan j get setcmykcolor ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if 0 0 0 tzan j get setcmykcolor ix0 iy0 s s rec fill } if %i*ptrsc=6 i*ptrsc 7 eq {%i*ptrsc=7 w* setgray j 16 eq {1 tzan j get sub setgray ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if 1 tzan j get sub setgray ix0 iy0 s s rec fill } if %i*ptrsc=7 } for %ij=0,3 } for %j=16,20 0 setgray 018 MM 008.2 MM moveto 6 /Times-Roman FS (-8) show 018 MM 006.2 MM moveto 6 /Times-Roman FS (-6) show 276 MM 008.2 MM moveto 6 /Times-Roman FS (-8) show 276 MM 006.2 MM moveto 6 /Times-Roman FS (-6) show 018 MM 202.2 MM moveto 6 /Times-Roman FS (-8) show 018 MM 204.2 MM moveto 6 /Times-Roman FS (-6) show 276 MM 202.2 MM moveto 6 /Times-Roman FS (-8) show 276 MM 204.2 MM moveto 6 /Times-Roman FS (-6) show 0 setgray 12 /Times-ISOL1 FS 61 MM 09 MM moveto (Elementar- und Mittelfarben (8 Farben) und Grau) showde (Elementary and intermediate colours (8 colours) and grey) showen (Elementary and intermediate colours (8 colours) and grey) showes (Elementary and intermediate colours (8 colours) and grey) showfr (Elementary and intermediate colours (8 colours) and grey) showit (Elementary and intermediate colours (8 colours) and grey) showjp (Elementary and intermediate colours (8 colours) and grey) showm 61 MM 13 MM moveto (BAM\255Pr\374fvorlage Nr. LE92; Referenz: ) showde (BAM\255test chart no. LE92; Reference: ) showen (BAM\255test chart no. LE92; Reference: ) showes (BAM\255test chart no. LE92; Reference: ) showfr (BAM\255test chart no. LE92; Reference: ) showit (BAM\255test chart no. LE92; Reference: ) showjp (BAM\255test chart no. LE92; Reference: ) showm xchart 1 le {(Miescher-Farben) showde (Miescher colours) showen} {(CIE-Farben) showde (CIE colours) showen} ifelse 12 /TimesI-ISOL1 FS ( RJGB) show 12 /Times-ISOL1 FS %xchart cvishow %1 setgray %start white and unvisible %140 MM 13 MM moveto %lanindg 0 eq {(Stufe: ) show}{(Step: ) show} ifelse %LSC$ (N) eq {(S1) show} {(S2) show} ifelse %0 setgray %end white and unvisible 172 MM 13 MM moveto (input: ) show 12 /Times-Italic FS (olv* setrgbcolor) show 12 /Times-ISOL1 FS 172 MM 9 MM moveto (output: ) show 12 /Times-Italic FS LSC$ (N) eq { (no change compared to input) show } if %1 setgray %start white and unvisible LSC$ (S) eq { (Startup (S) data dependend) show } if LSC$ (F) eq { 12 /Times-Italic FS i*ptrsc 0 eq {(cmy0* / 000n* setcmykcolor) show} if i*ptrsc 1 eq {(olv* setrgbcolor / w* setgray) show} if i*ptrsc 2 eq {(cmy0* / nnn0* setcmykcolor) show} if i*ptrsc 3 eq {(olv* / www* setrgbcolor) show} if i*ptrsc 4 eq {(lab* setcolor) show} if i*ptrsc 5 eq {(LAB* setcolor) show} if i*ptrsc 6 eq {(000n* setcmykcolor) show} if i*ptrsc 7 eq {(w* setgray) show} if } if %0 setgray %end white and unvisible 12 /Times-ISOL1 FS 62 MM 198.5 MM moveto (www.ps.bam.de/LE92/L92) show LSS$ show (00) show LSC$ show LEX$ show %1 setgray %start white and unvisible (; ) show LSC$ (N) eq { (Start\255Ausgabe) showde (start output) showen (start output) showes (start output) showfr (start output) showit (start output) showjp (start output) showm } if LSC$ (C) eq { (Start\255Ausgabe) showde (start output) showen (start output) showes (start output) showfr (start output) showit (start output) showjp (start output) showm } if LSC$ (F) eq { (Linearisierte\255Ausgabe) showde (linearized output) showen (linearized output) showes (linearized output) showfr (linearized output) showit (linearized output) showjp (linearized output) showm } if 62 MM 194 MM moveto LSC$ (N) eq LSC$ (C) eq or { (N: Keine Ausgabe\255Linearisierung (OL) in Datei (F), Startup (S), Ger\344t (D)) showde (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showen (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showes (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showfr (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showit (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showjp (N: No Output Linearization (OL) data in File (F), Startup (S) or Device (D)) showm } {LSC$ show (: ) show (Ausgabe\255Linearisierung (OL\255Daten) ) showde (Output Linearization (OL) data ) showen (Output Linearization (OL) data ) showes (Output Linearization (OL) data ) showfr (Output Linearization (OL) data ) showit (Output Linearization (OL) data ) showjp (Output Linearization (OL) data ) showm (LE92/L92) show LSS$ show (00) show LSC$ show LEY$ show } ifelse LSC$ (F) eq { ( in der Datei (F)) showde ( in File (F)) showen ( in File (F)) showes ( in File (F)) showfr ( in File (F)) showit ( in File (F)) showjp ( in File (F)) showm } if LSC$ (S) eq { ( im Distiller Startup (S) Directory) showde ( in Distiller Startup (S) Directory) showen ( in Distiller Startup (S) Directory) showes ( in Distiller Startup (S) Directory) showfr ( in Distiller Startup (S) Directory) showit ( in Distiller Startup (S) Directory) showjp ( in Distiller Startup (S) Directory) showm } if LSC$ (D) eq { ( in PostScript Device (D)) showde ( in PostScript Device (D)) showen ( in PostScript Device (D)) showes ( in PostScript Device (D)) showfr ( in PostScript Device (D)) showit ( in PostScript Device (D)) showjp ( in PostScript Device (D)) showm } if LSC$ (T) eq { ( von Distiller Startup (S) Directory) showde ( of Distiller Startup (S) Directory) showen ( of Distiller Startup (S) Directory) showes ( of Distiller Startup (S) Directory) showfr ( of Distiller Startup (S) Directory) showit ( of Distiller Startup (S) Directory) showjp ( of Distiller Startup (S) Directory) showm } if LSC$ (E) eq { ( von PostScript Device (D)) showde ( of PostScript Device (D)) showen ( of PostScript Device (D)) showes ( of PostScript Device (D)) showfr ( of PostScript Device (D)) showit ( of PostScript Device (D)) showjp ( of PostScript Device (D)) showm } if %0 setgray %end white and unvisible 16 MM 185 MM moveto -90 rotate (Siehe \344hnliche Dateien: ) showde (See for similar files: ) showen (See for similar files: ) showes (See for similar files: ) showfr (See for similar files: ) showit (See for similar files: ) showjp (See for similar files: ) showm (http://www.ps.bam.de/LE92/; www.ps.bam.de/LE.HTM) show 90 rotate 12 MM 185 MM moveto -90 rotate (Technische Information: ) showde (Technical information: ) showen (Informaci\363n t\351cnica en: ) showes (Technical information: ) showfr (Technical information: ) showit (Technical information: ) showjp (Technical information: ) showm (http://www.ps.bam.de) show 90 rotate 12 MM 103 MM moveto -90 rotate (Version 2.1, io=1,) show LSC$ (N) eq {(1) show} if LSC$ (S) eq {(1?) show} if LSC$ (D) eq {(1?) show} if LSC$ (F) eq {i*ptrsc cvishow ISYSLAB 0 eq {IMES 0 eq {(; iORS) show} {(; iLRS) show} ifelse} if ISYSLAB 1 eq {IMES 0 eq {(; iTLS) show} {(; iTRS) show} ifelse} if ISYSLAB 2 eq {IMES 0 eq {(; iDLS) show} {(; iDRS) show} ifelse} if ISYSLAB 3 eq {IMES 0 eq {(; iTLR) show} {(; iTLS) show} ifelse} if ISYSLAB 4 eq {IMES 0 eq {(; iDRS) show} {(; iDLS) show} ifelse} if ISYSTEM 0 eq {IMES 0 eq {(; oORS) show} {(; oLRS) show} ifelse} if ISYSTEM 1 eq {IMES 0 eq {(; oTLS) show} {(; oTRS) show} ifelse} if ISYSTEM 2 eq {IMES 0 eq {(; oDLS) show} {(; oDRS) show} ifelse} if ISYSTEM 3 eq {IMES 0 eq {(; oTLR) show} {(; oTLS) show} ifelse} if ISYSTEM 4 eq {IMES 0 eq {(; oDRS) show} {(; oDLS) show} ifelse} if IMES 0 eq {(, CIELAB) show} {(, CIEXYZ) show} ifelse } if 90 rotate 281 MM 185 MM moveto -90 rotate (BAM\255Registrierung: 20070901\255LE92/L92) showde (BAM registration: 20070901\255LE92/L92) showen (BAM registration: 20070901\255LE92/L92) showes (BAM registration: 20070901\255LE92/L92) showfr (BAM registration: 20070901\255LE92/L92) showit (BAM registration: 20070901\255LE92/L92) showjp (BAM registration: 20070901\255LE92/L92) showm LSS$ show (00) show LSC$ show LEX$ show 90 rotate 281 MM 74 MM moveto -90 rotate (BAM\255Material: Code=rha4ta) showde (BAM material: code=rha4ta) showen (BAM material: code=rha4ta) showes (BAM material: code=rha4ta) showfr (BAM material: code=rha4ta) showit (BAM material: code=rha4ta) showjp (BAM material: code=rha4ta) showm 90 rotate 277 MM 185 MM moveto -90 rotate /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def ( Anwendung f\374r Messung von Drucker- oder Monitorsystemen) showde ( application for measurement of printer or monitor systems) showen ( application for measurement of printer or monitor systems) showes ( application for measurement of printer or monitor systems) showfr ( application for measurement of printer or monitor systems) showit ( application for measurement of printer or monitor systems) showjp ( application for measurement of printer or monitor systems) showm IMES 1 eq LSC$ (N) ne and { %IMES=1 (, Yr=) show Yre cvsshow1 (, XYZ) show } if %IMES=1 90 rotate /i0 8 def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def 0.30 MM setlinewidth 0 setgray x i0 get MM y i0 get MM moveto x i1 get MM y i1 get MM lineto x i2 get MM y i2 get MM lineto x i3 get MM y i3 get MM lineto x i0 get MM y i0 get MM lineto stroke %} if %end if xchart=0 /xlu1 013 MM def /ylu1 010 MM def /xro1 283 MM def /yro1 200 MM def /xlo1 013 MM def /ylo1 200 MM def /xru1 283 MM def /yru1 010 MM def xlu1 4 MM sub ylu1 moveto 8 MM 0 rlineto stroke xlu1 ylu1 4 MM sub moveto 0 8 MM rlineto stroke xro1 4 MM add yro1 moveto -8 MM 0 rlineto stroke xro1 yro1 4 MM add moveto 0 -8 MM rlineto stroke xru1 4 MM sub yru1 moveto 8 MM 0 rlineto stroke xru1 yru1 4 MM sub moveto 0 8 MM rlineto stroke xlo1 4 MM add ylo1 moveto -8 MM 0 rlineto stroke xlo1 ylo1 4 MM add moveto 0 -8 MM rlineto stroke %} for %output with xchart end %} for %output with colorm end %} for %output with xcolor end %} for %output with lanind end %%Trailer %%EndDocument EndEPSF grestore gsave showpage grestore } for %end for xchartg=xchartg1,xchartg2 } for %end for pcountg=pcountg1,pcount2g } for %end for scountg=scountg1,scount2g %%Trailer