%!PS-Adobe-3.0 EPSF-3.0 www.ps.bam.de/ZE07/10L/L07E00XX.PS 20070501 %%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/ZE07/ZE07.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:2007050112000) /ModDate (D:2007050112000) /DOCINFO pdfmark [ /View [ /Fit ] /DOCVIEW pdfmark %BEG ZE07/10L/L07N00ZED 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 ZE07/10L/EARLY BINDING %END ZE07/10L/L07N00ZED NO Output Linearisation (OL) LAB* -> cmyolvnw* 20030101 %BEG ZE07/10L/OUTLIN1XNA.PS MXYZ_to_LAB* 20030101 %BEG ZE07/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 ZE07/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 ZE07/10L/OUTLIN1XNA.PS MXYZ_to_LAB* 20030101 /CFilenameS1g %START output of step S1g (www.ps.bam.de/ZE07/10L/L07E00N) def %Link file name for data /CDateS1g (2004-05-01, Name) def %Date of calculation, Tester /CDeviceS1g (unknown ) def %Device name /CMeasS1g (ZE07/10L/L07E00N) 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 1 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 % %1 1 1 {/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 0 def /xchart20 0 def} if 0 1 0 {/xchartg exch def %2 MM /Times-Roman FS %274 MM 82 MM moveto -90 rotate (/ZE07/ ) 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 ZE070-1N.EPS %%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 (ZE070-1N) 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 ZE070-3N.EPS %%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 (ZE070-3N) 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 ZE070-5N.EPS %%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 (ZE070-5N) 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 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 ZE070-7N.EPS %%BoundingBox: 70 83 425 580 %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:2007050112000) /ModDate (D:2007050112000) /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 /TK {280 /Times-ISOL1 FS} bind def /TM {330 /Times-ISOL1 FS} bind def /TG {380 /Times-ISOL1 FS} bind def /TIK {280 /TimesI-ISOL1 FS} bind def /TIM {330 /TimesI-ISOL1 FS} bind def /TIG {380 /TimesI-ISOL1 FS} bind def /TBK {280 /TimesB-ISOL1 FS} bind def /TBM {330 /TimesB-ISOL1 FS} bind def /TBG {380 /TimesB-ISOL1 FS} bind def /TBIK {280 /TimesBI-ISOL1 FS} bind def /TBIM {330 /TimesBI-ISOL1 FS} bind def /TBIG {380 /TimesBI-ISOL1 FS} bind def %*********************************************************** /ISRLx 0 def %default /ISYSx 6 def %default SYSTEM SRS18 %Table data /L*aMi 361 array def /A*aMi 361 array def /B*aMi 361 array def /C*aMi 361 array def /H*aMi 361 array def /m*aMi 361 array def /o*3Mi 361 array def /l*3Mi 361 array def /v*3Mi 361 array def /H*sui0 729 array def %Hue storage, Step 0 /H*sui1 729 array def %Hue storage, Step 1 /H*ai 361 array def %device hue = H*aMi /H*si 361 array def %standard hue = H*sMi /H*ei 361 array def %elementary hue = H*eMi /H*ei_ai 361 array def %table device hue to elementary hue /H*ai_si 361 array def %table device hue to standard hue /H*si_ai 361 array def %table standard hue to device hue /H*ai_ei 361 array def %table elementary hue to device hue /h*ei_a 361 array def %table device hue to elementary hue /h*ai_s 361 array def %table device hue to standard hue /h*si_a 361 array def %table standard hue to device hue /h*ai_e 361 array def %table elementary hue to device hue %Table data for x=input/output of colour M /LAB*X 36 array def %12x3=36: 8 device + 4 elementary colours /LAB*aX 36 array def %7x3=21: 6+1 device (a) colours + others /LAB*sX 21 array def %7x3=21: 6+1 device standard (s) colours /LAB*eX 15 array def %5x3=15: 4+1 elementary (e) colours /L*aX 7 array def %6+1 device (a) colours: L*aX /A*aX 7 array def %6+1 device (a) colours: A*aX /B*aX 7 array def %6+1 device (a) colours: B*aX /C*aX 7 array def %6+1 device (a) colours: C*aX /H*aX 7 array def %6+1 device (a) colours: H*aX /L*sX 7 array def %6+1 device standard (s) colours: L*sX /A*sX 7 array def %6+1 device standard (s) colours: A*sX /B*sX 7 array def %6+1 device standard (s) colours: B*sX /C*sX 7 array def %6+1 device standard (s) colours: C*sX /H*sX 7 array def %6+1 device standard (s) colours: H*sX /H*sX [30. 90. 150. 210. 270. 330. 390.] def /L*eX 7 array def %4+1 elementary (e) colours: L*eX /A*eX 7 array def %4+1 elementary (e) colours: A*eX /B*eX 7 array def %4+1 elementary (e) colours: B*eX /C*eX 7 array def %4+1 elementary (e) colours: C*eX /H*eX 7 array def %4+1 elementary (e) colours: H*eX /LAB*00 24 array def /LAB*01 24 array def /LAB*02 24 array def /LAB*03 24 array def /LAB*04 24 array def /LAB*05 24 array def /LAB*06 24 array def /LAB*07 24 array def /TSYSx 24 array def /TSYSx [(ORS18) (TLS00) (FRS06) (TLS18) (NLS00) (NRS18) (SRS18) (TLS70) (TLS00) (TLS06) (TLS11) (TLS18) (TLS28) (TLS38) (TLS50) (TLS70) (OLS00) (OLS06) (OLS11) (OLS18) (OLS28) (OLS38) (OLS50) (OLS70)] def /olv*3X [%x=any Device OYLCVMoNW, x=input/output 1 0 0 %O 1 1 0 %Y 0 1 0 %L 0 1 1 %C 0 0 1 %V 1 0 1 %M 1 0 0 %o 0 0 0 %N 1 1 1 %W ] def /LAB*eX 12 array def /LAB*eX [ 40.04 58.98 28.32 %65.43 25.7 R CIE No. 09 %without adaptation 81.30 -2.99 71.82 %71.89 92.4 J CIE No. 10 52.27 -42.40 13.64 %44.54 162.2 G CIE No. 11 30.52 1.21 -46.35 %46.37 271.5 B CIE No. 12 % 39.92 58.74 27.99 % R CIE No.09 elementary colours in LAB, D65 % 81.26 -2.89 71.56 % J CIE No.10 % 52.23 -42.42 13.60 % G CIE No.11 % 30.57 1.41 -46.47 % B CIE No.12 ] def %****************************************************************** /LAB*inoutxM {%BEG Procedure LAB*inoutM %arrays necessary /LAB*01_to_07 24 def % /LAB*X 36 array def % /LAB*aX 36 array def %input ISYSx=0_to_7, ISRLx=0_to_4 ISRLx 0 eq { %ISRL*xL=0 /LAB*00 [%D=Device OYLCVMO+NW %for Offset Reflective System (ORS18) 47.94 65.31 52.07 %O 0 90.37 -11.16 96.17 %Y 1 50.90 -62.97 36.71 %L 2 58.62 -30.63 -42.75 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 25.72 31.45 -44.36 %V 4 48.13 75.20 -6.80 %M 5 18.01 0.50 -0.47 %N 7 95.41 -0.99 4.76 %W 8 ] def %OYLCVMO+NW /LAB*01 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS00) 50.50 76.92 64.55 %O 0 92.66 -20.70 90.75 %Y 1 83.63 -82.76 79.90 %L 2 86.88 -46.17 -13.56 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 30.39 76.06 -103.6 %V 4 corected 57.30 94.35 -58.42 %M 5 corected 00.01 0.00 0.00 %N 7 corected 95.41 0.00 0.00 %W 8 ] def %OYLCVMO+NW /LAB*02 [%D=Device OYLCVMO+NW %for Device Reflective System (FRS06. FUJI) 32.57 61.14 43.72 %8-0-0 O-W 0 olv* setrgbcolor 64 82.73 -3.51 109.24 %8-8-0 Y-W 1 olv* setrgbcolor 32 39.43 -62.87 42.80 %0-8-0 L-W 2 olv* setrgbcolor 80 47.86 -27.73 -37.62 %0-8-8 C-W 3 olv* setrgbcolor 0 actual printer 10.16 53.56 -62.92 %0-0-8 V-W 4 olv* setrgbcolor 96 34.50 79.53 -36.77 %8-0-8 M-W 5 olv* setrgbcolor 16 06.25 -1.63 -1.73 %0-0-0 N-W 6 olv* setrgbcolor 48 91.97 -0.18 -5.11 %8-8-8 A-W 7 olv* setrgbcolor ] def %OYLCVMO+NW /LAB*03 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS18) 52.76 71.63 49.88 %O 0 92.74 -20.03 84.97 %Y 1 84.00 -78.99 73.94 %L 2 87.14 -44.42 -13.12 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 35.47 64.92 -95.07 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 59.01 89.33 -55.68 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 18.01 0.00 0.00 %N 6 Yr=2.52 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*04 [%Natural symmetric Luminous System OYLCVMO+NW (NLS00) 31.81 82.62 47.70 %O 0 95.40/2 = 47.70 63.61 00.00 95.40 %Y 1 C*ab = 95.40 31.81 -82.62 47.70 %L 2 0.866 C*ab = 0.866 * 95.40 = 82.62 63.61 -82.62 -47.70 %C 3 delta L*=25.8 31.81 00.00 -95.40 %V 4 43.81=00.01+31.80 63.61 82.62 -47.70 %M 5 69.61=00.01+2*31.80 00.01 0.00 0.00 %N 6 95.40/3 = 31.80 95.41 0.00 0.00 %W 7 95.40*(2/3) = 63.60 ] def %CVMOYLC+NW /LAB*05 [%Natural symmetric reflective System OYLCVMO+NW (NRS18) 56.71 69.87 33.29 %O 0 77.40/2 = 38.70 56.71 -3.11 77.34 %Y 1 C*ab = 77.40 56.71 -73.69 23.63 %L 2 0.866 C*ab = 67.03 56.71 -61.82 -46.55 %C 3 delta L*=25.8 56.71 2.35 -77.35 %V 4 43.81=18.01+25.80 56.71 66.07 -40.31 %M 5 69.61=18.01+2*25.80 18.01 0.00 0.00 %N 6 18.01+77.40/3 = 18.01+25.80=43.81 95.41 0.00 0.00 %W 7 18.01+77.40*(2/3) = 18.01+51.60=69.61 ] def %CVMOYLC+NW /LAB*06 [%Symmetric Reflective System OYLCVMO+NW (SRS18) 56.71 67.03 38.70 %O 0 18.01 + 77.40*0.5 = 18.01 + 38.70 = 56.71 56.71 00.00 77.40 %Y 1 C*ab = 77.40 56.71 -67.03 38.70 %L 2 0.866 C*ab = 67.03 56.71 -67.03 -38.70 %C 3 delta L*=25.8 56.71 00.00 -77.40 %V 4 43.81=18.01+25.80 56.71 67.03 -38.70 %M 5 69.61=18.01+2*25.80 18.01 0.00 0.00 %N 6 95.41 0.00 0.00 %W 7 95.41=18.01+3*25.80 ] def %CVMOYLC+NW /LAB*07 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS70) 76.43 26.27 10.57 %O 0 93.93 -10.77 34.63 %Y 1 89.32 -35.81 27.64 %L 2 90.93 -21.96 -7.08 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 72.10 15.76 -35.64 %V 4 78.50 37.52 -25.24 %M 5 69.70 0.00 0.00 %N 6 Yr=40.32 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW } if %ISRLx=0 ISRLx 1 eq { %ISRLx=1 /LAB*00 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS00) 50.50 76.91 64.55 %O 0 92.66 -20.68 90.75 %Y 1 83.62 -82.74 79.90 %L 2 86.88 -46.15 -13.54 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 30.39 76.06 -103.6 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 57.31 94.35 -58.40 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 00.01 0.00 0.00 %N 6 Yr=0.00 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*01 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS06) 51.08 75.54 59.69 %O 0 92.68 -20.51 89.24 %Y 1 83.72 -81.79 78.32 %L 2 86.94 -45.72 -13.43 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 31.77 72.91 -101.3 %V 4 57.74 93.06 -57.71 %M 5 05.69 0.00 0.00 %N 6 Yr=0.63 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*02 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS11) 51.65 74.20 55.83 %O 0 92.70 -20.35 87.77 %Y 1 83.81 -80.85 76.81 %L 2 87.01 -45.28 -13.33 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 33.06 70.03 -99.09 %V 4 58.17 91.80 -57.03 %M 5 10.99 0.00 0.00 %N 6 Yr=1.26 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*03 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS18) 52.76 71.63 49.88 %O 0 92.74 -20.03 84.97 %Y 1 84.00 -78.99 73.94 %L 2 87.14 -44.42 -13.12 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 35.47 64.92 -95.07 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 59.01 89.33 -55.68 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 18.01 0.00 0.00 %N 6 Yr=2.52 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*04 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS27) 54.88 66.84 41.69 %O 0 92.82 -19.39 79.81 %Y 1 84.37 -75.39 68.76 %L 2 87.40 -42.72 -12.70 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 39.70 56.66 -88.02 %V 4 60.64 84.61 -53.08 %M 5 26.85 0.00 0.00 %N 6 Yr=5.04 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*05 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS38) 58.77 58.45 31.73 %O 0 92.98 -18.11 70.81 %Y 1 85.11 -68.58 60.02 %L 2 87.92 -39.42 -11.87 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 46.64 44.93 -76.56 %V 4 63.71 75.92 -48.22 %M 5 37.99 0.00 0.00 %N 6 Yr=10.08 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*06 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS52) 65.53 45.06 20.98 %O 0 93.30 -15.61 56.27 %Y 1 86.55 -56.31 46.52 %L 2 88.94 -33.19 -10.24 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 57.17 30.66 -59.40 %V 4 69.22 60.95 -39.57 %M 5 52.02 0.00 0.00 %N 6 Yr=20.16 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*07 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS70) 76.43 26.27 10.57 %O 0 93.93 -10.77 34.63 %Y 1 89.32 -35.81 27.64 %L 2 90.93 -21.96 -7.08 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 72.10 15.76 -35.64 %V 4 78.50 37.52 -25.24 %M 5 69.70 0.00 0.00 %N 6 Yr=40.32 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW } if %ISRLx=1 ISRLx 2 eq { %ISRLx=2 /LAB*00 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS00) 45.14 71.37 75.54 %O 0 90.22 -10.60 99.51 %Y 1 48.45 -73.19 42.21 %L 2 56.88 -33.11 -47.41 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 16.48 45.84 -56.22 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 45.36 81.85 -9.29 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 00.01 0.00 0.00 %N 6 Yr=0.00 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*01 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS06) 45.87 69.79 66.99 %O 0 90.25 -10.51 97.42 %Y 1 49.08 -70.28 40.08 %L 2 57.33 -32.38 -46.80 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 19.26 40.73 -52.47 %V 4 46.07 80.12 -9.04 %M 5 05.69 0.00 0.00 %N 6 Yr=0.63 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*02 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS11) 46.57 68.27 59.62 %O 0 90.29 -10.43 95.45 %Y 1 49.70 -67.60 38.19 %L 2 57.76 -31.68 -46.19 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 21.67 36.81 -49.37 %V 4 46.77 78.45 -8.80 %M 5 10.99 0.00 0.00 %N 6 Yr=1.26 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*03 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS18) 47.94 65.39 50.52 %O 0 90.37 -10.26 91.75 %Y 1 50.90 -62.83 34.96 %L 2 58.62 -30.34 -45.01 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 25.72 31.10 -44.40 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 48.13 75.28 -8.36 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 18.01 0.00 0.00 %N 6 Yr=2.52 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*04 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS27) 50.51 60.17 40.13 %O 0 90.52 -9.92 85.20 %Y 1 53.18 -55.04 30.00 %L 2 60.28 -27.91 -42.75 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 32.06 24.02 -37.32 %V 4 50.68 69.50 -7.57 %M 5 26.85 0.00 0.00 %N 6 Yr=5.04 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*05 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS38) 55.13 51.42 29.16 %O 0 90.83 -9.25 74.37 %Y 1 57.35 -43.84 23.35 %L 2 63.39 -23.83 -38.56 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 41.26 16.67 -28.49 %V 4 55.27 59.74 -6.32 %M 5 37.99 0.00 0.00 %N 6 Yr=10.08 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*06 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS52) 62.90 38.38 18.55 %O 0 91.44 -7.95 57.91 %Y 1 64.49 -30.06 15.67 %L 2 68.98 -17.74 -31.24 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 53.87 10.09 -18.84 %V 4 63.00 44.96 -4.56 %M 5 52.02 0.00 0.00 %N 6 Yr=20.16 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*07 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS70) 75.01 21.53 9.07 %O 0 92.64 -5.45 34.85 %Y 1 75.86 -15.50 7.96 %L 2 78.37 -9.90 -19.51 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 70.54 4.74 -9.47 %V 4 75.07 25.47 -2.46 %M 5 69.70 0.00 0.00 %N 6 Yr=40.32 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW } if %ISRLx=2 %BEG for in/output using ISYSx (input/output) 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def sISO 7 le { %sISO=0,7 ISYSx 0 eq { %ORS18/TLS00/OLS00 LAB*X i30 LAB*00 i30 get put LAB*X i31 LAB*00 i31 get put LAB*X i32 LAB*00 i32 get put } if ISYSx 1 eq { %TLS00/TLS06/OLS06 LAB*X i30 LAB*01 i30 get put LAB*X i31 LAB*01 i31 get put LAB*X i32 LAB*01 i32 get put } if ISYSx 2 eq { %FRS06/TLS11/OLS11 LAB*X i30 LAB*02 i30 get put LAB*X i31 LAB*02 i31 get put LAB*X i32 LAB*02 i32 get put } if ISYSx 3 eq { %TLS18/TLS18/OLS18 LAB*X i30 LAB*03 i30 get put LAB*X i31 LAB*03 i31 get put LAB*X i32 LAB*03 i32 get put } if ISYSx 4 eq { %NLS00/TSL28/OLS28 LAB*X i30 LAB*04 i30 get put LAB*X i31 LAB*04 i31 get put LAB*X i32 LAB*04 i32 get put } if ISYSx 5 eq { %NRS18/TLS38/OLS38 LAB*X i30 LAB*05 i30 get put LAB*X i31 LAB*05 i31 get put LAB*X i32 LAB*05 i32 get put /} if ISYSx 6 eq { %SRS18/TLS50/OLS50 LAB*X i30 LAB*06 i30 get put LAB*X i31 LAB*06 i31 get put LAB*X i32 LAB*06 i32 get put } if ISYSx 7 eq { %TLS70/TLS70/OLS70 LAB*X i30 LAB*07 i30 get put LAB*X i31 LAB*07 i31 get put LAB*X i32 LAB*07 i32 get put } if } %sISO=0,7 { %sISO=8,11 /jISO sISO 8 sub def /j30 jISO 3 mul def /j31 j30 1 add def /j32 j30 2 add def LAB*X i30 LAB*eX j30 get put LAB*X i31 LAB*eX j31 get put LAB*X i32 LAB*eX j32 get put } ifelse %sISO=0,7 and 8,11 } for 0 1 11 {/sISi exch def /i30 sISi 3 mul def /i31 i30 1 add def /i32 i30 2 add def LAB*aX i30 LAB*X i30 get put /l*CIE LAB*X i30 get LAB*X 18 get sub LAB*X 21 get LAB*X 18 get sub div def %rel. lightn. /a*s LAB*X 22 get LAB*X 19 get sub l*CIE mul def /b*s LAB*X 23 get LAB*X 20 get sub l*CIE mul def LAB*aX i31 LAB*X i31 get LAB*X 19 get sub a*s sub put LAB*aX i32 LAB*X i32 get LAB*X 20 get sub b*s sub put } for 0 1 6 {/sISi exch def %d=device colours /i30 sISi 3 mul def /i31 i30 1 add def /i32 i30 2 add def sISi 6 lt {%sISi<6 L*aX sISi LAB*aX i30 get put A*aX sISi LAB*aX i31 get put B*aX sISi LAB*aX i32 get put C*aX sISi A*aX sISi get dup mul B*aX sISi get dup mul add 0.000001 add sqrt put H*aX sISi B*aX sISi get A*aX sISi get 0.000001 add atan put } {%sISi=6 L*aX 6 L*aX 0 get put A*aX 6 A*aX 0 get put B*aX 6 B*aX 0 get put C*aX 6 C*aX 0 get put H*aX 6 H*aX 0 get 360 add put %for interpolation } ifelse } for %achromatic colours /L*aN LAB*aX 18 get def /A*aN LAB*aX 19 get def /B*aN LAB*aX 20 get def /C*aN 0.0 def /H*aN 0.0 def /L*aW LAB*aX 21 get def /A*aW LAB*aX 22 get def /B*aW LAB*aX 23 get def /C*aW 0.0 def /H*aW 0.0 def 0 1 4 {/sISi exch def %e=elementary colours /i30 sISi 8 add 3 mul def /i31 i30 1 add def /i32 i30 2 add def sISi 4 lt {%sISi<4 L*eX sISi LAB*aX i30 get put A*eX sISi LAB*aX i31 get put B*eX sISi LAB*aX i32 get put C*eX sISi A*eX sISi get dup mul B*eX sISi get dup mul add 0.000001 add sqrt put H*eX sISi B*eX sISi get A*eX sISi get 0.000001 add atan put } {%sISi=4 L*eX 4 L*eX 0 get put A*eX 4 A*eX 0 get put B*eX 4 B*eX 0 get put C*eX 4 C*eX 0 get put H*eX 4 H*eX 0 get 360 add put %for interpolation } ifelse } for %END for input using ISYSx (x=input/output) } def %END Procedure LAB*inoutxM %****************************************************************** /H*ai_olv*3M_LCHAB*aM_H*si_Table {%BEG Procedure %for OYLCVMO (30,90,150,210,270,330,030 degree) %input olv*3X, H*aM, LAB*eX, LAB*aX von System: ORS18, TLS18, NRS18, SRS18 etc. %output LCHAB*aM 0 1 359 {/ih exch def %ih=0,359 H*ai ih ih put /IEND 0 def /iha ih def iha 0 ge iha H*aX 0 get lt and {/iha iha 360 add def} if 0 1 5 {/jh exch def %jh=0,6 iha H*aX jh get ge iha H*aX jh 1 add get lt and IEND 0 eq and {/j30 jh 3 mul def /j31 j30 1 add def /j32 j30 2 add def /H*aX0 H*aX jh get def /L*aX0 L*aX jh get def /A*aX0 A*aX jh get def /B*aX0 B*aX jh get def /o*3X0 olv*3X j30 get def /l*3X0 olv*3X j31 get def /v*3X0 olv*3X j32 get def /H*aX1 H*aX jh 1 add get def /L*aX1 L*aX jh 1 add get def /A*aX1 A*aX jh 1 add get def /B*aX1 B*aX jh 1 add get def /o*3X1 olv*3X j30 3 add get def /l*3X1 olv*3X j31 3 add get def /v*3X1 olv*3X j32 3 add get def /alpha iha H*aX jh get sub H*aX jh 1 add get H*aX jh get sub 0.000001 add div def /IEND 1 def exit } if } for %jh=0,5 IEND 0 eq {TBG 500 1000 moveto (IEND=0 Failure H*ai_olv*3M_LCHAB*aM_H*si_Table) show} if iha 360 ge {/iha iha 360 sub def} if o*3Mi ih o*3X0 o*3X1 o*3X0 sub alpha mul add put l*3Mi ih l*3X0 l*3X1 l*3X0 sub alpha mul add put v*3Mi ih v*3X0 v*3X1 v*3X0 sub alpha mul add put /m01 H*aX1 sin H*aX0 sin sub H*aX1 cos H*aX0 cos sub 0.000001 add div def /tani ih sin ih cos 0.000001 add div def L*aMi ih L*aX0 L*aX1 L*aX0 sub alpha mul add put A*aMi ih B*aX0 A*aX0 m01 mul sub tani m01 sub 0.000001 add div put B*aMi ih A*aMi ih get tani mul put C*aMi ih A*aMi ih get dup mul B*aMi ih get dup mul add 0.000001 add sqrt put H*aMi ih B*aMi ih get A*aMi ih get 0.000001 add atan put m*aMi ih alpha put %hypothetical angles 30, 90, ..., 330 for table transfer /xMT {o*3Mi ih get 030 cos mul l*3Mi ih get 150 cos mul add} bind def /yMT {o*3Mi ih get 030 sin mul l*3Mi ih get 150 sin mul add v*3Mi ih get 270 sin mul add} bind def H*si ih yMT xMT 0.000001 add atan round cvi put } for %i=0,359 H*ai 360 H*ai 0 get put H*si 360 H*si 0 get put L*aMi 360 L*aMi 0 get put C*aMi 360 C*aMi 0 get put H*aMi 360 H*aMi 0 get put A*aMi 360 A*aMi 0 get put B*aMi 360 B*aMi 0 get put o*3Mi 360 o*3Mi 0 get put l*3Mi 360 l*3Mi 0 get put v*3Mi 360 v*3Mi 0 get put } bind def %END Procedure H*ai_olv*3M_LCHAB*aM_H*si_Table %****************************************************************** /H*ai_to_H*ei { %BEG Procedure H*ai_to_H*ei %360 steps used in both cases for the range 0 <= H*a, H*e <= 1 %main equations %alphae = [col_anga - H*eX(je)]/[H*eX(je+1) - H*eX(je)] %col_anga = alphae [H*eX(je+1) - H*eX(je)] + H*eX(je) 0 1 359 {/id exch def %id=0,359 /col_anga id def col_anga 0 ge col_anga H*eX 0 get lt and {/col_anga col_anga 360 add def} if /IEND 0 def 0 1 3 {/je exch def %je=0,3 col_anga H*eX je get ge col_anga H*eX je 1 add get lt and IEND 0 eq and {/alphae col_anga H*eX je get sub H*eX je 1 add get H*eX je get sub div def je 0 eq {/col_ange 0.00 alphae add 90 mul def} if je 1 eq {/col_ange 1.00 alphae add 90 mul def} if je 2 eq {/col_ange 2.00 alphae add 90 mul def} if je 3 eq {/col_ange 3.00 alphae add 90 mul def} if /IEND 1 def exit } if } for %je=0,3 IEND 0 eq {TBG 500 1000 moveto (IEND=0 Failure H*ei_to_H*ai) show} if col_ange 360 ge {/col_ange col_ange 360 sub def} if h*ai_e id col_ange 360 div put H*ai_ei id col_ange round cvi put } for %id=0,359 h*ai_e 360 h*ai_e 0 get put H*ai_ei 360 H*ai_ei 0 get put } bind def %END H*ai_to_H*ei %****************************************************************** /H*ei_to_H*ai { %BEG Procedure H*ei_to_H*ai %360 steps used for the range 0 <= H*a, H*e <= 360 %main equations: %alphae = [col_ange - H*eX(je)]/[H*eX(je+1) - H*eX(je)] %col_ange = alphae [H*eX(je+1) - H*eX(je)] + H*eX(je) 0 1 359 {/ie exch def %ie=0,359 ie 000 ge ie 089 le and {/je 0 def /alphae ie 90 div 0 sub def} if ie 090 ge ie 179 le and {/je 1 def /alphae ie 90 div 1 sub def} if ie 180 ge ie 269 le and {/je 2 def /alphae ie 90 div 2 sub def} if ie 270 ge ie 359 le and {/je 3 def /alphae ie 90 div 3 sub def} if /col_ange {H*eX je 1 add get H*eX je get sub alphae mul H*eX je get add} bind def col_ange 360 ge {/col_ange col_ange 360 sub def} if h*ei_a ie col_ange 360 div put H*ei_ai ie col_ange round cvi put } for %ie=0,359 h*ei_a 360 h*ei_a 0 get put H*ei_ai 360 H*ei_ai 0 get put } bind def %END H*ei_to_H*ai %****************************************************************** /H*ai_to_H*si { %BEG Procedure H*ai_to_H*si %360 steps used in both cases for the range 0 <= H*a, H*s <= 360 %main equations: %alphad = [col_anga - H*aX(n)]/[H*aX(n+1) - H*aX(n)] %col_anga = alphad [H*aX(n+1) - H*aX(n)] + H*aX(n) 0 1 359 {/id exch def %id=0,359 /col_anga id def /IEND 0 def col_anga 0 ge col_anga H*aX 0 get lt and {/col_anga col_anga 360 add def} if 0 1 5 {/jd exch def %jd=0,5 col_anga H*aX jd get ge col_anga H*aX jd 1 add get lt and IEND 0 eq and {/j*pad jd def /A*Angd H*aX jd get def /B*Angd H*aX jd 1 add get def /IEND 1 def exit} if } for %jd=0,5 IEND 0 eq {TBG 500 1000 moveto (IEND=0 Failure col_angh) show} if /alphad {col_anga A*Angd sub B*Angd A*Angd sub div} bind def /betad {1 alphad sub} bind def /j*pad1 j*pad def /j*pad2 j*pad 4 le {j*pad1 1 add} {0} ifelse def /col_angs H*sX j*pad2 get H*sX j*pad1 get sub alphad mul H*sX j*pad1 get add def col_angs 360 ge {/col_angs col_angs 360 sub def} if h*ai_s id col_angs 360 div put H*ai_si id col_angs round cvi put } for %id=0,359 h*ai_s 360 h*ai_s 0 get put H*ai_si 360 H*ai_si 0 get put } bind def %END H*ai_to_H*si %****************************************************************** /H*si_to_H*ai { %BEG Procedure H*si_to_H*ai %360 steps used in both cases for the range 0 <= H*a, H*s <= 360 %main equations: %alphas = [col_angs - LAB*sX(h)]/[LAB*sX(n+1) - LAB*sX(n)] % = [col_angs - LAB*sX(h)]/60 %col_anga = alphas [LAB*aX(n+1) - LAB*aX(n)] + LAB*aX(n) 0 1 359 {/is exch def %is=0,359 /col_angs is def is 000 ge is 029 le and {/jpan0 5 def /jpan1 6 def /col_angs col_angs 360 add def} if is 030 ge is 089 le and {/jpan0 0 def /jpan1 1 def} if is 090 ge is 149 le and {/jpan0 1 def /jpan1 2 def} if is 150 ge is 209 le and {/jpan0 2 def /jpan1 3 def} if is 210 ge is 269 le and {/jpan0 3 def /jpan1 4 def} if is 270 ge is 359 le and {/jpan0 4 def /jpan1 5 def} if is 000 ge is 029 le and {/jpan0 5 def /jpan1 6 def} if /alphas {col_angs H*sX jpan0 get sub 60 div} bind def /col_anga {H*aX jpan1 get H*aX jpan0 get sub alphas mul H*aX jpan0 get add} bind def col_anga 360 ge {/col_anga col_anga 360 sub def} if col_anga 0 lt {/col_anga 0 def} if h*si_a is col_anga 360 div put H*si_ai is col_anga round cvi put } for %is=0,359 h*si_a 360 h*si_a 0 get put H*si_ai 360 H*si_ai 0 get put } bind def %END H*si_to_H*ai %****************************************************************** /LABCH*a_XYZxya_sRGB_AdobeRGB %input/output Fav {%BEG Procedure LABCH*a_XYZxya_sRGB_AdobeRGB /LAB*Hv exch def /LAB*Cv exch def /LAB*Lv exch def /LAB*Av {LAB*Cv LAB*Hv cos mul} bind def /LAB*Bv {LAB*Cv LAB*Hv sin mul} bind def /CIEF 1 88.60 div def /X* {LAB*Lv 16 add 116 div LAB*Av 500 div add } bind def /Y* {LAB*Lv 16 add 116 div } bind def /Z* {LAB*Lv 16 add 116 div LAB*Bv 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 /XCIEv {X* DecodeXYZ* 95.05 mul} bind def /YCIEv {Y* DecodeXYZ* 100.00 mul} bind def /ZCIEv {Z* DecodeXYZ* 108.90 mul} bind def /XYZSUM {XCIEv YCIEv add ZCIEv add} bind def /xCIEv {XCIEv XYZSUM 0.000001 add div} bind def /yCIEv {YCIEv XYZSUM 0.000001 add div} bind def /XRGBv {XCIEv CIEF mul} bind def /YRGBv {YCIEv CIEF mul} bind def /ZRGBv {ZCIEv CIEF mul} bind def %Transformation X Y Z to RsRGB, GsRGB, BsRGB /RsRGB XRGBv 3.2406 mul YRGBv -1.5372 mul add ZRGBv -0.4986 mul add def /GsRGB XRGBv -0.9686 mul YRGBv 1.8758 mul add ZRGBv 0.0415 mul add def /BsRGB XRGBv 0.0557 mul YRGBv -0.2040 mul add ZRGBv 1.0570 mul add def /Slope 1.0 2.4 div def RsRGB 0.00313008 le {/R'sRGBv RsRGB 12.92 mul def} {/R'sRGBv RsRGB Slope exp 1.055 mul 0.055 sub def} ifelse GsRGB 0.00313008 le {/G'sRGBv GsRGB 12.92 mul def} {/G'sRGBv GsRGB Slope exp 1.055 mul 0.055 sub def} ifelse BsRGB 0.00313008 le {/B'sRGBv BsRGB 12.92 mul def} {/B'sRGBv BsRGB Slope exp 1.055 mul 0.055 sub def} ifelse %Transformation X Y Z to RAdobeRGB, GAdobeRGB, BAdobeRGB /RAdobeRGB XRGBv 2.04159 mul YRGBv -0.56501 mul add ZRGBv -0.34473 mul add def /GAdobeRGB XRGBv -0.96924 mul YRGBv 1.87597 mul add ZRGBv 0.04156 mul add def /BAdobeRGB XRGBv 0.01344 mul YRGBv -0.11836 mul add ZRGBv 1.01517 mul add def /Slope 1.0 2.19921875 div def /R'AdobeRGBv RAdobeRGB 0.000001 add abs Slope exp RAdobeRGB 0 lt {neg} if def /G'AdobeRGBv GAdobeRGB 0.000001 add abs Slope exp GAdobeRGB 0 lt {neg} if def /B'AdobeRGBv BAdobeRGB 0.000001 add abs Slope exp BAdobeRGB 0 lt {neg} if def } bind def %END Procedure LABCH*a_XYZxya_sRGB_AdobeRGB %****************************************************************** /lab*olv*3_to_lab*tcn*_H*siu {%BEG Procedure lab*olv*3_to_lab*tcn*_H*si %input/output Fau /lab*v*3u exch def /lab*l*3u exch def /lab*o*3u exch def %input: lab*olv3: lab*o*3u, lab*l*3u, lab*v*3u %output: lab*tch: lab*t*u, lab*c*u, lab*h*u %Min and max /minolv*3 lab*o*3u def lab*l*3u minolv*3 lt {/minolv*3 lab*l*3u def} if lab*v*3u minolv*3 lt {/minolv*3 lab*v*3u def} if /maxolv*3 lab*o*3u def lab*l*3u maxolv*3 gt {/maxolv*3 lab*l*3u def} if lab*v*3u maxolv*3 gt {/maxolv*3 lab*v*3u def} if /lab*c*u {maxolv*3 minolv*3 sub} bind def /lab*t*u {minolv*3 lab*c*u 0.5 mul add} bind def /lab*n*u {1 maxolv*3 sub} bind def /iachr 0 def lab*c*u 0.001 ge { %hypothetical angles 30, 90, ..., 330 /xFau {lab*o*3u 030 cos mul lab*l*3u 150 cos mul add} bind def /yFau {lab*o*3u 030 sin mul lab*l*3u 150 sin mul add lab*v*3u 270 sin mul add} bind def /H*siu {yFau xFau 0.00000001 add atan round cvi} def /iachr 0 def } { /H*siu 0 def /iachr 1 def } ifelse } bind def %END Procedure lab*olv*3_to_lab*tcn*_H*si %*********************************************************** /T*ai {TBK -30 -80 rmoveto (ai) show 30 80 rmoveto TBIK} bind def /T*ei {TBK -30 -80 rmoveto (ei) show 30 80 rmoveto TBIK} bind def /T*si {TBK -30 -80 rmoveto (si) show 30 80 rmoveto TBIK} bind def /T*s0 {TBK -30 -80 rmoveto (s0) show 30 80 rmoveto TBIK} bind def /T*r0 {TBK -30 -80 rmoveto (r0) show 30 80 rmoveto TBIK} bind def /T*ai0 {TBK -30 -80 rmoveto (ai0) show 30 80 rmoveto TBIK} bind def /T*si0 {TBK -30 -80 rmoveto (ai0) show 30 80 rmoveto TBIK} bind def /T*r {TBK -30 -80 rmoveto (r) show 30 80 rmoveto TBIK} bind def /T*si_ai {TBK -30 -80 rmoveto (si_ai) show 30 80 rmoveto TBIK} bind def /T*ai_ei {TBK -30 -80 rmoveto (ai_ei) show 30 80 rmoveto TBIK} bind def /T*ai_si {TBK -30 -80 rmoveto (ai_si) show 30 80 rmoveto TBIK} bind def /T*ei_ai {TBK -30 -80 rmoveto (ei_ai) show 30 80 rmoveto TBIK} bind def /T*CIEa {TBK -30 -80 rmoveto (CIE,a) show 30 80 rmoveto TBIK} bind def /TCIEa {TBK -00 -80 rmoveto (CIE,a) show 00 80 rmoveto TBIK} bind def /TRGB {TBK -00 -80 rmoveto (RGB) show 00 80 rmoveto TBIK} bind def /TsRGB {TBK -00 -80 rmoveto (sRGB) show 00 80 rmoveto TBIK} bind def /TAdobeRGB {TBK -00 -80 rmoveto (AdobeRGB) show 00 80 rmoveto TBIK} bind def /T*m {TBK 00 -80 rmoveto (m) show 00 80 rmoveto TBIK} bind def /T*0 {TBK 00 -80 rmoveto (0) show 00 80 rmoveto TBIK} bind def /T*1 {TBK 00 -80 rmoveto (1) show 00 80 rmoveto TBIK} bind def /T*2 {TBK 00 -80 rmoveto (2) show 00 80 rmoveto TBIK} bind def /T*3 {TBK 00 -80 rmoveto (3) show 00 80 rmoveto TBIK} bind def /T*4 {TBK 00 -80 rmoveto (4) show 00 80 rmoveto TBIK} bind def /T*N {TBK 00 -80 rmoveto (N) show 00 80 rmoveto TBIK} bind def /T*W {TBK 00 -80 rmoveto (W) show 00 80 rmoveto TBIK} bind def /T*M {TBK 00 -80 rmoveto (M) show 00 80 rmoveto TBIK} bind def /T*N0 {TBK 00 -80 rmoveto (N0) show 00 80 rmoveto TBIK} bind def /T*W0 {TBK 00 -80 rmoveto (W0) show 00 80 rmoveto TBIK} bind def /T*M0 {TBK 00 -80 rmoveto (M0) show 00 80 rmoveto TBIK} bind def /T*N1 {TBK 00 -80 rmoveto (N1) show 00 80 rmoveto TBIK} bind def /T*W1 {TBK 00 -80 rmoveto (W1) show 00 80 rmoveto TBIK} bind def /T*M1 {TBK 00 -80 rmoveto (M1) show 00 80 rmoveto TBIK} bind def /T*Nm {TBK 00 -80 rmoveto (Nm) show 00 80 rmoveto TBIK} bind def /T*Wm {TBK 00 -80 rmoveto (Wm) show 00 80 rmoveto TBIK} bind def /T*Mm {TBK 00 -80 rmoveto (Mm) show 00 80 rmoveto TBIK} bind def /T*ai {TBK -30 -80 rmoveto (ai) show 30 80 rmoveto TBIK} bind def /T*aim {TBK -30 -80 rmoveto (aim) show 30 80 rmoveto TBIK} bind def /T*ai0 {TBK -30 -80 rmoveto (ai0) show 30 80 rmoveto TBIK} bind def /T*ai1 {TBK -30 -80 rmoveto (ai1) show 30 80 rmoveto TBIK} bind def /T*ai2 {TBK -30 -80 rmoveto (ai2) show 30 80 rmoveto TBIK} bind def /T*ai3 {TBK -30 -80 rmoveto (ai3) show 30 80 rmoveto TBIK} bind def /T*ai4 {TBK -30 -80 rmoveto (ai4) show 30 80 rmoveto TBIK} bind def /T*si {TBK -30 -80 rmoveto (si) show 30 80 rmoveto TBIK} bind def /T*sim {TBK -30 -80 rmoveto (sim) show 30 80 rmoveto TBIK} bind def /T*si0 {TBK -30 -80 rmoveto (si0) show 30 80 rmoveto TBIK} bind def /T*si1 {TBK -30 -80 rmoveto (si1) show 30 80 rmoveto TBIK} bind def /T*si2 {TBK -30 -80 rmoveto (si2) show 30 80 rmoveto TBIK} bind def /T*si3 {TBK -30 -80 rmoveto (si3) show 30 80 rmoveto TBIK} bind def /T*si4 {TBK -30 -80 rmoveto (si4) show 30 80 rmoveto TBIK} bind def /T*ei {TBK -30 -80 rmoveto (ei) show 30 80 rmoveto TBIK} bind def /T*eim {TBK -30 -80 rmoveto (eim) show 30 80 rmoveto TBIK} bind def /T*ei0 {TBK -30 -80 rmoveto (ei0) show 30 80 rmoveto TBIK} bind def /T*ei1 {TBK -30 -80 rmoveto (ei1) show 30 80 rmoveto TBIK} bind def /T*ei2 {TBK -30 -80 rmoveto (ei2) show 30 80 rmoveto TBIK} bind def /T*ei3 {TBK -30 -80 rmoveto (ei3) show 30 80 rmoveto TBIK} bind def /T*ei4 {TBK -30 -80 rmoveto (ei4) show 30 80 rmoveto TBIK} bind def /T*a {TBK -30 -80 rmoveto (a) show 30 80 rmoveto TBIK} bind def /T*a0 {TBK -30 -80 rmoveto (a0) show 30 80 rmoveto TBIK} bind def /T*am {TBK -30 -80 rmoveto (am) show 30 80 rmoveto TBIK} bind def /T*a0 {TBK -30 -80 rmoveto (a0) show 30 80 rmoveto TBIK} bind def /T*a1 {TBK -30 -80 rmoveto (a1) show 30 80 rmoveto TBIK} bind def /T*a2 {TBK -30 -80 rmoveto (a2) show 30 80 rmoveto TBIK} bind def /T*a3 {TBK -30 -80 rmoveto (a3) show 30 80 rmoveto TBIK} bind def /T*a4 {TBK -30 -80 rmoveto (a4) show 30 80 rmoveto TBIK} bind def /T*d {TBK -30 -80 rmoveto (d) show 30 80 rmoveto TBIK} bind def /T*e {TBK -30 -80 rmoveto (e) show 30 80 rmoveto TBIK} bind def /T*s {TBK -30 -80 rmoveto (s) show 30 80 rmoveto TBIK} bind def /T*3 {TBK -30 -80 rmoveto (3) show 30 80 rmoveto TBIK} bind def /T*3m {TBK -30 -80 rmoveto (3m) show 30 80 rmoveto TBIK} bind def /T*30 {TBK -30 -80 rmoveto (30) show 30 80 rmoveto TBIK} bind def /T*31 {TBK -30 -80 rmoveto (31) show 30 80 rmoveto TBIK} bind def /T*32 {TBK -30 -80 rmoveto (32) show 30 80 rmoveto TBIK} bind def /T*33 {TBK -30 -80 rmoveto (33) show 30 80 rmoveto TBIK} bind def /T*34 {TBK -30 -80 rmoveto (34) show 30 80 rmoveto TBIK} bind def /T*3M {TBK -30 -80 rmoveto (3,M) show 30 80 rmoveto TBIK} bind def /T*3Mm {TBK -30 -80 rmoveto (3,Mm) show 30 80 rmoveto TBIK} bind def /T*3M0 {TBK -30 -80 rmoveto (3,M0) show 30 80 rmoveto TBIK} bind def /T*3M1 {TBK -30 -80 rmoveto (3,M1) show 30 80 rmoveto TBIK} bind def /T*3M2 {TBK -30 -80 rmoveto (3,M2) show 30 80 rmoveto TBIK} bind def /T*3M3 {TBK -30 -80 rmoveto (3,M3) show 30 80 rmoveto TBIK} bind def /T*3M4 {TBK -30 -80 rmoveto (3,M4) show 30 80 rmoveto TBIK} bind def /T*aM {TBK -30 -80 rmoveto (a,M) show 30 80 rmoveto TBIK} bind def /T*aMm {TBK -30 -80 rmoveto (a,Mm) show 30 80 rmoveto TBIK} bind def /T*aM0 {TBK -30 -80 rmoveto (a,M0) show 30 80 rmoveto TBIK} bind def /T*aM1 {TBK -30 -80 rmoveto (a,M1) show 30 80 rmoveto TBIK} bind def /T*aM2 {TBK -30 -80 rmoveto (a,M2) show 30 80 rmoveto TBIK} bind def /T*aM3 {TBK -30 -80 rmoveto (a,M3) show 30 80 rmoveto TBIK} bind def /T*aM4 {TBK -30 -80 rmoveto (a,M4) show 30 80 rmoveto TBIK} bind def /nshow {300 /Times-ISOL1 FS show} bind def /kshow {300 /TimesI-ISOL1 FS show} bind def /bshow {300 /TimesB-ISOL1 FS show} bind def /jshow {300 /TimesBI-ISOL1 FS show} bind def /sshow {300 /Symbol FS show} bind def /ishow {220 /Times-ISOL1 FS -00 -50 rmoveto show 00 50 rmoveto} bind def /eshow {220 /Times-ISOL1 FS 0 100 rmoveto show 0 -100 rmoveto} bind def /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 %%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 /nr1 [(01) (02) (03) (04) (05) (06) (07) (08) (09) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20)] def /tx1 [(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 /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 /CName [(N) (Vn) (V) (Ln) (Cn) (-) (L) (-) (C) (On) (Mn) (-) (Ln) (Z) (Vw) (-) (Lw) (Mw) (O) (-) (M) (-) (Ow) (Mw) (Y) (Yw) (W)] def /EName [(N) (Bn) (B) (Gn) (C'n) (-) (G) (-) (C') (Rn) (M'n) (-) (Gn) (Z) (Bw) (-) (Gw) (M'w) (R) (-) (M') (-) (Rw) (M'w) (J) (Jw) (W)] def /CNa10 [(O=o00y) (o10y) (o20y) (o30y) (o40y) (o50y) (o60y) (o070y) (o80y) (o90y) (Y=y00l)] def /ENa10 [(R=r00j) (r10j) (r20j) (r30j) (r40j) (r50j) (r60j) (r070j) (r80j) (r90j) (J=j00g)] def /xchartg where {pop /xchart xchartg def} {/xchart 0 def} ifelse /xcolorg where {pop /xcolor xcolorg def} {/xcolor 0 def} ifelse 5 /Times-ISOL1 FS 380 85 moveto (ZE070-7) show 72 90 translate 0.01 MM dup scale %/jnx 0 def %input olv*3 %sequence of input %/jnx 1 def %input LCH*a %/jnx 2 def %input nce* %/knx 0 def %output olv*3 %sequence of input %/knx 1 def %output LCH*a %/knx 2 def %output nce* %input see above %output see above %00 1 07 {/xchart exch def %xchart=0,07 8 Systems gsave /jnx 1 def %input 1=LCHa, 0=0lv*3 /knx 0 def %output 1=LCHam, 0=olv*3m %part I start colour space %input of first series: ORS18, TLS00, . /ISRLx 0 def %only first series out of 0,1,2 /ISYS0 1 def %1=TLS00 only /ISYSx 1 def %1=TLS00 only %i* = 1 - n* %w* = 1 - n* - c* %d* = 1 - w* = n* + c* %t* = 1 - n* - 0,5 c* /n* 0.3 def /c* 0.5 def /i* 1 n* sub def /w* 1 n* sub c* sub def /d* n* c* add def /t* 1 n* sub c* 0.5 mul sub def /lab*n*u n* def /lab*c*u c* def /lab*t*u t* def %change from colour M to F %c* = C*ab,a/ C*ab,a,M %l* = [ L* - L*N] / [ L* W - L*N ] %L* = l* [ L* W - L*N ] + L*N %t* = l* - c* { [ L*M - L*N ] / [ L*W - L*N ] - 0.5 } %l* = t* + c* { [ L*M - L*N ] / [ L*W - L*N ] - 0.5 } %n* = 1 - t* - 0.5 c* %n* = 1 - l* + c* { [ L*M - L*N ] / [ L*W - L*N ] - 0.5 } - 0.5 c* % = 1 - l* + c* [ L*M - L*N ] / [ L*W - L*N ] 1.0 setgray 0 0 moveto 12300 0 rlineto 0 17000 rlineto -12300 0 rlineto closepath fill 0.0 setgray 0 0 moveto 12300 0 rlineto 0 17000 rlineto -12300 0 rlineto closepath stroke /xi 000 def /ymax 13150 def /ymax0 ymax 500 add def /ydel 450 def /xd -1800 def LAB*inoutxM %Create tables for 360 elementary hues for both input and output H*ei_to_H*ai H*ai_to_H*ei /TSYSIO TSYSx ISRLx 8 mul ISYSx add get def /TSYSIO0 TSYSIO def %for part II H*ai_to_H*si H*si_to_H*ai %Create tables for 360 hues for both input and output H*ai_olv*3M_LCHAB*aM_H*si_Table xi 100 add 16200 ydel 0 mul sub moveto TM (For input) showen (F\374r Eingabe) showde TBIM jnx 0 eq {( olv*) show T*30} if jnx 1 eq {( LCH*) show T*a0} if jnx 2 eq {( nce*) show T*30} if TM ( \050) show TSYSIO0 show TM ( \051) show TM ( and output) showen ( und Ausgabe) showde TBIM knx 0 eq {( olv*) show T*3m} if knx 1 eq {( LCH*) show T*am} if knx 2 eq {( nce*) show T*3m} if TM ( for 4 systems \050) showen ( f\374r 4 Systeme \050) showde TBIM ( m) show TM ( = 0 to 4\051) showen ( = 0 bis 4\051) showde /L*aN0 L*aN def /L*aW0 L*aW def /L*aM0i 11 array def %i=0,1,10 /A*aM0i 11 array def /B*aM0i 11 array def /C*aM0i 11 array def /H*aM0i 11 array def /o*3M0i 11 array def /l*3M0i 11 array def /v*3M0i 11 array def /m*aM0i 11 array def /H*s0i 11 array def /i0 H*aX 0 get def /i1 H*aX 1 get def /id H*aX 1 get H*aX 0 get sub 10 div def 0 1 10 {/i exch def %i=0,10 /i0i i0 i id mul add round cvi def L*aM0i i L*aMi i0i get put C*aM0i i C*aMi i0i get put H*aM0i i H*aMi i0i get put A*aM0i i A*aMi i0i get put B*aM0i i B*aMi i0i get put m*aM0i i m*aMi i0i get put o*3M0i i o*3Mi i0i get put l*3M0i i l*3Mi i0i get put v*3M0i i v*3Mi i0i get put m*aM0i i m*aMi i0i get put H*s0i i H*si i0i get put } for %i=0,10 TBIK xi 02200 add xd add 300 sub ymax0 moveto (no.) showen (Nr.) showde xi 02300 add xd add ymax0 moveto (Colour) showen (Farbe) showde jnx 0 eq {%jnx=0 xi 03300 add xd add ymax0 moveto (olv*) show T*30 ISYS0 5 eq {(=rgb*) show T*30} if xi 03300 add xd add ymax0 300 add moveto TBK (->) show TSYSIO show } if %jnx=0 jnx 1 eq {%jnx=1 xi 03300 add xd add ymax0 moveto (LCH*) show T*a0 xi 03300 add xd add ymax0 300 add moveto TBK (->) show TSYSIO show } if %jnx=1 jnx 2 eq {%jnx=2 xi 03300 add xd add ymax0 moveto (nce*) show T*30 xi 03300 add xd add ymax0 300 add moveto TBK (->) show TSYSIO show } if %jnx=2 TBIK xi 05000 add xd add ymax0 moveto (n*, c*) show jnx 0 eq {(, H*) show T*si0} if jnx 1 eq {(, H*) show T*ai0} if jnx 2 eq {(, H*) show T*ei0} if xi 05000 add xd add ymax0 300 add moveto TBK (->) show TSYSIO show 0 1 10 {/ijk exch def %ijk=0,10 /yi {ymax ijk ydel mul sub} bind def TK /LAB*L*aM0 L*aM0i ijk get def /LAB*C*aM0 C*aM0i ijk get def /LAB*H*aM0 H*aM0i ijk get def /LAB*A*aM0 A*aM0i ijk get def /LAB*B*aM0 B*aM0i ijk get def /lab*o*3M0 o*3M0i ijk get def /lab*l*3M0 l*3M0i ijk get def /lab*v*3M0 v*3M0i ijk get def /LMR LAB*L*aM0 L*aN0 sub L*aW0 L*aN0 sub div def /l* t* c* LMR 0.5 sub mul add def /LAB*L*aF0 l* L*aW0 L*aN0 sub mul L*aN0 add def /LAB*C*aF0 LAB*C*aM0 c* mul def /LAB*H*aF0 LAB*H*aM0 def /LAB*A*aF0 LAB*A*aM0 c* mul def /LAB*B*aF0 LAB*B*aM0 c* mul def /lab*o*3F0 w* c* lab*o*3M0 mul add def /lab*l*3F0 w* c* lab*l*3M0 mul add def /lab*v*3F0 w* c* lab*v*3M0 mul add def /ik45 LAB*H*aF0 round cvi def %H*ai %numbers and Systems, delta 200,1100 TK xi 2200 add xd add 300 sub yi moveto %(%) show ijk 8 le {(0) show} if ijk 1 add cvishow xi 2300 add xd add yi moveto TIK ISYS0 5 eq {ENa10} {CNa10} ifelse ijk get show TK jnx 0 eq {%jnx=10 %olv*3 values, delta=600+100 xi 3300 add xd add yi moveto lab*o*3F0 cvsshow2 xi 3900 add xd add yi moveto lab*l*3F0 cvsshow2 xi 4500 add xd add yi moveto lab*v*3F0 cvsshow2 } if %jnx=0 jnx 1 eq {%jnx=1 %LCH*a values, delta=600+100 xi 3300 add xd add yi moveto LAB*L*aF0 cvsshow1 xi 3900 add xd add yi moveto LAB*C*aF0 cvsshow1 xi 4500 add xd add yi moveto lab*c*u 0 eq {(-) show} %c*=0 {LAB*H*aF0 cvishow} ifelse } if %jnx=1 jnx 2 eq {%jnx=2 nce* input xi 3300 add xd add yi moveto lab*n*u cvsshow2 xi 3900 add xd add yi moveto lab*c*u cvsshow2 xi 4500 add xd add 150 sub yi moveto % H*si = H*siu % /ik45 H*si_ai H*siu get def % H*ai = ik45 = H*si_ai [H*si] % H*ei = H*ai_ei [H*ai] % H*ei = H*ai_ei ik45 get lab*c*u 0 eq {(-) show} %c*=0 {H*ai_ei ik45 get 360 div cvsshow2} ifelse } if %jnx=2 xi 5000 add xd add yi moveto lab*n*u cvsshow2 xi 5450 add xd add yi moveto lab*c*u cvsshow2 jnx 0 eq {%jnx=0 xi 6000 add xd add yi moveto lab*c*u 0 eq {(-) show} %c*=0 {H*si ik45 get dup 360 eq {0} if cvishow} ifelse } if %jnx=0 jnx 1 eq {%jnx=1 xi 6000 add xd add yi moveto lab*c*u 0 eq {(-) show} %c*=0 {H*aMi ik45 get dup 360 eq {0} if cvishow} ifelse } if %jnx=1 jnx 2 eq {%jnx=2 xi 6000 add xd add yi moveto lab*c*u 0 eq {(-) show} %c*=0 {H*ai_ei ik45 get dup 360 eq {0} if cvishow} ifelse } if %jnx=2 lab*o*3F0 lab*l*3F0 lab*v*3F0 setrgbcolor xi 11800 add yi 150 sub moveto ydel 0 rlineto 0 ydel rlineto ydel neg 0 rlineto closepath fill 0 setgray xi 11800 add yi 150 sub moveto ydel 0 rlineto 0 ydel rlineto ydel neg 0 rlineto closepath stroke } for %ijk=0,10 %part II output data 0 1 3 {/ichar exch def %ichar=0,3 for ORS18, TLS00, NRS18, SRS18 ichar 0 eq {/xcharx 0 def} if ichar 1 eq {/xcharx 1 def} if ichar 2 eq {/xcharx 5 def} if ichar 3 eq {/xcharx 6 def} if %for knx=1: LCH*F %for knx=0: olv*3F %for knx=2: nce*F /ISRLx xcharx 8 idiv def %0,1,2 /ISYS0 xcharx xcharx 8 idiv 8 mul sub def %0,1,..,7 /ISYSx ISYS0 def %0,1,..,7 LAB*inoutxM %Create tables for 360 elementary hues for both input and output H*ei_to_H*ai H*ai_to_H*ei /TSYSIO TSYSx ISRLx 8 mul ISYSx add get def H*ai_to_H*si %H*si_to_H*ai %Create tables for 360 hues for both input and output H*ai_olv*3M_LCHAB*aM_H*si_Table /k xcharx xcharx 8 idiv 8 mul sub def %j=0,1,2,3 ichar 0 eq {%ichar=0 xi 100 add 16700 moveto TBM (Colorimetric data for system lines ) showen (Farbmetrische Daten f\374r Systemketten ) showde TSYSIO0 show ( -> ORS18, TLS00, NRS18, SRS18) show } if %ichar=0 xi 100 add 16200 ichar 1 add ydel mul sub moveto TM (Six CIELAB hue angles of device ) showen (Sechs CIELAB\255Bunttonwinkel des Ger\344tes ) showde TSYSIO show (: \050) show H*aX 0 get cvsshow1 ( ) show H*aX 1 get cvsshow1 ( ) show H*aX 2 get cvsshow1 ( ) show H*aX 3 get cvsshow1 ( ) show H*aX 4 get cvsshow1 ( ) show H*aX 5 get cvsshow1 (\051; ) show 0 1 10 {/ijk exch def %ijk=0,10 /ik45 H*aM0i ijk get round cvi def /yi {ymax ijk ydel mul sub} bind def %in olv*3 values, delta=800 /LAB*L*aM L*aMi ik45 get def /LAB*C*aM C*aMi ik45 get def /LAB*H*aM H*aMi ik45 get def /LAB*A*aM A*aMi ik45 get def /LAB*B*aM B*aMi ik45 get def /lab*o*3M o*3Mi ik45 get def /lab*l*3M l*3Mi ik45 get def /lab*v*3M v*3Mi ik45 get def /LMR LAB*L*aM L*aN sub L*aW L*aN sub div def /l* t* c* LMR 0.5 sub mul add def /LAB*L*aF l* L*aW L*aN sub mul L*aN add def /LAB*C*aF LAB*C*aM c* mul def /LAB*H*aF LAB*H*aM def /LAB*A*aF LAB*A*aM c* mul def /LAB*B*aF LAB*B*aM c* mul def /lab*o*3F w* c* lab*o*3M mul add def /lab*l*3F w* c* lab*l*3M mul add def /lab*v*3F w* c* lab*v*3M mul add def TK /xd0 -1200 def knx 0 eq {%knx=0 /xd3 xd0 ichar 1800 mul add def ijk 0 eq {%ijk=0 TBK xi 6000 add xd3 add ymax0 300 add moveto TSYSIO show TBIK xi 6000 add xd3 add ymax0 moveto (olv*) show ichar 0 eq {T*31} if ichar 1 eq {T*32} if ichar 2 eq {T*33} if ichar 3 eq {T*34} if } if %ijk=0 TK xi 6000 add xd3 add yi moveto lab*o*3F cvsshow2 xi 6550 add xd3 add yi moveto lab*l*3F cvsshow2 xi 7100 add xd3 add yi moveto lab*v*3F cvsshow2 } if %knx=0 knx 1 eq {%knx=1 /xd2 xd0 ichar 1800 mul add def ijk 0 eq {%ijk=0 TBK xi 6000 add xd2 add ymax0 300 add moveto TSYSIO show TBIK xi 6000 add xd2 add ymax0 moveto (LCH*) show ichar 0 eq {T*a1} if ichar 1 eq {T*a2} if ichar 2 eq {T*a3} if ichar 3 eq {T*a4} if } if %ijk=0 TK xi 6000 add xd2 add yi moveto LAB*L*aF cvsshow1 xi 6600 add xd2 add yi moveto LAB*C*aF dup 100 ge {cvishow} {cvsshow1} ifelse xi 7200 add xd2 add yi moveto lab*c*u 0 eq {(-) show} %c*=0 {LAB*H*aF cvishow} ifelse } if %knx=1 ichar 0 eq {%ichar=0 lab*o*3F lab*l*3F lab*v*3F setrgbcolor xi 11800 add yi 150 sub moveto ydel 0 rlineto 0 ydel rlineto ydel neg 0 rlineto closepath fill 0 setgray xi 11800 add yi 150 sub moveto ydel 0 rlineto 0 ydel rlineto ydel neg 0 rlineto closepath stroke } if %ichar=0 } for %end ijk=0,10 } for %ichar=0,3 for ORS18, TLS00, NRS18, SRS18 %END part II %********************************************************** /xg1 4500 def /xg2 11750 def /ytab0 8200 def /ytab1 5000 def /ydel 400 def jnx 1 eq {%jnx=1, input LCH*a0, output olv*3m 100 ytab0 moveto TBM (Goal:) showen (Ziel:) showde TM ( Transfer coordinates) showen ( Koordinatentransfer) showde TBIM ( LCH*) show T*a0 TM ( (system m=0) to) showen ( (System m=0) nach) showde TBIM ( rgb) show T*m TBIM ( = olv*) show T*3m TM ( (system m=1 to 4)) showen ( (System m=1 bis 4)) showde 100 ytab0 ydel 1.5 mul sub moveto TM (The given data) showen (Die gegebenen Daten) showde TBIM ( LCH*) show T*a0 TM ( include the device hue) showen ( enthalten den Ger\344te\255Buntton) showde TBIM ( H*) show T*a0 100 ytab0 ydel 2.5 mul sub moveto TM (Integer (i) device hue:) showen (Ganzzahl (i) Ger\344te\255Buntton:) showde xg1 ytab0 ydel 2.5 mul sub moveto TBIM (H*) show T*ai0 TBM ( = ) show TBIM (round ) show TBM (\050) show TBIM ( H*) show T*a0 TBM (\051) show xg2 ytab0 ydel 2.5 mul sub moveto TM ((1)) show TM 100 ytab0 ydel 4 mul sub moveto (Fetch device data) showen (Hole Ger\344tedaten) showde TBIM ( LCH*) show T*aMm TM ( from table with 361 entries for) showen ( aus Tabelle mit 361 Eintr\344gen f\374r) showde TBIM ( H*) show T*ai0 TM ( from 0 to 360 degrees) showen ( von 0 bis 360 Grad) showde TM 100 ytab0 ydel 5 mul sub moveto (Lightness, chroma, hue:) showen (Helligkeit, Buntheit, Buntton:) showde xg1 ytab0 ydel 5 mul sub moveto TBIM (LCH*) show T*aM0 TBM ( = ) show TBIM (LCH*) show T*aM0 TBM ( [ ) show TBIM (H*) show T*ai0 TBM ( ]) show xg2 ytab0 ydel 5 mul sub moveto TM ((2)) show TM 100 ytab0 ydel 6.5 mul sub moveto (Calculate) showen (Berechne) showde TBIM ( lcnw*) show TM ( data from) showen (\255Daten aus) showde TBIM ( LC*) show T*a0 TM ( and) showen ( und) showde TBIM ( LC*) show T*aM0 TBM (:) show TM 100 ytab0 ydel 7.5 mul sub moveto (Relative lightness:) showen (Relative Helligkeit:) showde xg1 ytab0 ydel 7.5 mul sub moveto TBIM (l*) show TBM ( = [ ) show TBIM (L*) show T*0 TBM ( - ) show TBIM (L*) show T*N0 TBM ( ] / [ ) show TBIM (L*) show T*W0 TBM ( - ) show TBIM (L*) show T*N0 TBM ( ]) show xg2 ytab0 ydel 7.5 mul sub moveto TM ((3)) show TM 100 ytab0 ydel 8.5 mul sub moveto (Relative chroma:) showen (Relative Buntheit:) showde xg1 ytab0 ydel 8.5 mul sub moveto TBIM (c*) show TBM ( = ) show TBIM (C*) show T*a0 TBM ( / ) show TBIM (C*) show T*aM0 xg2 ytab0 ydel 8.5 mul sub moveto TM ((4)) show %n* = 1 - l* + c* { [ L*M - L*N ] / [ L*W - L*N ] - 0.5 } - 0.5 c* % = 1 - l* + c* [ L*M - L*N ] / [ L*W - L*N ] TM 100 ytab0 ydel 9.5 mul sub moveto (Relative Blackness:) showen (Relative Schwarzheit:) showde xg1 ytab0 ydel 9.5 mul sub moveto TBIM (n*) show TBM ( = 1 - ) show TBIM (l*) show %xg2 ytab0 ydel 9.5 mul sub moveto %TM ((6)) show %xg1 650 add ytab0 ydel 9.5 mul sub moveto TBM ( + ) show TBIM (c*) show TBM ( [ ) show TBIM (L*) show T*M0 TBM ( - ) show TBIM (L*) show T*N0 TBM ( ] / [ ) show TBIM (L*) show T*W0 TBM ( - ) show TBIM (L*) show T*N0 TBM ( ]) show xg2 ytab0 ydel 9.5 mul sub moveto TM ((5)) show TM 100 ytab0 ydel 11 mul sub moveto (Fetch device data) showen (Hole Ger\344tedaten) showde TBIM ( olv*) show T*3Mm TM ( from table with 361 entries for) showen ( aus Tabelle mit 361 Eintr\344gen f\374r) showde TBIM ( H*) show T*ai0 TM ( from 0 to 360 degrees) showen ( von 0 bis 360 Grad) showde TM 100 ytab0 ydel 12 mul sub moveto TM ("red, green, blue") showen ("Rot, Gr\374n, Blau") showde TBIM ( rgb) showen (\255rgb) showde T*Mm TM ( data:) showen (\255Daten:) showde xg1 ytab0 ydel 12 mul sub moveto TBIM (olv*) show T*3Mm TBM ( = ) show TBIM (olv*) show T*3Mm TBM ( [ ) show TBIM (H*) show T*ai0 TBM ( ]) show xg2 ytab0 ydel 12 mul sub moveto TM ((6)) show %TM %100 ytab0 ydel 14 mul sub moveto %(Relative Whiteness:) showen (Relative Weissheit:) showde %xg1 ytab0 ydel 14 mul sub moveto %TBIM (w*) show %TBM ( = 1 - ) show %TBIM (n*) show %TBM ( - ) show %TBIM (c*) show %xg2 ytab0 ydel 14 mul sub moveto %TM ((7)) show %{ a [1 - w*x] + w*x } i* = a i* - a w*x i* + w*x i* = a i* - a w* + w* %= w* + a [i* - w* ] = w* + a c* %i* - w* = 1 - n* - (1 - n* -c*) = c* %/lab*o*3u w* o*3Mi ik45 get c* mul add def %/lab*l*3u w* l*3Mi ik45 get c* mul add def %/lab*v*3u w* v*3Mi ik45 get c* mul add def TM 100 ytab0 ydel 14 mul sub moveto (For any input or output device (m=0 to 4) it is valid for constant) showen (F\374r jedes Ein\255 oder Ausgabeger\344t (m=0 bis 4) gilt f\374r konstante) showde TBIM ( n*, c*, l*, H*) show T*a TBM (:) show TM 100 ytab0 ydel 15 mul sub moveto TM ("red, green, blue") showen ("Rot, Gr\374n, Blau") showde TBIM ( rgb) showen (\255rgb) showde T*m TM ( data:) showen (\255Daten:) showde xg1 ytab0 ydel 15 mul sub moveto TBIM (olv*) show T*3m TBM ( = 1 - ) show TBIM (n*) show TBM ( - ) show TBIM (c*) show TBM ( + ) show TBIM (c*) show TBIM ( olv*) show T*3Mm xg2 ytab0 ydel 15 mul sub moveto TM ((7)) show %100 ytab0 ydel 16 mul sub moveto %TM (Adated CIELAB chroma:) showen % (Adaptierte CIELAB\255Buntheit:) showde %xg1 ytab0 ydel 16 mul sub moveto %TBIM (C*) show T*am %TBM ( = ) show %TBIM (c*) show %TBIM ( C*) show T*aMm %xg2 ytab0 ydel 16 mul sub moveto %TM ((8)) show %/LAB*L*aF l* L*aW L*aN sub mul L*aN add def %/LAB*C*aF LAB*C*aM c* mul def %100 ytab0 ydel 17 mul sub moveto %TM (CIELAB lightness:) showen % (CIELAB\255Helligkeit:) showde %xg1 ytab0 ydel 17 mul sub moveto %TBIM (L*) show %TBM ( = ) show %TBIM (L*) show T*Nm %TBM ( + ) show %TBIM (l*) show %TBM ( [) show %TBIM ( L*) show T*Wm %TBM ( - ) show %TBIM ( L*) show T*Nm %TBM ( ]) show %xg2 ytab0 ydel 17 mul sub moveto %TM ((9)) show 100 ytab1 ydel 11 mul sub moveto TBM (Result:) showen (Ergebnis:) showde TM ( device dependent relative CIELAB data of 4 systems m=1 to 4:) showen ( ger\344teabh\344ngige relative CIELAB\255Daten von 4 Systemen m=1 bis 4:) showde 100 ytab1 ydel 12 mul sub moveto TM ("red, green, blue") showen ("Rot, Gr\374n, Blau") showde TBIM ( rgb) showen (\255rgb) showde T*m TM ( data:) showen (\255Daten:) showde xg1 ytab1 ydel 12 mul sub moveto TBIM (rgb) show T*m TBIM ( = olv*) show T*3m xg2 ytab1 ydel 12 mul sub moveto TM ((8)) show } if %jnx=1, input LCH*a0, output olv*3m %******************************************************** jnx 0 eq {%jnx=0 input olv*30, output olv*3m 100 ytab0 moveto TBM (Goal:) showen (Ziel:) showde TM ( Transfer coordinates) showen ( Koordinatentransfer) showde TBIM ( olv*) show T*30 TM ( (system m=0) to) showen ( (System m=0) nach) showde TBIM ( olv*) show T*3m TM ( (system m=1 to 4)) showen ( (System m=1 bis 4)) showde 100 ytab0 ydel sub moveto TM (The following equations for relative blackness and chroma) showen ( are valid for any device:) showen (Die Gleichungen f\374r relative Schwarzheit und Buntheit) showde ( sind g\374ltig f\374r jedes Ger\344t:) showde xg1 ytab0 ydel 2 mul sub moveto TBIM (n*) show TBM ( = 1 - ) show TBIM (max) show TBM ( \050 ) show TBIM (o*) show T*30 TBIM (, l*) show T*30 TBIM (, v*) show T*30 TBM ( \051) show xg2 ytab0 ydel 2 mul sub moveto TM ((1)) show xg1 ytab0 ydel 3 mul sub moveto TBIM (c*) show TBM ( = ) show TBIM (max) show TBM ( \050 ) show TBIM (o*) show T*30 TBIM (, l*) show T*30 TBIM (, v*) show T*30 TBM ( \051 - ) show TBIM (min) show TBM ( \050 ) show TBIM (o*) show T*30 TBIM (, l*) show T*30 TBIM (, v*) show T*30 TBM ( \051) show xg2 ytab0 ydel 3 mul sub moveto TM ((2)) show 100 ytab0 ydel 5 mul sub moveto TM (For the calculation of the missing) showen ( relative device hue asume) showen (F\374r die Berechnung des fehlenden) showde ( relativen Ger\344te\255Bunttons nehme) showde 100 ytab0 ydel 6 mul sub moveto TM (as a starting point that the three values) showen (als Startpunkt an, dass die drei Werte) showde TBIM ( olv*) show T*30 TM ( belong to the standard (s) device SRS18:) showen ( zum Standard\255Ger\344t s=SRS18 geh\366ren:) showde %equation 100 ytab0 ydel 7 mul sub moveto (relative red\255green chroma:) showen (Relative Rot\255Gr\374n\255Buntheit:) showde xg1 ytab0 ydel 7 mul sub moveto TBIM (a*) show T*r0 TBM ( = ) show TBIM (o*) show T*30 TBIM ( cos) show TBM ((30) + ) show TBIM (l*) show T*30 TBIM ( cos) show TBM ((150)) show xg2 ytab0 ydel 7 mul sub moveto TM ((3)) show 100 ytab0 ydel 8 mul sub moveto (relative yellow\255blue chroma:) showen (Relative Gelb\255Blau\255Buntheit:) showde xg1 ytab0 ydel 8 mul sub moveto TBIM (b*) show T*r0 TBM ( = ) show TBIM (o*) show T*30 TBIM ( sin) show TBM ((30) + ) show TBIM (l*) show T*30 TBIM ( sin) show TBM ((150) - ) show TBIM (v*) show T*30 TBIM ( sin) show TBM ((270)) show xg2 ytab0 ydel 8 mul sub moveto TM ((4)) show 100 ytab0 ydel 9 mul sub moveto (Standard integer hue:) showen (Standard Ganzzahl\255Buntton:) showde xg1 ytab0 ydel 9 mul sub moveto TBIM (H*) show T*si0 TBM ( = ) show TBIM (round) show TBM ( [ ) show TBIM (atan) show TBM ( \050 ) show TBIM (b*) show T*r0 TBM ( / ) show TBIM (a*) show T*r0 TBM ( \051 ]) show xg2 ytab0 ydel 9 mul sub moveto TM ((5)) show 100 ytab0 ydel 10 mul sub moveto (Fetch device integer hue:) showen (Hole Ger\344te\255Ganzzahl\255Buntton:) showde xg1 ytab0 ydel 10 mul sub moveto TBIM (H*) show T*ai0 TBM ( = ) show TBIM (H*) show T*si_ai TBM ( [ ) show TBIM (H*) show T*si0 TBM ( ]) show xg2 ytab0 ydel 10 mul sub moveto TM ((6)) show 100 ytab0 ydel 13 mul sub moveto TM (Fetch device data) showen (Hole Ger\344tedaten) showde TBIM ( olv*) show T*3Mm TM ( from table with 361 entries for) showen ( aus Tabelle mit 361 Eintr\344gen f\374r) showde TBIM ( H*) show T*ai0 TM ( from 0 to 360 degrees) showen ( von 0 bis 360 Grad) showde 100 ytab0 ydel 14 mul sub moveto TM ("red, green, blue") showen ("Rot, Gr\374n, Blau") showde TBIM ( rgb) showen (\255rgb) showde T*m TM ( data:) showen (\255Daten:) showde xg1 ytab0 ydel 14 mul sub moveto TBIM (olv*) show T*3Mm TBM ( = ) show TBIM (olv*) show T*3Mm TBM ( [ ) show TBIM (H*) show T*ai0 TBM ( ]) show xg2 ytab0 ydel 14 mul sub moveto TM ((7)) show %{ a [1 - w*x] + w*x } i* = a i* - a w*x i* + w*x i* = a i* - a w* + w* %= w* + a [i* - w* ] = w* + a c* %i* - w* = 1 - n* - (1 - n* -c*) = c* %/lab*o*3u w* o*3Mi ik45 get c* mul add def %/lab*l*3u w* l*3Mi ik45 get c* mul add def %/lab*v*3u w* v*3Mi ik45 get c* mul add def %/LAB*L*aF l* L*aW L*aN sub mul L*aN add def %/LAB*C*aF LAB*C*aM c* mul def 100 ytab0 ydel 16 mul sub moveto TM (For any input or output device (m=0 to 4) it is valid for constant) showen (F\374r jedes Ein\255 oder Ausgabeger\344t (m=0 bis 4) gilt f\374r konstante) showde TBIM ( n*, c*, l*, H*) show T*a TBM (:) show 100 ytab0 ydel 17 mul sub moveto TM ("red, green, blue") showen ("Rot, Gr\374n, Blau") showde TBIM ( rgb) showen (\255rgb) showde T*m TM ( data:) showen (\255Daten:) showde xg1 ytab0 ydel 17 mul sub moveto TBIM (olv*) show T*3m TBM ( = 1 - ) show TBIM (n*) show TBM ( - ) show TBIM (c*) show TBM ( + ) show TBIM (c*) show TBIM ( olv*) show T*3Mm xg2 ytab0 ydel 17 mul sub moveto TM ((8)) show 100 ytab0 ydel 19 mul sub moveto TBM (Result:) showen (Ergebnis:) showde TM ( device dependent relative CIELAB data of 4 systems m=1 to 4:) showen ( ger\344teabh\344ngige relative CIELAB\255Daten von 4 Systemen m=1 bis 4:) showde 100 ytab0 ydel 20 mul sub moveto TM ("red, green, blue") showen ("Rot, Gr\374n, Blau") showde TBIM ( rgb) showen (\255rgb) showde T*m TM ( data:) showen (\255Daten:) showde xg1 ytab0 ydel 20 mul sub moveto TBIM (rgb) show T*m TBIM ( = olv*) show T*3m xg2 ytab0 ydel 20 mul sub moveto TM ((9)) show } if %jnx=0 input olv*30, output olv*3m showpage grestore %} for %xchart=00,71 %%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 ZE071-1N.EPS %%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 (ZE071-1N) 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 10 MM sub 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 ZE071-3N.EPS %%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 (ZE071-3N) 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 ZE071-5N.EPS %%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 (ZE071-5N) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 26 %line 479 %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 10 MM sub 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 ZE071-7N.EPS %%BoundingBox: 70 83 425 580 %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:2007050112000) /ModDate (D:2007050112000) /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 /TK {280 /Times-ISOL1 FS} bind def /TM {330 /Times-ISOL1 FS} bind def /TG {380 /Times-ISOL1 FS} bind def /TIK {280 /TimesI-ISOL1 FS} bind def /TIM {330 /TimesI-ISOL1 FS} bind def /TIG {380 /TimesI-ISOL1 FS} bind def /TBK {280 /TimesB-ISOL1 FS} bind def /TBM {330 /TimesB-ISOL1 FS} bind def /TBG {380 /TimesB-ISOL1 FS} bind def /TBIK {280 /TimesBI-ISOL1 FS} bind def /TBIM {330 /TimesBI-ISOL1 FS} bind def /TBIG {380 /TimesBI-ISOL1 FS} bind def %*********************************************************** /ISRLx 0 def %default /ISYSx 6 def %default SYSTEM SRS18 %Table data /L*aMi 361 array def /A*aMi 361 array def /B*aMi 361 array def /C*aMi 361 array def /H*aMi 361 array def /m*aMi 361 array def /o*3Mi 361 array def /l*3Mi 361 array def /v*3Mi 361 array def /H*sui0 729 array def %Hue storage, Step 0 /H*sui1 729 array def %Hue storage, Step 1 /H*ai 361 array def %device hue = H*aMi /H*si 361 array def %standard hue = H*sMi /H*ei 361 array def %elementary hue = H*eMi /H*ei_ai 361 array def %table device hue to elementary hue /H*ai_si 361 array def %table device hue to standard hue /H*si_ai 361 array def %table standard hue to device hue /H*ai_ei 361 array def %table elementary hue to device hue /h*ei_a 361 array def %table device hue to elementary hue /h*ai_s 361 array def %table device hue to standard hue /h*si_a 361 array def %table standard hue to device hue /h*ai_e 361 array def %table elementary hue to device hue %Table data for x=input/output of colour M /LAB*X 36 array def %12x3=36: 8 device + 4 elementary colours /LAB*aX 36 array def %7x3=21: 6+1 device (a) colours + others /LAB*sX 21 array def %7x3=21: 6+1 device standard (s) colours /LAB*eX 15 array def %5x3=15: 4+1 elementary (e) colours /L*aX 7 array def %6+1 device (a) colours: L*aX /A*aX 7 array def %6+1 device (a) colours: A*aX /B*aX 7 array def %6+1 device (a) colours: B*aX /C*aX 7 array def %6+1 device (a) colours: C*aX /H*aX 7 array def %6+1 device (a) colours: H*aX /L*sX 7 array def %6+1 device standard (s) colours: L*sX /A*sX 7 array def %6+1 device standard (s) colours: A*sX /B*sX 7 array def %6+1 device standard (s) colours: B*sX /C*sX 7 array def %6+1 device standard (s) colours: C*sX /H*sX 7 array def %6+1 device standard (s) colours: H*sX /H*sX [30. 90. 150. 210. 270. 330. 390.] def /L*eX 7 array def %4+1 elementary (e) colours: L*eX /A*eX 7 array def %4+1 elementary (e) colours: A*eX /B*eX 7 array def %4+1 elementary (e) colours: B*eX /C*eX 7 array def %4+1 elementary (e) colours: C*eX /H*eX 7 array def %4+1 elementary (e) colours: H*eX /LAB*00 24 array def /LAB*01 24 array def /LAB*02 24 array def /LAB*03 24 array def /LAB*04 24 array def /LAB*05 24 array def /LAB*06 24 array def /LAB*07 24 array def /TSYSx 24 array def /TSYSx [(ORS18) (TLS00) (FRS06) (TLS18) (NLS00) (NRS18) (SRS18) (TLS70) (TLS00) (TLS06) (TLS11) (TLS18) (TLS28) (TLS38) (TLS50) (TLS70) (OLS00) (OLS06) (OLS11) (OLS18) (OLS28) (OLS38) (OLS50) (OLS70)] def /olv*3X [%x=any Device OYLCVMoNW, x=input/output 1 0 0 %O 1 1 0 %Y 0 1 0 %L 0 1 1 %C 0 0 1 %V 1 0 1 %M 1 0 0 %o 0 0 0 %N 1 1 1 %W ] def /LAB*eX 12 array def /LAB*eX [ 40.04 58.98 28.32 %65.43 25.7 R CIE No. 09 %without adaptation 81.30 -2.99 71.82 %71.89 92.4 J CIE No. 10 52.27 -42.40 13.64 %44.54 162.2 G CIE No. 11 30.52 1.21 -46.35 %46.37 271.5 B CIE No. 12 % 39.92 58.74 27.99 % R CIE No.09 elementary colours in LAB, D65 % 81.26 -2.89 71.56 % J CIE No.10 % 52.23 -42.42 13.60 % G CIE No.11 % 30.57 1.41 -46.47 % B CIE No.12 ] def %****************************************************************** /LAB*inoutxM {%BEG Procedure LAB*inoutM %arrays necessary /LAB*01_to_07 24 def % /LAB*X 36 array def % /LAB*aX 36 array def %input ISYSx=0_to_7, ISRLx=0_to_4 ISRLx 0 eq { %ISRL*xL=0 /LAB*00 [%D=Device OYLCVMO+NW %for Offset Reflective System (ORS18) 47.94 65.31 52.07 %O 0 90.37 -11.16 96.17 %Y 1 50.90 -62.97 36.71 %L 2 58.62 -30.63 -42.75 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 25.72 31.45 -44.36 %V 4 48.13 75.20 -6.80 %M 5 18.01 0.50 -0.47 %N 7 95.41 -0.99 4.76 %W 8 ] def %OYLCVMO+NW /LAB*01 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS00) 50.50 76.92 64.55 %O 0 92.66 -20.70 90.75 %Y 1 83.63 -82.76 79.90 %L 2 86.88 -46.17 -13.56 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 30.39 76.06 -103.6 %V 4 corected 57.30 94.35 -58.42 %M 5 corected 00.01 0.00 0.00 %N 7 corected 95.41 0.00 0.00 %W 8 ] def %OYLCVMO+NW /LAB*02 [%D=Device OYLCVMO+NW %for Device Reflective System (FRS06. FUJI) 32.57 61.14 43.72 %8-0-0 O-W 0 olv* setrgbcolor 64 82.73 -3.51 109.24 %8-8-0 Y-W 1 olv* setrgbcolor 32 39.43 -62.87 42.80 %0-8-0 L-W 2 olv* setrgbcolor 80 47.86 -27.73 -37.62 %0-8-8 C-W 3 olv* setrgbcolor 0 actual printer 10.16 53.56 -62.92 %0-0-8 V-W 4 olv* setrgbcolor 96 34.50 79.53 -36.77 %8-0-8 M-W 5 olv* setrgbcolor 16 06.25 -1.63 -1.73 %0-0-0 N-W 6 olv* setrgbcolor 48 91.97 -0.18 -5.11 %8-8-8 A-W 7 olv* setrgbcolor ] def %OYLCVMO+NW /LAB*03 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS18) 52.76 71.63 49.88 %O 0 92.74 -20.03 84.97 %Y 1 84.00 -78.99 73.94 %L 2 87.14 -44.42 -13.12 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 35.47 64.92 -95.07 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 59.01 89.33 -55.68 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 18.01 0.00 0.00 %N 6 Yr=2.52 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*04 [%Natural symmetric Luminous System OYLCVMO+NW (NLS00) 31.81 82.62 47.70 %O 0 95.40/2 = 47.70 63.61 00.00 95.40 %Y 1 C*ab = 95.40 31.81 -82.62 47.70 %L 2 0.866 C*ab = 0.866 * 95.40 = 82.62 63.61 -82.62 -47.70 %C 3 delta L*=25.8 31.81 00.00 -95.40 %V 4 43.81=00.01+31.80 63.61 82.62 -47.70 %M 5 69.61=00.01+2*31.80 00.01 0.00 0.00 %N 6 95.40/3 = 31.80 95.41 0.00 0.00 %W 7 95.40*(2/3) = 63.60 ] def %CVMOYLC+NW /LAB*05 [%Natural symmetric reflective System OYLCVMO+NW (NRS18) 56.71 69.87 33.29 %O 0 77.40/2 = 38.70 56.71 -3.11 77.34 %Y 1 C*ab = 77.40 56.71 -73.69 23.63 %L 2 0.866 C*ab = 67.03 56.71 -61.82 -46.55 %C 3 delta L*=25.8 56.71 2.35 -77.35 %V 4 43.81=18.01+25.80 56.71 66.07 -40.31 %M 5 69.61=18.01+2*25.80 18.01 0.00 0.00 %N 6 18.01+77.40/3 = 18.01+25.80=43.81 95.41 0.00 0.00 %W 7 18.01+77.40*(2/3) = 18.01+51.60=69.61 ] def %CVMOYLC+NW /LAB*06 [%Symmetric Reflective System OYLCVMO+NW (SRS18) 56.71 67.03 38.70 %O 0 18.01 + 77.40*0.5 = 18.01 + 38.70 = 56.71 56.71 00.00 77.40 %Y 1 C*ab = 77.40 56.71 -67.03 38.70 %L 2 0.866 C*ab = 67.03 56.71 -67.03 -38.70 %C 3 delta L*=25.8 56.71 00.00 -77.40 %V 4 43.81=18.01+25.80 56.71 67.03 -38.70 %M 5 69.61=18.01+2*25.80 18.01 0.00 0.00 %N 6 95.41 0.00 0.00 %W 7 95.41=18.01+3*25.80 ] def %CVMOYLC+NW /LAB*07 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS70) 76.43 26.27 10.57 %O 0 93.93 -10.77 34.63 %Y 1 89.32 -35.81 27.64 %L 2 90.93 -21.96 -7.08 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 72.10 15.76 -35.64 %V 4 78.50 37.52 -25.24 %M 5 69.70 0.00 0.00 %N 6 Yr=40.32 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW } if %ISRLx=0 ISRLx 1 eq { %ISRLx=1 /LAB*00 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS00) 50.50 76.91 64.55 %O 0 92.66 -20.68 90.75 %Y 1 83.62 -82.74 79.90 %L 2 86.88 -46.15 -13.54 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 30.39 76.06 -103.6 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 57.31 94.35 -58.40 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 00.01 0.00 0.00 %N 6 Yr=0.00 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*01 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS06) 51.08 75.54 59.69 %O 0 92.68 -20.51 89.24 %Y 1 83.72 -81.79 78.32 %L 2 86.94 -45.72 -13.43 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 31.77 72.91 -101.3 %V 4 57.74 93.06 -57.71 %M 5 05.69 0.00 0.00 %N 6 Yr=0.63 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*02 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS11) 51.65 74.20 55.83 %O 0 92.70 -20.35 87.77 %Y 1 83.81 -80.85 76.81 %L 2 87.01 -45.28 -13.33 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 33.06 70.03 -99.09 %V 4 58.17 91.80 -57.03 %M 5 10.99 0.00 0.00 %N 6 Yr=1.26 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*03 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS18) 52.76 71.63 49.88 %O 0 92.74 -20.03 84.97 %Y 1 84.00 -78.99 73.94 %L 2 87.14 -44.42 -13.12 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 35.47 64.92 -95.07 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 59.01 89.33 -55.68 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 18.01 0.00 0.00 %N 6 Yr=2.52 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*04 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS27) 54.88 66.84 41.69 %O 0 92.82 -19.39 79.81 %Y 1 84.37 -75.39 68.76 %L 2 87.40 -42.72 -12.70 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 39.70 56.66 -88.02 %V 4 60.64 84.61 -53.08 %M 5 26.85 0.00 0.00 %N 6 Yr=5.04 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*05 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS38) 58.77 58.45 31.73 %O 0 92.98 -18.11 70.81 %Y 1 85.11 -68.58 60.02 %L 2 87.92 -39.42 -11.87 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 46.64 44.93 -76.56 %V 4 63.71 75.92 -48.22 %M 5 37.99 0.00 0.00 %N 6 Yr=10.08 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*06 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS52) 65.53 45.06 20.98 %O 0 93.30 -15.61 56.27 %Y 1 86.55 -56.31 46.52 %L 2 88.94 -33.19 -10.24 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 57.17 30.66 -59.40 %V 4 69.22 60.95 -39.57 %M 5 52.02 0.00 0.00 %N 6 Yr=20.16 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW /LAB*07 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS70) 76.43 26.27 10.57 %O 0 93.93 -10.77 34.63 %Y 1 89.32 -35.81 27.64 %L 2 90.93 -21.96 -7.08 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 72.10 15.76 -35.64 %V 4 78.50 37.52 -25.24 %M 5 69.70 0.00 0.00 %N 6 Yr=40.32 95.41 0.00 0.00 %W 7 ] def %CVMOYLC+NW } if %ISRLx=1 ISRLx 2 eq { %ISRLx=2 /LAB*00 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS00) 45.14 71.37 75.54 %O 0 90.22 -10.60 99.51 %Y 1 48.45 -73.19 42.21 %L 2 56.88 -33.11 -47.41 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 16.48 45.84 -56.22 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 45.36 81.85 -9.29 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 00.01 0.00 0.00 %N 6 Yr=0.00 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*01 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS06) 45.87 69.79 66.99 %O 0 90.25 -10.51 97.42 %Y 1 49.08 -70.28 40.08 %L 2 57.33 -32.38 -46.80 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 19.26 40.73 -52.47 %V 4 46.07 80.12 -9.04 %M 5 05.69 0.00 0.00 %N 6 Yr=0.63 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*02 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS11) 46.57 68.27 59.62 %O 0 90.29 -10.43 95.45 %Y 1 49.70 -67.60 38.19 %L 2 57.76 -31.68 -46.19 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 21.67 36.81 -49.37 %V 4 46.77 78.45 -8.80 %M 5 10.99 0.00 0.00 %N 6 Yr=1.26 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*03 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS18) 47.94 65.39 50.52 %O 0 90.37 -10.26 91.75 %Y 1 50.90 -62.83 34.96 %L 2 58.62 -30.34 -45.01 %C 3 %see TABle 1 of ISO/IEC 15775:1999-12 25.72 31.10 -44.40 %V 4 %see TABle X of ISO/IEC TR 24705:2005-10 48.13 75.28 -8.36 %M 5 %see Annex A, www.ps.bam.de/RLABE.PDF 18.01 0.00 0.00 %N 6 Yr=2.52 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*04 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS27) 50.51 60.17 40.13 %O 0 90.52 -9.92 85.20 %Y 1 53.18 -55.04 30.00 %L 2 60.28 -27.91 -42.75 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 32.06 24.02 -37.32 %V 4 50.68 69.50 -7.57 %M 5 26.85 0.00 0.00 %N 6 Yr=5.04 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*05 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS38) 55.13 51.42 29.16 %O 0 90.83 -9.25 74.37 %Y 1 57.35 -43.84 23.35 %L 2 63.39 -23.83 -38.56 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 41.26 16.67 -28.49 %V 4 55.27 59.74 -6.32 %M 5 37.99 0.00 0.00 %N 6 Yr=10.08 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*06 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS52) 62.90 38.38 18.55 %O 0 91.44 -7.95 57.91 %Y 1 64.49 -30.06 15.67 %L 2 68.98 -17.74 -31.24 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 53.87 10.09 -18.84 %V 4 63.00 44.96 -4.56 %M 5 52.02 0.00 0.00 %N 6 Yr=20.16 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW /LAB*07 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS70) 75.01 21.53 9.07 %O 0 92.64 -5.45 34.85 %Y 1 75.86 -15.50 7.96 %L 2 78.37 -9.90 -19.51 %C 3 %see Annex A, www.ps.bam.de/RLABE.PDF 70.54 4.74 -9.47 %V 4 75.07 25.47 -2.46 %M 5 69.70 0.00 0.00 %N 6 Yr=40.32 95.41 0.00 0.00 %W 7 ] def %OYLCVMO+NW } if %ISRLx=2 %BEG for in/output using ISYSx (input/output) 0 1 11 {/sISO exch def /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def sISO 7 le { %sISO=0,7 ISYSx 0 eq { %ORS18/TLS00/OLS00 LAB*X i30 LAB*00 i30 get put LAB*X i31 LAB*00 i31 get put LAB*X i32 LAB*00 i32 get put } if ISYSx 1 eq { %TLS00/TLS06/OLS06 LAB*X i30 LAB*01 i30 get put LAB*X i31 LAB*01 i31 get put LAB*X i32 LAB*01 i32 get put } if ISYSx 2 eq { %FRS06/TLS11/OLS11 LAB*X i30 LAB*02 i30 get put LAB*X i31 LAB*02 i31 get put LAB*X i32 LAB*02 i32 get put } if ISYSx 3 eq { %TLS18/TLS18/OLS18 LAB*X i30 LAB*03 i30 get put LAB*X i31 LAB*03 i31 get put LAB*X i32 LAB*03 i32 get put } if ISYSx 4 eq { %NLS00/TSL28/OLS28 LAB*X i30 LAB*04 i30 get put LAB*X i31 LAB*04 i31 get put LAB*X i32 LAB*04 i32 get put } if ISYSx 5 eq { %NRS18/TLS38/OLS38 LAB*X i30 LAB*05 i30 get put LAB*X i31 LAB*05 i31 get put LAB*X i32 LAB*05 i32 get put /} if ISYSx 6 eq { %SRS18/TLS50/OLS50 LAB*X i30 LAB*06 i30 get put LAB*X i31 LAB*06 i31 get put LAB*X i32 LAB*06 i32 get put } if ISYSx 7 eq { %TLS70/TLS70/OLS70 LAB*X i30 LAB*07 i30 get put LAB*X i31 LAB*07 i31 get put LAB*X i32 LAB*07 i32 get put } if } %sISO=0,7 { %sISO=8,11 /jISO sISO 8 sub def /j30 jISO 3 mul def /j31 j30 1 add def /j32 j30 2 add def LAB*X i30 LAB*eX j30 get put LAB*X i31 LAB*eX j31 get put LAB*X i32 LAB*eX j32 get put } ifelse %sISO=0,7 and 8,11 } for 0 1 11 {/sISi exch def /i30 sISi 3 mul def /i31 i30 1 add def /i32 i30 2 add def LAB*aX i30 LAB*X i30 get put /l*CIE LAB*X i30 get LAB*X 18 get sub LAB*X 21 get LAB*X 18 get sub div def %rel. lightn. /a*s LAB*X 22 get LAB*X 19 get sub l*CIE mul def /b*s LAB*X 23 get LAB*X 20 get sub l*CIE mul def LAB*aX i31 LAB*X i31 get LAB*X 19 get sub a*s sub put LAB*aX i32 LAB*X i32 get LAB*X 20 get sub b*s sub put } for 0 1 6 {/sISi exch def %d=device colours /i30 sISi 3 mul def /i31 i30 1 add def /i32 i30 2 add def sISi 6 lt {%sISi<6 L*aX sISi LAB*aX i30 get put A*aX sISi LAB*aX i31 get put B*aX sISi LAB*aX i32 get put C*aX sISi A*aX sISi get dup mul B*aX sISi get dup mul add 0.000001 add sqrt put H*aX sISi B*aX sISi get A*aX sISi get 0.000001 add atan put } {%sISi=6 L*aX 6 L*aX 0 get put A*aX 6 A*aX 0 get put B*aX 6 B*aX 0 get put C*aX 6 C*aX 0 get put H*aX 6 H*aX 0 get 360 add put %for interpolation } ifelse } for %achromatic colours /L*aN LAB*aX 18 get def /A*aN LAB*aX 19 get def /B*aN LAB*aX 20 get def /C*aN 0.0 def /H*aN 0.0 def /L*aW LAB*aX 21 get def /A*aW LAB*aX 22 get def /B*aW LAB*aX 23 get def /C*aW 0.0 def /H*aW 0.0 def 0 1 4 {/sISi exch def %e=elementary colours /i30 sISi 8 add 3 mul def /i31 i30 1 add def /i32 i30 2 add def sISi 4 lt {%sISi<4 L*eX sISi LAB*aX i30 get put A*eX sISi LAB*aX i31 get put B*eX sISi LAB*aX i32 get put C*eX sISi A*eX sISi get dup mul B*eX sISi get dup mul add 0.000001 add sqrt put H*eX sISi B*eX sISi get A*eX sISi get 0.000001 add atan put } {%sISi=4 L*eX 4 L*eX 0 get put A*eX 4 A*eX 0 get put B*eX 4 B*eX 0 get put C*eX 4 C*eX 0 get put H*eX 4 H*eX 0 get 360 add put %for interpolation } ifelse } for %END for input using ISYSx (x=input/output) } def %END Procedure LAB*inoutxM %****************************************************************** /H*ai_olv*3M_LCHAB*aM_H*si_Table {%BEG Procedure %for OYLCVMO (30,90,150,210,270,330,030 degree) %input olv*3X, H*aM, LAB*eX, LAB*aX von System: ORS18, TLS18, NRS18, SRS18 etc. %output LCHAB*aM 0 1 359 {/ih exch def %ih=0,359 H*ai ih ih put /IEND 0 def /iha ih def iha 0 ge iha H*aX 0 get lt and {/iha iha 360 add def} if 0 1 5 {/jh exch def %jh=0,6 iha H*aX jh get ge iha H*aX jh 1 add get lt and IEND 0 eq and {/j30 jh 3 mul def /j31 j30 1 add def /j32 j30 2 add def /H*aX0 H*aX jh get def /L*aX0 L*aX jh get def /A*aX0 A*aX jh get def /B*aX0 B*aX jh get def /o*3X0 olv*3X j30 get def /l*3X0 olv*3X j31 get def /v*3X0 olv*3X j32 get def /H*aX1 H*aX jh 1 add get def /L*aX1 L*aX jh 1 add get def /A*aX1 A*aX jh 1 add get def /B*aX1 B*aX jh 1 add get def /o*3X1 olv*3X j30 3 add get def /l*3X1 olv*3X j31 3 add get def /v*3X1 olv*3X j32 3 add get def /alpha iha H*aX jh get sub H*aX jh 1 add get H*aX jh get sub 0.000001 add div def /IEND 1 def exit } if } for %jh=0,5 IEND 0 eq {TBG 500 1000 moveto (IEND=0 Failure H*ai_olv*3M_LCHAB*aM_H*si_Table) show} if iha 360 ge {/iha iha 360 sub def} if o*3Mi ih o*3X0 o*3X1 o*3X0 sub alpha mul add put l*3Mi ih l*3X0 l*3X1 l*3X0 sub alpha mul add put v*3Mi ih v*3X0 v*3X1 v*3X0 sub alpha mul add put /m01 H*aX1 sin H*aX0 sin sub H*aX1 cos H*aX0 cos sub 0.000001 add div def /tani ih sin ih cos 0.000001 add div def L*aMi ih L*aX0 L*aX1 L*aX0 sub alpha mul add put A*aMi ih B*aX0 A*aX0 m01 mul sub tani m01 sub 0.000001 add div put B*aMi ih A*aMi ih get tani mul put C*aMi ih A*aMi ih get dup mul B*aMi ih get dup mul add 0.000001 add sqrt put H*aMi ih B*aMi ih get A*aMi ih get 0.000001 add atan put m*aMi ih alpha put %hypothetical angles 30, 90, ..., 330 for table transfer /xMT {o*3Mi ih get 030 cos mul l*3Mi ih get 150 cos mul add} bind def /yMT {o*3Mi ih get 030 sin mul l*3Mi ih get 150 sin mul add v*3Mi ih get 270 sin mul add} bind def H*si ih yMT xMT 0.000001 add atan round cvi put } for %i=0,359 H*ai 360 H*ai 0 get put H*si 360 H*si 0 get put L*aMi 360 L*aMi 0 get put C*aMi 360 C*aMi 0 get put H*aMi 360 H*aMi 0 get put A*aMi 360 A*aMi 0 get put B*aMi 360 B*aMi 0 get put o*3Mi 360 o*3Mi 0 get put l*3Mi 360 l*3Mi 0 get put v*3Mi 360 v*3Mi 0 get put } bind def %END Procedure H*ai_olv*3M_LCHAB*aM_H*si_Table %****************************************************************** /H*ai_to_H*ei { %BEG Procedure H*ai_to_H*ei %360 steps used in both cases for the range 0 <= H*a, H*e <= 1 %main equations %alphae = [col_anga - H*eX(je)]/[H*eX(je+1) - H*eX(je)] %col_anga = alphae [H*eX(je+1) - H*eX(je)] + H*eX(je) 0 1 359 {/id exch def %id=0,359 /col_anga id def col_anga 0 ge col_anga H*eX 0 get lt and {/col_anga col_anga 360 add def} if /IEND 0 def 0 1 3 {/je exch def %je=0,3 col_anga H*eX je get ge col_anga H*eX je 1 add get lt and IEND 0 eq and {/alphae col_anga H*eX je get sub H*eX je 1 add get H*eX je get sub div def je 0 eq {/col_ange 0.00 alphae add 90 mul def} if je 1 eq {/col_ange 1.00 alphae add 90 mul def} if je 2 eq {/col_ange 2.00 alphae add 90 mul def} if je 3 eq {/col_ange 3.00 alphae add 90 mul def} if /IEND 1 def exit } if } for %je=0,3 IEND 0 eq {TBG 500 1000 moveto (IEND=0 Failure H*ei_to_H*ai) show} if col_ange 360 ge {/col_ange col_ange 360 sub def} if h*ai_e id col_ange 360 div put H*ai_ei id col_ange round cvi put } for %id=0,359 h*ai_e 360 h*ai_e 0 get put H*ai_ei 360 H*ai_ei 0 get put } bind def %END H*ai_to_H*ei %****************************************************************** /H*ei_to_H*ai { %BEG Procedure H*ei_to_H*ai %360 steps used for the range 0 <= H*a, H*e <= 360 %main equations: %alphae = [col_ange - H*eX(je)]/[H*eX(je+1) - H*eX(je)] %col_ange = alphae [H*eX(je+1) - H*eX(je)] + H*eX(je) 0 1 359 {/ie exch def %ie=0,359 ie 000 ge ie 089 le and {/je 0 def /alphae ie 90 div 0 sub def} if ie 090 ge ie 179 le and {/je 1 def /alphae ie 90 div 1 sub def} if ie 180 ge ie 269 le and {/je 2 def /alphae ie 90 div 2 sub def} if ie 270 ge ie 359 le and {/je 3 def /alphae ie 90 div 3 sub def} if /col_ange {H*eX je 1 add get H*eX je get sub alphae mul H*eX je get add} bind def col_ange 360 ge {/col_ange col_ange 360 sub def} if h*ei_a ie col_ange 360 div put H*ei_ai ie col_ange round cvi put } for %ie=0,359 h*ei_a 360 h*ei_a 0 get put H*ei_ai 360 H*ei_ai 0 get put } bind def %END H*ei_to_H*ai %****************************************************************** /H*ai_to_H*si { %BEG Procedure H*ai_to_H*si %360 steps used in both cases for the range 0 <= H*a, H*s <= 360 %main equations: %alphad = [col_anga - H*aX(n)]/[H*aX(n+1) - H*aX(n)] %col_anga = alphad [H*aX(n+1) - H*aX(n)] + H*aX(n) 0 1 359 {/id exch def %id=0,359 /col_anga id def /IEND 0 def col_anga 0 ge col_anga H*aX 0 get lt and {/col_anga col_anga 360 add def} if 0 1 5 {/jd exch def %jd=0,5 col_anga H*aX jd get ge col_anga H*aX jd 1 add get lt and IEND 0 eq and {/j*pad jd def /A*Angd H*aX jd get def /B*Angd H*aX jd 1 add get def /IEND 1 def exit} if } for %jd=0,5 IEND 0 eq {TBG 500 1000 moveto (IEND=0 Failure col_angh) show} if /alphad {col_anga A*Angd sub B*Angd A*Angd sub div} bind def /betad {1 alphad sub} bind def /j*pad1 j*pad def /j*pad2 j*pad 4 le {j*pad1 1 add} {0} ifelse def /col_angs H*sX j*pad2 get H*sX j*pad1 get sub alphad mul H*sX j*pad1 get add def col_angs 360 ge {/col_angs col_angs 360 sub def} if h*ai_s id col_angs 360 div put H*ai_si id col_angs round cvi put } for %id=0,359 h*ai_s 360 h*ai_s 0 get put H*ai_si 360 H*ai_si 0 get put } bind def %END H*ai_to_H*si %****************************************************************** /H*si_to_H*ai { %BEG Procedure H*si_to_H*ai %360 steps used in both cases for the range 0 <= H*a, H*s <= 360 %main equations: %alphas = [col_angs - LAB*sX(h)]/[LAB*sX(n+1) - LAB*sX(n)] % = [col_angs - LAB*sX(h)]/60 %col_anga = alphas [LAB*aX(n+1) - LAB*aX(n)] + LAB*aX(n) 0 1 359 {/is exch def %is=0,359 /col_angs is def is 000 ge is 029 le and {/jpan0 5 def /jpan1 6 def /col_angs col_angs 360 add def} if is 030 ge is 089 le and {/jpan0 0 def /jpan1 1 def} if is 090 ge is 149 le and {/jpan0 1 def /jpan1 2 def} if is 150 ge is 209 le and {/jpan0 2 def /jpan1 3 def} if is 210 ge is 269 le and {/jpan0 3 def /jpan1 4 def} if is 270 ge is 359 le and {/jpan0 4 def /jpan1 5 def} if is 000 ge is 029 le and {/jpan0 5 def /jpan1 6 def} if /alphas {col_angs H*sX jpan0 get sub 60 div} bind def /col_anga {H*aX jpan1 get H*aX jpan0 get sub alphas mul H*aX jpan0 get add} bind def col_anga 360 ge {/col_anga col_anga 360 sub def} if col_anga 0 lt {/col_anga 0 def} if h*si_a is col_anga 360 div put H*si_ai is col_anga round cvi put } for %is=0,359 h*si_a 360 h*si_a 0 get put H*si_ai 360 H*si_ai 0 get put } bind def %END H*si_to_H*ai %****************************************************************** /LABCH*a_XYZxya_sRGB_AdobeRGB %input/output Fav {%BEG Procedure LABCH*a_XYZxya_sRGB_AdobeRGB /LAB*Hv exch def /LAB*Cv exch def /LAB*Lv exch def /LAB*Av {LAB*Cv LAB*Hv cos mul} bind def /LAB*Bv {LAB*Cv LAB*Hv sin mul} bind def /CIEF 1 88.60 div def /X* {LAB*Lv 16 add 116 div LAB*Av 500 div add } bind def /Y* {LAB*Lv 16 add 116 div } bind def /Z* {LAB*Lv 16 add 116 div LAB*Bv 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 /XCIEv {X* DecodeXYZ* 95.05 mul} bind def /YCIEv {Y* DecodeXYZ* 100.00 mul} bind def /ZCIEv {Z* DecodeXYZ* 108.90 mul} bind def /XYZSUM {XCIEv YCIEv add ZCIEv add} bind def /xCIEv {XCIEv XYZSUM 0.000001 add div} bind def /yCIEv {YCIEv XYZSUM 0.000001 add div} bind def /XRGBv {XCIEv CIEF mul} bind def /YRGBv {YCIEv CIEF mul} bind def /ZRGBv {ZCIEv CIEF mul} bind def %Transformation X Y Z to RsRGB, GsRGB, BsRGB /RsRGB XRGBv 3.2406 mul YRGBv -1.5372 mul add ZRGBv -0.4986 mul add def /GsRGB XRGBv -0.9686 mul YRGBv 1.8758 mul add ZRGBv 0.0415 mul add def /BsRGB XRGBv 0.0557 mul YRGBv -0.2040 mul add ZRGBv 1.0570 mul add def /Slope 1.0 2.4 div def RsRGB 0.00313008 le {/R'sRGBv RsRGB 12.92 mul def} {/R'sRGBv RsRGB Slope exp 1.055 mul 0.055 sub def} ifelse GsRGB 0.00313008 le {/G'sRGBv GsRGB 12.92 mul def} {/G'sRGBv GsRGB Slope exp 1.055 mul 0.055 sub def} ifelse BsRGB 0.00313008 le {/B'sRGBv BsRGB 12.92 mul def} {/B'sRGBv BsRGB Slope exp 1.055 mul 0.055 sub def} ifelse %Transformation X Y Z to RAdobeRGB, GAdobeRGB, BAdobeRGB /RAdobeRGB XRGBv 2.04159 mul YRGBv -0.56501 mul add ZRGBv -0.34473 mul add def /GAdobeRGB XRGBv -0.96924 mul YRGBv 1.87597 mul add ZRGBv 0.04156 mul add def /BAdobeRGB XRGBv 0.01344 mul YRGBv -0.11836 mul add ZRGBv 1.01517 mul add def /Slope 1.0 2.19921875 div def /R'AdobeRGBv RAdobeRGB 0.000001 add abs Slope exp RAdobeRGB 0 lt {neg} if def /G'AdobeRGBv GAdobeRGB 0.000001 add abs Slope exp GAdobeRGB 0 lt {neg} if def /B'AdobeRGBv BAdobeRGB 0.000001 add abs Slope exp BAdobeRGB 0 lt {neg} if def } bind def %END Procedure LABCH*a_XYZxya_sRGB_AdobeRGB %****************************************************************** /lab*olv*3_to_lab*tcn*_H*siu {%BEG Procedure lab*olv*3_to_lab*tcn*_H*si %input/output Fau /lab*v*3u exch def /lab*l*3u exch def /lab*o*3u exch def %input: lab*olv3: lab*o*3u, lab*l*3u, lab*v*3u %output: lab*tch: lab*t*u, lab*c*u, lab*h*u %Min and max /minolv*3 lab*o*3u def lab*l*3u minolv*3 lt {/minolv*3 lab*l*3u def} if lab*v*3u minolv*3 lt {/minolv*3 lab*v*3u def} if /maxolv*3 lab*o*3u def lab*l*3u maxolv*3 gt {/maxolv*3 lab*l*3u def} if lab*v*3u maxolv*3 gt {/maxolv*3 lab*v*3u def} if /lab*c*u {maxolv*3 minolv*3 sub} bind def /lab*t*u {minolv*3 lab*c*u 0.5 mul add} bind def /lab*n*u {1 maxolv*3 sub} bind def /iachr 0 def lab*c*u 0.001 ge { %hypothetical angles 30, 90, ..., 330 /xFau {lab*o*3u 030 cos mul lab*l*3u 150 cos mul add} bind def /yFau {lab*o*3u 030 sin mul lab*l*3u 150 sin mul add lab*v*3u 270 sin mul add} bind def /H*siu {yFau xFau 0.00000001 add atan round cvi} def /iachr 0 def } { /H*siu 0 def /iachr 1 def } ifelse } bind def %END Procedure lab*olv*3_to_lab*tcn*_H*si %*********************************************************** /T*ai {TBK -30 -80 rmoveto (ai) show 30 80 rmoveto TBIK} bind def /T*ei {TBK -30 -80 rmoveto (ei) show 30 80 rmoveto TBIK} bind def /T*si {TBK -30 -80 rmoveto (si) show 30 80 rmoveto TBIK} bind def /T*s0 {TBK -30 -80 rmoveto (s0) show 30 80 rmoveto TBIK} bind def /T*r0 {TBK -30 -80 rmoveto (r0) show 30 80 rmoveto TBIK} bind def /T*ai0 {TBK -30 -80 rmoveto (ai0) show 30 80 rmoveto TBIK} bind def /T*si0 {TBK -30 -80 rmoveto (ai0) show 30 80 rmoveto TBIK} bind def /T*r {TBK -30 -80 rmoveto (r) show 30 80 rmoveto TBIK} bind def /T*si_ai {TBK -30 -80 rmoveto (si_ai) show 30 80 rmoveto TBIK} bind def /T*ai_ei {TBK -30 -80 rmoveto (ai_ei) show 30 80 rmoveto TBIK} bind def /T*ai_si {TBK -30 -80 rmoveto (ai_si) show 30 80 rmoveto TBIK} bind def /T*ei_ai {TBK -30 -80 rmoveto (ei_ai) show 30 80 rmoveto TBIK} bind def /T*CIEa {TBK -30 -80 rmoveto (CIE,a) show 30 80 rmoveto TBIK} bind def /TCIEa {TBK -00 -80 rmoveto (CIE,a) show 00 80 rmoveto TBIK} bind def /TRGB {TBK -00 -80 rmoveto (RGB) show 00 80 rmoveto TBIK} bind def /TsRGB {TBK -00 -80 rmoveto (sRGB) show 00 80 rmoveto TBIK} bind def /TAdobeRGB {TBK -00 -80 rmoveto (AdobeRGB) show 00 80 rmoveto TBIK} bind def /T*m {TBK 00 -80 rmoveto (m) show 00 80 rmoveto TBIK} bind def /T*0 {TBK 00 -80 rmoveto (0) show 00 80 rmoveto TBIK} bind def /T*1 {TBK 00 -80 rmoveto (1) show 00 80 rmoveto TBIK} bind def /T*2 {TBK 00 -80 rmoveto (2) show 00 80 rmoveto TBIK} bind def /T*3 {TBK 00 -80 rmoveto (3) show 00 80 rmoveto TBIK} bind def /T*4 {TBK 00 -80 rmoveto (4) show 00 80 rmoveto TBIK} bind def /T*N {TBK 00 -80 rmoveto (N) show 00 80 rmoveto TBIK} bind def /T*W {TBK 00 -80 rmoveto (W) show 00 80 rmoveto TBIK} bind def /T*M {TBK 00 -80 rmoveto (M) show 00 80 rmoveto TBIK} bind def /T*N0 {TBK 00 -80 rmoveto (N0) show 00 80 rmoveto TBIK} bind def /T*W0 {TBK 00 -80 rmoveto (W0) show 00 80 rmoveto TBIK} bind def /T*M0 {TBK 00 -80 rmoveto (M0) show 00 80 rmoveto TBIK} bind def /T*N1 {TBK 00 -80 rmoveto (N1) show 00 80 rmoveto TBIK} bind def /T*W1 {TBK 00 -80 rmoveto (W1) show 00 80 rmoveto TBIK} bind def /T*M1 {TBK 00 -80 rmoveto (M1) show 00 80 rmoveto TBIK} bind def /T*Nm {TBK 00 -80 rmoveto (Nm) show 00 80 rmoveto TBIK} bind def /T*Wm {TBK 00 -80 rmoveto (Wm) show 00 80 rmoveto TBIK} bind def /T*Mm {TBK 00 -80 rmoveto (Mm) show 00 80 rmoveto TBIK} bind def /T*ai {TBK -30 -80 rmoveto (ai) show 30 80 rmoveto TBIK} bind def /T*aim {TBK -30 -80 rmoveto (aim) show 30 80 rmoveto TBIK} bind def /T*ai0 {TBK -30 -80 rmoveto (ai0) show 30 80 rmoveto TBIK} bind def /T*ai1 {TBK -30 -80 rmoveto (ai1) show 30 80 rmoveto TBIK} bind def /T*ai2 {TBK -30 -80 rmoveto (ai2) show 30 80 rmoveto TBIK} bind def /T*ai3 {TBK -30 -80 rmoveto (ai3) show 30 80 rmoveto TBIK} bind def /T*ai4 {TBK -30 -80 rmoveto (ai4) show 30 80 rmoveto TBIK} bind def /T*si {TBK -30 -80 rmoveto (si) show 30 80 rmoveto TBIK} bind def /T*sim {TBK -30 -80 rmoveto (sim) show 30 80 rmoveto TBIK} bind def /T*si0 {TBK -30 -80 rmoveto (si0) show 30 80 rmoveto TBIK} bind def /T*si1 {TBK -30 -80 rmoveto (si1) show 30 80 rmoveto TBIK} bind def /T*si2 {TBK -30 -80 rmoveto (si2) show 30 80 rmoveto TBIK} bind def /T*si3 {TBK -30 -80 rmoveto (si3) show 30 80 rmoveto TBIK} bind def /T*si4 {TBK -30 -80 rmoveto (si4) show 30 80 rmoveto TBIK} bind def /T*ei {TBK -30 -80 rmoveto (ei) show 30 80 rmoveto TBIK} bind def /T*eim {TBK -30 -80 rmoveto (eim) show 30 80 rmoveto TBIK} bind def /T*ei0 {TBK -30 -80 rmoveto (ei0) show 30 80 rmoveto TBIK} bind def /T*ei1 {TBK -30 -80 rmoveto (ei1) show 30 80 rmoveto TBIK} bind def /T*ei2 {TBK -30 -80 rmoveto (ei2) show 30 80 rmoveto TBIK} bind def /T*ei3 {TBK -30 -80 rmoveto (ei3) show 30 80 rmoveto TBIK} bind def /T*ei4 {TBK -30 -80 rmoveto (ei4) show 30 80 rmoveto TBIK} bind def /T*a {TBK -30 -80 rmoveto (a) show 30 80 rmoveto TBIK} bind def /T*a0 {TBK -30 -80 rmoveto (a0) show 30 80 rmoveto TBIK} bind def /T*am {TBK -30 -80 rmoveto (am) show 30 80 rmoveto TBIK} bind def /T*a0 {TBK -30 -80 rmoveto (a0) show 30 80 rmoveto TBIK} bind def /T*a1 {TBK -30 -80 rmoveto (a1) show 30 80 rmoveto TBIK} bind def /T*a2 {TBK -30 -80 rmoveto (a2) show 30 80 rmoveto TBIK} bind def /T*a3 {TBK -30 -80 rmoveto (a3) show 30 80 rmoveto TBIK} bind def /T*a4 {TBK -30 -80 rmoveto (a4) show 30 80 rmoveto TBIK} bind def /T*d {TBK -30 -80 rmoveto (d) show 30 80 rmoveto TBIK} bind def /T*e {TBK -30 -80 rmoveto (e) show 30 80 rmoveto TBIK} bind def /T*s {TBK -30 -80 rmoveto (s) show 30 80 rmoveto TBIK} bind def /T*3 {TBK -30 -80 rmoveto (3) show 30 80 rmoveto TBIK} bind def /T*3m {TBK -30 -80 rmoveto (3m) show 30 80 rmoveto TBIK} bind def /T*30 {TBK -30 -80 rmoveto (30) show 30 80 rmoveto TBIK} bind def /T*31 {TBK -30 -80 rmoveto (31) show 30 80 rmoveto TBIK} bind def /T*32 {TBK -30 -80 rmoveto (32) show 30 80 rmoveto TBIK} bind def /T*33 {TBK -30 -80 rmoveto (33) show 30 80 rmoveto TBIK} bind def /T*34 {TBK -30 -80 rmoveto (34) show 30 80 rmoveto TBIK} bind def /T*3M {TBK -30 -80 rmoveto (3,M) show 30 80 rmoveto TBIK} bind def /T*3Mm {TBK -30 -80 rmoveto (3,Mm) show 30 80 rmoveto TBIK} bind def /T*3M0 {TBK -30 -80 rmoveto (3,M0) show 30 80 rmoveto TBIK} bind def /T*3M1 {TBK -30 -80 rmoveto (3,M1) show 30 80 rmoveto TBIK} bind def /T*3M2 {TBK -30 -80 rmoveto (3,M2) show 30 80 rmoveto TBIK} bind def /T*3M3 {TBK -30 -80 rmoveto (3,M3) show 30 80 rmoveto TBIK} bind def /T*3M4 {TBK -30 -80 rmoveto (3,M4) show 30 80 rmoveto TBIK} bind def /T*aM {TBK -30 -80 rmoveto (a,M) show 30 80 rmoveto TBIK} bind def /T*aMm {TBK -30 -80 rmoveto (a,Mm) show 30 80 rmoveto TBIK} bind def /T*aM0 {TBK -30 -80 rmoveto (a,M0) show 30 80 rmoveto TBIK} bind def /T*aM1 {TBK -30 -80 rmoveto (a,M1) show 30 80 rmoveto TBIK} bind def /T*aM2 {TBK -30 -80 rmoveto (a,M2) show 30 80 rmoveto TBIK} bind def /T*aM3 {TBK -30 -80 rmoveto (a,M3) show 30 80 rmoveto TBIK} bind def /T*aM4 {TBK -30 -80 rmoveto (a,M4) show 30 80 rmoveto TBIK} bind def /nshow {300 /Times-ISOL1 FS show} bind def /kshow {300 /TimesI-ISOL1 FS show} bind def /bshow {300 /TimesB-ISOL1 FS show} bind def /jshow {300 /TimesBI-ISOL1 FS show} bind def /sshow {300 /Symbol FS show} bind def /ishow {220 /Times-ISOL1 FS -00 -50 rmoveto show 00 50 rmoveto} bind def /eshow {220 /Times-ISOL1 FS 0 100 rmoveto show 0 -100 rmoveto} bind def /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 %%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 /nr1 [(01) (02) (03) (04) (05) (06) (07) (08) (09) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20)] def /tx1 [(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 /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 /CName [(N) (Vn) (V) (Ln) (Cn) (-) (L) (-) (C) (On) (Mn) (-) (Ln) (Z) (Vw) (-) (Lw) (Mw) (O) (-) (M) (-) (Ow) (Mw) (Y) (Yw) (W)] def /EName [(N) (Bn) (B) (Gn) (C'n) (-) (G) (-) (C') (Rn) (M'n) (-) (Gn) (Z) (Bw) (-) (Gw) (M'w) (R) (-) (M') (-) (Rw) (M'w) (J) (Jw) (W)] def /CNa10 [(O=o00y) (o10y) (o20y) (o30y) (o40y) (o50y) (o60y) (o070y) (o80y) (o90y) (Y=y00l)] def /ENa10 [(R=r00j) (r10j) (r20j) (r30j) (r40j) (r50j) (r60j) (r070j) (r80j) (r90j) (J=j00g)] def /xchartg where {pop /xchart xchartg def} {/xchart 0 def} ifelse /xcolorg where {pop /xcolor xcolorg def} {/xcolor 0 def} ifelse 5 /Times-ISOL1 FS 380 85 moveto (ZE071-7) show 72 90 translate 0.01 MM dup scale %/jnx 0 def %input olv*3 %sequence of input %/jnx 1 def %input LCH*a %/jnx 2 def %input nce* %/knx 0 def %output olv*3 %sequence of input %/knx 1 def %output LCH*a %/knx 2 def %output nce* %input see above %output see above %00 1 07 {/xchart exch def %xchart=0,07 8 Systems gsave /jnx 0 def %input 1=LCHa, 0=0lv*3 /knx 0 def %output 1=LCHam, 0=olv*3m %part I start colour space %input of first series: ORS18, TLS00, . /ISRLx 0 def %only first series out of 0,1,2 /ISYS0 1 def %1=TLS00 only /ISYSx 1 def %1=TLS00 only %i* = 1 - n* %w* = 1 - n* - c* %d* = 1 - w* = n* + c* %t* = 1 - n* - 0,5 c* /n* 0.3 def /c* 0.5 def /i* 1 n* sub def /w* 1 n* sub c* sub def /d* n* c* add def /t* 1 n* sub c* 0.5 mul sub def /lab*n*u n* def /lab*c*u c* def /lab*t*u t* def %change from colour M to F %c* = C*ab,a/ C*ab,a,M %l* = [ L* - L*N] / [ L* W - L*N ] %L* = l* [ L* W - L*N ] + L*N %t* = l* - c* { [ L*M - L*N ] / [ L*W - L*N ] - 0.5 } %l* = t* + c* { [ L*M - L*N ] / [ L*W - L*N ] - 0.5 } %n* = 1 - t* - 0.5 c* %n* = 1 - l* + c* { [ L*M - L*N ] / [ L*W - L*N ] - 0.5 } - 0.5 c* % = 1 - l* + c* [ L*M - L*N ] / [ L*W - L*N ] 1.0 setgray 0 0 moveto 12300 0 rlineto 0 17000 rlineto -12300 0 rlineto closepath fill 0.0 setgray 0 0 moveto 12300 0 rlineto 0 17000 rlineto -12300 0 rlineto closepath stroke /xi 000 def /ymax 13150 def /ymax0 ymax 500 add def /ydel 450 def /xd -1800 def LAB*inoutxM %Create tables for 360 elementary hues for both input and output H*ei_to_H*ai H*ai_to_H*ei /TSYSIO TSYSx ISRLx 8 mul ISYSx add get def /TSYSIO0 TSYSIO def %for part II H*ai_to_H*si H*si_to_H*ai %Create tables for 360 hues for both input and output H*ai_olv*3M_LCHAB*aM_H*si_Table xi 100 add 16200 ydel 0 mul sub moveto TM (For input) showen (F\374r Eingabe) showde TBIM jnx 0 eq {( olv*) show T*30} if jnx 1 eq {( LCH*) show T*a0} if jnx 2 eq {( nce*) show T*30} if TM ( \050) show TSYSIO0 show TM ( \051) show TM ( and output) showen ( und Ausgabe) showde TBIM knx 0 eq {( olv*) show T*3m} if knx 1 eq {( LCH*) show T*am} if knx 2 eq {( nce*) show T*3m} if TM ( for 4 systems \050) showen ( f\374r 4 Systeme \050) showde TBIM ( m) show TM ( = 0 to 4\051) showen ( = 0 bis 4\051) showde /L*aN0 L*aN def /L*aW0 L*aW def /L*aM0i 11 array def %i=0,1,10 /A*aM0i 11 array def /B*aM0i 11 array def /C*aM0i 11 array def /H*aM0i 11 array def /o*3M0i 11 array def /l*3M0i 11 array def /v*3M0i 11 array def /m*aM0i 11 array def /H*s0i 11 array def /i0 H*aX 0 get def /i1 H*aX 1 get def /id H*aX 1 get H*aX 0 get sub 10 div def 0 1 10 {/i exch def %i=0,10 /i0i i0 i id mul add round cvi def L*aM0i i L*aMi i0i get put C*aM0i i C*aMi i0i get put H*aM0i i H*aMi i0i get put A*aM0i i A*aMi i0i get put B*aM0i i B*aMi i0i get put m*aM0i i m*aMi i0i get put o*3M0i i o*3Mi i0i get put l*3M0i i l*3Mi i0i get put v*3M0i i v*3Mi i0i get put m*aM0i i m*aMi i0i get put H*s0i i H*si i0i get put } for %i=0,10 TBIK xi 02200 add xd add 300 sub ymax0 moveto (no.) showen (Nr.) showde xi 02300 add xd add ymax0 moveto (Colour) showen (Farbe) showde jnx 0 eq {%jnx=0 xi 03300 add xd add ymax0 moveto (olv*) show T*30 ISYS0 5 eq {(=rgb*) show T*30} if xi 03300 add xd add ymax0 300 add moveto TBK (->) show TSYSIO show } if %jnx=0 jnx 1 eq {%jnx=1 xi 03300 add xd add ymax0 moveto (LCH*) show T*a0 xi 03300 add xd add ymax0 300 add moveto TBK (->) show TSYSIO show } if %jnx=1 jnx 2 eq {%jnx=2 xi 03300 add xd add ymax0 moveto (nce*) show T*30 xi 03300 add xd add ymax0 300 add moveto TBK (->) show TSYSIO show } if %jnx=2 TBIK xi 05000 add xd add ymax0 moveto (n*, c*) show jnx 0 eq {(, H*) show T*si0} if jnx 1 eq {(, H*) show T*ai0} if jnx 2 eq {(, H*) show T*ei0} if xi 05000 add xd add ymax0 300 add moveto TBK (->) show TSYSIO show 0 1 10 {/ijk exch def %ijk=0,10 /yi {ymax ijk ydel mul sub} bind def TK /LAB*L*aM0 L*aM0i ijk get def /LAB*C*aM0 C*aM0i ijk get def /LAB*H*aM0 H*aM0i ijk get def /LAB*A*aM0 A*aM0i ijk get def /LAB*B*aM0 B*aM0i ijk get def /lab*o*3M0 o*3M0i ijk get def /lab*l*3M0 l*3M0i ijk get def /lab*v*3M0 v*3M0i ijk get def /LMR LAB*L*aM0 L*aN0 sub L*aW0 L*aN0 sub div def /l* t* c* LMR 0.5 sub mul add def /LAB*L*aF0 l* L*aW0 L*aN0 sub mul L*aN0 add def /LAB*C*aF0 LAB*C*aM0 c* mul def /LAB*H*aF0 LAB*H*aM0 def /LAB*A*aF0 LAB*A*aM0 c* mul def /LAB*B*aF0 LAB*B*aM0 c* mul def /lab*o*3F0 w* c* lab*o*3M0 mul add def /lab*l*3F0 w* c* lab*l*3M0 mul add def /lab*v*3F0 w* c* lab*v*3M0 mul add def /ik45 LAB*H*aF0 round cvi def %H*ai %numbers and Systems, delta 200,1100 TK xi 2200 add xd add 300 sub yi moveto %(%) show ijk 8 le {(0) show} if ijk 1 add cvishow xi 2300 add xd add yi moveto TIK ISYS0 5 eq {ENa10} {CNa10} ifelse ijk get show TK jnx 0 eq {%jnx=10 %olv*3 values, delta=600+100 xi 3300 add xd add yi moveto lab*o*3F0 cvsshow2 xi 3900 add xd add yi moveto lab*l*3F0 cvsshow2 xi 4500 add xd add yi moveto lab*v*3F0 cvsshow2 } if %jnx=0 jnx 1 eq {%jnx=1 %LCH*a values, delta=600+100 xi 3300 add xd add yi moveto LAB*L*aF0 cvsshow1 xi 3900 add xd add yi moveto LAB*C*aF0 cvsshow1 xi 4500 add xd add yi moveto lab*c*u 0 eq {(-) show} %c*=0 {LAB*H*aF0 cvishow} ifelse } if %jnx=1 jnx 2 eq {%jnx=2 nce* input xi 3300 add xd add yi moveto lab*n*u cvsshow2 xi 3900 add xd add yi moveto lab*c*u cvsshow2 xi 4500 add xd add 150 sub yi moveto % H*si = H*siu % /ik45 H*si_ai H*siu get def % H*ai = ik45 = H*si_ai [H*si] % H*ei = H*ai_ei [H*ai] % H*ei = H*ai_ei ik45 get lab*c*u 0 eq {(-) show} %c*=0 {H*ai_ei ik45 get 360 div cvsshow2} ifelse } if %jnx=2 xi 5000 add xd add yi moveto lab*n*u cvsshow2 xi 5450 add xd add yi moveto lab*c*u cvsshow2 jnx 0 eq {%jnx=0 xi 6000 add xd add yi moveto lab*c*u 0 eq {(-) show} %c*=0 {H*si ik45 get dup 360 eq {0} if cvishow} ifelse } if %jnx=0 jnx 1 eq {%jnx=1 xi 6000 add xd add yi moveto lab*c*u 0 eq {(-) show} %c*=0 {H*aMi ik45 get dup 360 eq {0} if cvishow} ifelse } if %jnx=1 jnx 2 eq {%jnx=2 xi 6000 add xd add yi moveto lab*c*u 0 eq {(-) show} %c*=0 {H*ai_ei ik45 get dup 360 eq {0} if cvishow} ifelse } if %jnx=2 lab*o*3F0 lab*l*3F0 lab*v*3F0 setrgbcolor xi 11800 add yi 150 sub moveto ydel 0 rlineto 0 ydel rlineto ydel neg 0 rlineto closepath fill 0 setgray xi 11800 add yi 150 sub moveto ydel 0 rlineto 0 ydel rlineto ydel neg 0 rlineto closepath stroke } for %ijk=0,10 %part II output data 0 1 3 {/ichar exch def %ichar=0,3 for ORS18, TLS00, NRS18, SRS18 ichar 0 eq {/xcharx 0 def} if ichar 1 eq {/xcharx 1 def} if ichar 2 eq {/xcharx 5 def} if ichar 3 eq {/xcharx 6 def} if %for knx=1: LCH*F %for knx=0: olv*3F %for knx=2: nce*F /ISRLx xcharx 8 idiv def %0,1,2 /ISYS0 xcharx xcharx 8 idiv 8 mul sub def %0,1,..,7 /ISYSx ISYS0 def %0,1,..,7 LAB*inoutxM %Create tables for 360 elementary hues for both input and output H*ei_to_H*ai H*ai_to_H*ei /TSYSIO TSYSx ISRLx 8 mul ISYSx add get def H*ai_to_H*si %H*si_to_H*ai %Create tables for 360 hues for both input and output H*ai_olv*3M_LCHAB*aM_H*si_Table /k xcharx xcharx 8 idiv 8 mul sub def %j=0,1,2,3 ichar 0 eq {%ichar=0 xi 100 add 16700 moveto TBM (Colorimetric data for system lines ) showen (Farbmetrische Daten f\374r Systemketten ) showde TSYSIO0 show ( -> ORS18, TLS00, NRS18, SRS18) show } if %ichar=0 xi 100 add 16200 ichar 1 add ydel mul sub moveto TM (Six CIELAB hue angles of device ) showen (Sechs CIELAB\255Bunttonwinkel des Ger\344tes ) showde TSYSIO show (: \050) show H*aX 0 get cvsshow1 ( ) show H*aX 1 get cvsshow1 ( ) show H*aX 2 get cvsshow1 ( ) show H*aX 3 get cvsshow1 ( ) show H*aX 4 get cvsshow1 ( ) show H*aX 5 get cvsshow1 (\051; ) show 0 1 10 {/ijk exch def %ijk=0,10 /ik45 H*aM0i ijk get round cvi def /yi {ymax ijk ydel mul sub} bind def %in olv*3 values, delta=800 /LAB*L*aM L*aMi ik45 get def /LAB*C*aM C*aMi ik45 get def /LAB*H*aM H*aMi ik45 get def /LAB*A*aM A*aMi ik45 get def /LAB*B*aM B*aMi ik45 get def /lab*o*3M o*3Mi ik45 get def /lab*l*3M l*3Mi ik45 get def /lab*v*3M v*3Mi ik45 get def /LMR LAB*L*aM L*aN sub L*aW L*aN sub div def /l* t* c* LMR 0.5 sub mul add def /LAB*L*aF l* L*aW L*aN sub mul L*aN add def /LAB*C*aF LAB*C*aM c* mul def /LAB*H*aF LAB*H*aM def /LAB*A*aF LAB*A*aM c* mul def /LAB*B*aF LAB*B*aM c* mul def /lab*o*3F w* c* lab*o*3M mul add def /lab*l*3F w* c* lab*l*3M mul add def /lab*v*3F w* c* lab*v*3M mul add def TK /xd0 -1200 def knx 0 eq {%knx=0 /xd3 xd0 ichar 1800 mul add def ijk 0 eq {%ijk=0 TBK xi 6000 add xd3 add ymax0 300 add moveto TSYSIO show TBIK xi 6000 add xd3 add ymax0 moveto (olv*) show ichar 0 eq {T*31} if ichar 1 eq {T*32} if ichar 2 eq {T*33} if ichar 3 eq {T*34} if } if %ijk=0 TK xi 6000 add xd3 add yi moveto lab*o*3F cvsshow2 xi 6550 add xd3 add yi moveto lab*l*3F cvsshow2 xi 7100 add xd3 add yi moveto lab*v*3F cvsshow2 } if %knx=0 knx 1 eq {%knx=1 /xd2 xd0 ichar 1800 mul add def ijk 0 eq {%ijk=0 TBK xi 6000 add xd2 add ymax0 300 add moveto TSYSIO show TBIK xi 6000 add xd2 add ymax0 moveto (LCH*) show ichar 0 eq {T*a1} if ichar 1 eq {T*a2} if ichar 2 eq {T*a3} if ichar 3 eq {T*a4} if } if %ijk=0 TK xi 6000 add xd2 add yi moveto LAB*L*aF cvsshow1 xi 6600 add xd2 add yi moveto LAB*C*aF dup 100 ge {cvishow} {cvsshow1} ifelse xi 7200 add xd2 add yi moveto lab*c*u 0 eq {(-) show} %c*=0 {LAB*H*aF cvishow} ifelse } if %knx=1 ichar 0 eq {%ichar=0 lab*o*3F lab*l*3F lab*v*3F setrgbcolor xi 11800 add yi 150 sub moveto ydel 0 rlineto 0 ydel rlineto ydel neg 0 rlineto closepath fill 0 setgray xi 11800 add yi 150 sub moveto ydel 0 rlineto 0 ydel rlineto ydel neg 0 rlineto closepath stroke } if %ichar=0 } for %end ijk=0,10 } for %ichar=0,3 for ORS18, TLS00, NRS18, SRS18 %END part II %********************************************************** /xg1 4500 def /xg2 11750 def /ytab0 8200 def /ytab1 5000 def /ydel 400 def jnx 1 eq {%jnx=1, input LCH*a0, output olv*3m 100 ytab0 moveto TBM (Goal:) showen (Ziel:) showde TM ( Transfer coordinates) showen ( Koordinatentransfer) showde TBIM ( LCH*) show T*a0 TM ( (system m=0) to) showen ( (System m=0) nach) showde TBIM ( rgb) show T*m TBIM ( = olv*) show T*3m TM ( (system m=1 to 4)) showen ( (System m=1 bis 4)) showde 100 ytab0 ydel 1.5 mul sub moveto TM (The given data) showen (Die gegebenen Daten) showde TBIM ( LCH*) show T*a0 TM ( include the device hue) showen ( enthalten den Ger\344te\255Buntton) showde TBIM ( H*) show T*a0 100 ytab0 ydel 2.5 mul sub moveto TM (Integer (i) device hue:) showen (Ganzzahl (i) Ger\344te\255Buntton:) showde xg1 ytab0 ydel 2.5 mul sub moveto TBIM (H*) show T*ai0 TBM ( = ) show TBIM (round ) show TBM (\050) show TBIM ( H*) show T*a0 TBM (\051) show xg2 ytab0 ydel 2.5 mul sub moveto TM ((1)) show TM 100 ytab0 ydel 4 mul sub moveto (Fetch device data) showen (Hole Ger\344tedaten) showde TBIM ( LCH*) show T*aMm TM ( from table with 361 entries for) showen ( aus Tabelle mit 361 Eintr\344gen f\374r) showde TBIM ( H*) show T*ai0 TM ( from 0 to 360 degrees) showen ( von 0 bis 360 Grad) showde TM 100 ytab0 ydel 5 mul sub moveto (Lightness, chroma, hue:) showen (Helligkeit, Buntheit, Buntton:) showde xg1 ytab0 ydel 5 mul sub moveto TBIM (LCH*) show T*aM0 TBM ( = ) show TBIM (LCH*) show T*aM0 TBM ( [ ) show TBIM (H*) show T*ai0 TBM ( ]) show xg2 ytab0 ydel 5 mul sub moveto TM ((2)) show TM 100 ytab0 ydel 6.5 mul sub moveto (Calculate) showen (Berechne) showde TBIM ( lcnw*) show TM ( data from) showen (\255Daten aus) showde TBIM ( LC*) show T*a0 TM ( and) showen ( und) showde TBIM ( LC*) show T*aM0 TBM (:) show TM 100 ytab0 ydel 7.5 mul sub moveto (Relative lightness:) showen (Relative Helligkeit:) showde xg1 ytab0 ydel 7.5 mul sub moveto TBIM (l*) show TBM ( = [ ) show TBIM (L*) show T*0 TBM ( - ) show TBIM (L*) show T*N0 TBM ( ] / [ ) show TBIM (L*) show T*W0 TBM ( - ) show TBIM (L*) show T*N0 TBM ( ]) show xg2 ytab0 ydel 7.5 mul sub moveto TM ((3)) show TM 100 ytab0 ydel 8.5 mul sub moveto (Relative chroma:) showen (Relative Buntheit:) showde xg1 ytab0 ydel 8.5 mul sub moveto TBIM (c*) show TBM ( = ) show TBIM (C*) show T*a0 TBM ( / ) show TBIM (C*) show T*aM0 xg2 ytab0 ydel 8.5 mul sub moveto TM ((4)) show %n* = 1 - l* + c* { [ L*M - L*N ] / [ L*W - L*N ] - 0.5 } - 0.5 c* % = 1 - l* + c* [ L*M - L*N ] / [ L*W - L*N ] TM 100 ytab0 ydel 9.5 mul sub moveto (Relative Blackness:) showen (Relative Schwarzheit:) showde xg1 ytab0 ydel 9.5 mul sub moveto TBIM (n*) show TBM ( = 1 - ) show TBIM (l*) show %xg2 ytab0 ydel 9.5 mul sub moveto %TM ((6)) show %xg1 650 add ytab0 ydel 9.5 mul sub moveto TBM ( + ) show TBIM (c*) show TBM ( [ ) show TBIM (L*) show T*M0 TBM ( - ) show TBIM (L*) show T*N0 TBM ( ] / [ ) show TBIM (L*) show T*W0 TBM ( - ) show TBIM (L*) show T*N0 TBM ( ]) show xg2 ytab0 ydel 9.5 mul sub moveto TM ((5)) show TM 100 ytab0 ydel 11 mul sub moveto (Fetch device data) showen (Hole Ger\344tedaten) showde TBIM ( olv*) show T*3Mm TM ( from table with 361 entries for) showen ( aus Tabelle mit 361 Eintr\344gen f\374r) showde TBIM ( H*) show T*ai0 TM ( from 0 to 360 degrees) showen ( von 0 bis 360 Grad) showde TM 100 ytab0 ydel 12 mul sub moveto TM ("red, green, blue") showen ("Rot, Gr\374n, Blau") showde TBIM ( rgb) showen (\255rgb) showde T*Mm TM ( data:) showen (\255Daten:) showde xg1 ytab0 ydel 12 mul sub moveto TBIM (olv*) show T*3Mm TBM ( = ) show TBIM (olv*) show T*3Mm TBM ( [ ) show TBIM (H*) show T*ai0 TBM ( ]) show xg2 ytab0 ydel 12 mul sub moveto TM ((6)) show %TM %100 ytab0 ydel 14 mul sub moveto %(Relative Whiteness:) showen (Relative Weissheit:) showde %xg1 ytab0 ydel 14 mul sub moveto %TBIM (w*) show %TBM ( = 1 - ) show %TBIM (n*) show %TBM ( - ) show %TBIM (c*) show %xg2 ytab0 ydel 14 mul sub moveto %TM ((7)) show %{ a [1 - w*x] + w*x } i* = a i* - a w*x i* + w*x i* = a i* - a w* + w* %= w* + a [i* - w* ] = w* + a c* %i* - w* = 1 - n* - (1 - n* -c*) = c* %/lab*o*3u w* o*3Mi ik45 get c* mul add def %/lab*l*3u w* l*3Mi ik45 get c* mul add def %/lab*v*3u w* v*3Mi ik45 get c* mul add def TM 100 ytab0 ydel 14 mul sub moveto (For any input or output device (m=0 to 4) it is valid for constant) showen (F\374r jedes Ein\255 oder Ausgabeger\344t (m=0 bis 4) gilt f\374r konstante) showde TBIM ( n*, c*, l*, H*) show T*a TBM (:) show TM 100 ytab0 ydel 15 mul sub moveto TM ("red, green, blue") showen ("Rot, Gr\374n, Blau") showde TBIM ( rgb) showen (\255rgb) showde T*m TM ( data:) showen (\255Daten:) showde xg1 ytab0 ydel 15 mul sub moveto TBIM (olv*) show T*3m TBM ( = 1 - ) show TBIM (n*) show TBM ( - ) show TBIM (c*) show TBM ( + ) show TBIM (c*) show TBIM ( olv*) show T*3Mm xg2 ytab0 ydel 15 mul sub moveto TM ((7)) show %100 ytab0 ydel 16 mul sub moveto %TM (Adated CIELAB chroma:) showen % (Adaptierte CIELAB\255Buntheit:) showde %xg1 ytab0 ydel 16 mul sub moveto %TBIM (C*) show T*am %TBM ( = ) show %TBIM (c*) show %TBIM ( C*) show T*aMm %xg2 ytab0 ydel 16 mul sub moveto %TM ((8)) show %/LAB*L*aF l* L*aW L*aN sub mul L*aN add def %/LAB*C*aF LAB*C*aM c* mul def %100 ytab0 ydel 17 mul sub moveto %TM (CIELAB lightness:) showen % (CIELAB\255Helligkeit:) showde %xg1 ytab0 ydel 17 mul sub moveto %TBIM (L*) show %TBM ( = ) show %TBIM (L*) show T*Nm %TBM ( + ) show %TBIM (l*) show %TBM ( [) show %TBIM ( L*) show T*Wm %TBM ( - ) show %TBIM ( L*) show T*Nm %TBM ( ]) show %xg2 ytab0 ydel 17 mul sub moveto %TM ((9)) show 100 ytab1 ydel 11 mul sub moveto TBM (Result:) showen (Ergebnis:) showde TM ( device dependent relative CIELAB data of 4 systems m=1 to 4:) showen ( ger\344teabh\344ngige relative CIELAB\255Daten von 4 Systemen m=1 bis 4:) showde 100 ytab1 ydel 12 mul sub moveto TM ("red, green, blue") showen ("Rot, Gr\374n, Blau") showde TBIM ( rgb) showen (\255rgb) showde T*m TM ( data:) showen (\255Daten:) showde xg1 ytab1 ydel 12 mul sub moveto TBIM (rgb) show T*m TBIM ( = olv*) show T*3m xg2 ytab1 ydel 12 mul sub moveto TM ((8)) show } if %jnx=1, input LCH*a0, output olv*3m %******************************************************** jnx 0 eq {%jnx=0 input olv*30, output olv*3m 100 ytab0 moveto TBM (Goal:) showen (Ziel:) showde TM ( Transfer coordinates) showen ( Koordinatentransfer) showde TBIM ( olv*) show T*30 TM ( (system m=0) to) showen ( (System m=0) nach) showde TBIM ( olv*) show T*3m TM ( (system m=1 to 4)) showen ( (System m=1 bis 4)) showde 100 ytab0 ydel sub moveto TM (The following equations for relative blackness and chroma) showen ( are valid for any device:) showen (Die Gleichungen f\374r relative Schwarzheit und Buntheit) showde ( sind g\374ltig f\374r jedes Ger\344t:) showde xg1 ytab0 ydel 2 mul sub moveto TBIM (n*) show TBM ( = 1 - ) show TBIM (max) show TBM ( \050 ) show TBIM (o*) show T*30 TBIM (, l*) show T*30 TBIM (, v*) show T*30 TBM ( \051) show xg2 ytab0 ydel 2 mul sub moveto TM ((1)) show xg1 ytab0 ydel 3 mul sub moveto TBIM (c*) show TBM ( = ) show TBIM (max) show TBM ( \050 ) show TBIM (o*) show T*30 TBIM (, l*) show T*30 TBIM (, v*) show T*30 TBM ( \051 - ) show TBIM (min) show TBM ( \050 ) show TBIM (o*) show T*30 TBIM (, l*) show T*30 TBIM (, v*) show T*30 TBM ( \051) show xg2 ytab0 ydel 3 mul sub moveto TM ((2)) show 100 ytab0 ydel 5 mul sub moveto TM (For the calculation of the missing) showen ( relative device hue asume) showen (F\374r die Berechnung des fehlenden) showde ( relativen Ger\344te\255Bunttons nehme) showde 100 ytab0 ydel 6 mul sub moveto TM (as a starting point that the three values) showen (als Startpunkt an, dass die drei Werte) showde TBIM ( olv*) show T*30 TM ( belong to the standard (s) device SRS18:) showen ( zum Standard\255Ger\344t s=SRS18 geh\366ren:) showde %equation 100 ytab0 ydel 7 mul sub moveto (relative red\255green chroma:) showen (Relative Rot\255Gr\374n\255Buntheit:) showde xg1 ytab0 ydel 7 mul sub moveto TBIM (a*) show T*r0 TBM ( = ) show TBIM (o*) show T*30 TBIM ( cos) show TBM ((30) + ) show TBIM (l*) show T*30 TBIM ( cos) show TBM ((150)) show xg2 ytab0 ydel 7 mul sub moveto TM ((3)) show 100 ytab0 ydel 8 mul sub moveto (relative yellow\255blue chroma:) showen (Relative Gelb\255Blau\255Buntheit:) showde xg1 ytab0 ydel 8 mul sub moveto TBIM (b*) show T*r0 TBM ( = ) show TBIM (o*) show T*30 TBIM ( sin) show TBM ((30) + ) show TBIM (l*) show T*30 TBIM ( sin) show TBM ((150) - ) show TBIM (v*) show T*30 TBIM ( sin) show TBM ((270)) show xg2 ytab0 ydel 8 mul sub moveto TM ((4)) show 100 ytab0 ydel 9 mul sub moveto (Standard integer hue:) showen (Standard Ganzzahl\255Buntton:) showde xg1 ytab0 ydel 9 mul sub moveto TBIM (H*) show T*si0 TBM ( = ) show TBIM (round) show TBM ( [ ) show TBIM (atan) show TBM ( \050 ) show TBIM (b*) show T*r0 TBM ( / ) show TBIM (a*) show T*r0 TBM ( \051 ]) show xg2 ytab0 ydel 9 mul sub moveto TM ((5)) show 100 ytab0 ydel 10 mul sub moveto (Fetch device integer hue:) showen (Hole Ger\344te\255Ganzzahl\255Buntton:) showde xg1 ytab0 ydel 10 mul sub moveto TBIM (H*) show T*ai0 TBM ( = ) show TBIM (H*) show T*si_ai TBM ( [ ) show TBIM (H*) show T*si0 TBM ( ]) show xg2 ytab0 ydel 10 mul sub moveto TM ((6)) show 100 ytab0 ydel 13 mul sub moveto TM (Fetch device data) showen (Hole Ger\344tedaten) showde TBIM ( olv*) show T*3Mm TM ( from table with 361 entries for) showen ( aus Tabelle mit 361 Eintr\344gen f\374r) showde TBIM ( H*) show T*ai0 TM ( from 0 to 360 degrees) showen ( von 0 bis 360 Grad) showde 100 ytab0 ydel 14 mul sub moveto TM ("red, green, blue") showen ("Rot, Gr\374n, Blau") showde TBIM ( rgb) showen (\255rgb) showde T*m TM ( data:) showen (\255Daten:) showde xg1 ytab0 ydel 14 mul sub moveto TBIM (olv*) show T*3Mm TBM ( = ) show TBIM (olv*) show T*3Mm TBM ( [ ) show TBIM (H*) show T*ai0 TBM ( ]) show xg2 ytab0 ydel 14 mul sub moveto TM ((7)) show %{ a [1 - w*x] + w*x } i* = a i* - a w*x i* + w*x i* = a i* - a w* + w* %= w* + a [i* - w* ] = w* + a c* %i* - w* = 1 - n* - (1 - n* -c*) = c* %/lab*o*3u w* o*3Mi ik45 get c* mul add def %/lab*l*3u w* l*3Mi ik45 get c* mul add def %/lab*v*3u w* v*3Mi ik45 get c* mul add def %/LAB*L*aF l* L*aW L*aN sub mul L*aN add def %/LAB*C*aF LAB*C*aM c* mul def 100 ytab0 ydel 16 mul sub moveto TM (For any input or output device (m=0 to 4) it is valid for constant) showen (F\374r jedes Ein\255 oder Ausgabeger\344t (m=0 bis 4) gilt f\374r konstante) showde TBIM ( n*, c*, l*, H*) show T*a TBM (:) show 100 ytab0 ydel 17 mul sub moveto TM ("red, green, blue") showen ("Rot, Gr\374n, Blau") showde TBIM ( rgb) showen (\255rgb) showde T*m TM ( data:) showen (\255Daten:) showde xg1 ytab0 ydel 17 mul sub moveto TBIM (olv*) show T*3m TBM ( = 1 - ) show TBIM (n*) show TBM ( - ) show TBIM (c*) show TBM ( + ) show TBIM (c*) show TBIM ( olv*) show T*3Mm xg2 ytab0 ydel 17 mul sub moveto TM ((8)) show 100 ytab0 ydel 19 mul sub moveto TBM (Result:) showen (Ergebnis:) showde TM ( device dependent relative CIELAB data of 4 systems m=1 to 4:) showen ( ger\344teabh\344ngige relative CIELAB\255Daten von 4 Systemen m=1 bis 4:) showde 100 ytab0 ydel 20 mul sub moveto TM ("red, green, blue") showen ("Rot, Gr\374n, Blau") showde TBIM ( rgb) showen (\255rgb) showde T*m TM ( data:) showen (\255Daten:) showde xg1 ytab0 ydel 20 mul sub moveto TBIM (rgb) show T*m TBIM ( = olv*) show T*3m xg2 ytab0 ydel 20 mul sub moveto TM ((9)) show } if %jnx=0 input olv*30, output olv*3m showpage grestore %} for %xchart=00,71 %%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 20070501 %%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 16 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 (LCH*a0, olv*30 (TLS00) -> olv*3m (Systeme m=1 bis 4)) showde (LCH*a0, olv*30 (TLS00) -> olv*3m (systems m=1 to 4)) showen 12 /Times-ISOL1 FS 61 MM 13 MM moveto (BAM\255Pr\374fvorlage Nr. ZE07; Farbbilddaten\255Transfer) showde (BAM\255test chart no. ZE07; Colour image data transfer) showen 172 MM 13 MM moveto (input: ) showen (Eingabe: ) showde 12 /Times-Italic FS (rgb (->olv*3) setrgbcolor) show 12 /Times-ISOL1 FS 172 MM 9 MM moveto (output: ) showen (Ausgabe: ) showde LSC$ (N) eq { (no change compared to input) showen (keine Eingabe\344nderung) showde } if LSC$ (S) eq { (Startup (S) data dependend) showen (Startup(S)Daten abh\344ngig) showde } 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/ZE07/L07) 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 (ZE07/L07) 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/ZE07/; www.ps.bam.de/ZE.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: 20070501\255ZE07/L07) showde (BAM registration: 20070501\255ZE07/L07) showen (BAM registration: 20070501\255ZE07/L07) showes (BAM registration: 20070501\255ZE07/L07) showfr (BAM registration: 20070501\255ZE07/L07) showit (BAM registration: 20070501\255ZE07/L07) showjp (BAM registration: 20070501\255ZE07/L07) 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