%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/AER7/AER70-3N %%BoundingBox: 70 83 424 206 %START PDFDE011.EPS /pdfmark03 where {pop} {userdict /pdfmark03 /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: farbe.li.tu-berlin.de/AER7/AER7.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2020110112000) /ModDate (D:20201101112000) /DOCINFO pdfmark03 [ /View [ /Fit ] /DOCVIEW pdfmark03 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TS {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIS {200 /TimesI-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 /TBS {200 /TimesB-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 /TBIS {200 /TimesBI-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 /SS {200 /Symbol FS} bind def /SK {250 /Symbol FS} bind def /SM {290 /Symbol FS} bind def /SG {350 /Symbol FS} bind def /CS {200 /Courier FS} bind def /CK {230 /Courier FS} bind def /CM {290 /Courier FS} bind def /CG {340 /Courier FS} bind def /ns {350 /Times-ISOL1 FS show} bind def /ks {350 /TimesI-ISOL1 FS show} bind def /bs {350 /TimesB-ISOL1 FS show} bind def /js {350 /TimesBI-ISOL1 FS show} bind def /ss {350 /Symbol FS show} bind def /is {300 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /es {300 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ib {300 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eb {300 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ip {300 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /ns2 {300 /Times-ISOL1 FS show TM} bind def /ks2 {300 /TimesI-ISOL1 FS show TM} bind def /bs2 {300 /TimesB-ISOL1 FS show TM} bind def /js2 {300 /TimesBI-ISOL1 FS show TM} bind def /ss2 {300 /Symbol FS show TM} bind def /is2 {250 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {250 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {250 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {250 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {250 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def %40% kleiner /ns4 {250 /Times-ISOL1 FS show TK} bind def /ks4 {250 /TimesI-ISOL1 FS show TK} bind def /bs4 {250 /TimesB-ISOL1 FS show TK} bind def /js4 {250 /TimesBI-ISOL1 FS show TK} bind def /ss4 {250 /Symbol FS show TK} bind def /is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def %XCHA01.PS BEG /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 /colrecfi %x y width heigth c m y k {setcmyk_olvcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmyk_olvcolor rec stroke} bind def /rem %x, y width heigth {/heigth exch 0.5 mul def /width exch 0.5 mul def /yleftb exch heigth 0.5 mul add def /xleftb exch width 0.5 mul add def xleftb yleftb moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colremfi %x y width heigth c m y k {setcmykcolor rem fill} bind def /colremst %x y width heigth c m y k {setcmykcolor rem stroke} bind def /tzr {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzg {1.0 0.0 1.0 0.0} bind def /tzb {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tfr {0.0 1.0 1.0 0.0 setcmyk_olvcolor} bind def %Reproduktionsfarben /tfg {1.0 0.0 1.0 0.0 setcmyk_olvcolor} bind def /tfb {1.0 1.0 0.0 0.0 setcmyk_olvcolor} bind def /tfc {1.0 0.0 0.0 0.0 setcmyk_olvcolor} bind def /tfm {0.0 1.0 0.0 0.0 setcmyk_olvcolor} bind def /tfy {0.0 0.0 1.0 0.0 setcmyk_olvcolor} bind def /tfrz {0.0 1.0 1.0 0.5 setcmyk_olvcolor} bind def %Reproduktionsfarben /tfgz {1.0 0.0 1.0 0.5 setcmyk_olvcolor} bind def /tfbz {1.0 1.0 0.0 0.5 setcmyk_olvcolor} bind def /tfcz {1.0 0.0 0.0 0.5 setcmyk_olvcolor} bind def /tfmz {0.0 1.0 0.0 0.5 setcmyk_olvcolor} bind def /tfyz {0.0 0.0 1.0 0.5 setcmyk_olvcolor} bind def /tfn {0.0 0.0 0.0 1.00 setcmyk_olvcolor} bind def %Graureihe /tfd {0.0 0.0 0.0 0.75 setcmyk_olvcolor} bind def /tfz {0.0 0.0 0.0 0.50 setcmyk_olvcolor} bind def /tfh {0.0 0.0 0.0 0.25 setcmyk_olvcolor} bind def /tfw {0.0 0.0 0.0 0.00 setcmyk_olvcolor} bind def /cvishow {cvi 10 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 /cvsshow4 {10000 mul cvi 0.0001 mul 7 string cvs show} def /cvsshow1g {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2g {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3g {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def %%EndProlog gsave /lanind 1 def /lantex [(G) (E) (S) (F) (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 /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 1 def /lanind2 1 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colorMD colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 3 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetaMD pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def /Fxx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def /Fxx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def /Fxx (d) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def /Fxx (e) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def /Fxx (-) def} if %always independent of intended output 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolor cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow gsave /xchart xchart1 def 4 /Times-ISOL1 FS 72 86 moveto (AER70-3N) show %xchart 0 eq {(N) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate /yhoe 04000 def /xbre 12300 def 0.01 MM dup scale 15 setlinewidth 0.0 0.0 1.0 0.0 setcmyk_olvcolor 0 0 moveto xbre 0 rlineto 0 yhoe rlineto xbre neg 0 rlineto closepath fill 0.0 0.0 0.0 1.0 setcmyk_olvcolor 0 0 moveto xbre 0 rlineto 0 yhoe rlineto xbre neg 0 rlineto closepath stroke /ishowd {0 -50 rmoveto TS (d) show 0 50 rmoveto} bind def /ishowe {0 -50 rmoveto TS (e) show 0 50 rmoveto} bind def 0 yhoe 350 sub moveto xbre 0 rlineto stroke /yd 300 def %y-Zeilenabstand for font M /ydg 600 def %yd for equation lines /yd2 300 def %y-Zeilenabstand for font K %Spalten /S1 100 def /S2 200 def /S30 3300 def %X*o /S31 4200 def %Y*o /S32 5100 def %Z*o /S33 6000 def %L*,o /S34 6900 def %a*,o /S35 7800 def %b*,o /S36 8700 def %C*ab,o /S37 9600 def %hab,o /S40 7800 def %L*d /S41 8700 def %a*d /S42 9600 def %b*d /S43 10500 def %C*ab,d /S44 11400 def %hab,d /yu0 3750 def %titel /yu1 3450 def %first line /yu2 2500 def %second line /yu3 0350 def %lower line 0 yu2 220 add moveto xbre 0 rlineto stroke 0 yu3 moveto xbre 0 rlineto stroke S30 050 sub yhoe 350 sub moveto 0 yhoe 0700 sub neg rlineto stroke S40 050 sub yhoe 350 sub moveto 0 yhoe 0700 sub neg rlineto stroke %S50 050 sub yhoe 550 sub moveto 0 yhoe 0900 sub neg rlineto stroke %S60 100 sub yhoe 550 sub moveto 0 yhoe 0900 sub neg rlineto stroke /K 0 def %0=special offset, 1=D65 /KR 1 def %0=Kittelann or 1=Richter /YF 0 def %0=1.00 (Y=089), 1=1/0.886 (Y=100) YF 0 eq {/Yfak 1.00 def} {/Yfak 1 0.886 div def} ifelse 100 100 moveto TK (Source: ) showea TK (Quelle: ) showde TIK K 0 eq {%K=0 (Kittelmann (2005), Diploma work, TU Berlin) showea (Kittelmann (2005), Diplomarbeit, TU Berlin) showde } %0 { %1 (Richter (2012), Colour and Colour Vision, see table of end cover) showea (Richter (2012), Farbe und Farbsehen, siehe Tabelle des hinteren Umschlags) showde } ifelse %0,1 (, KR=) show KR cvishow (, YF=) show YF cvishow (, K=) show K cvishow %Titeltext TBK S1 yu0 yd 0 mul add moveto (Farbger\344tedaten (d) nach ISO/IEC 15775 (Offset) f\374r ) showde (Colour\255device (d) data according to ISO/IEC 15775 (offset) for ) showea TBIK (Y) show TBS 0 -50 rmoveto (W) show 0 50 rmoveto TBK YF 0 eq {(=88,6 ) show} {(=100 ) show} ifelse K 0 eq {(und eine Lichtart angen\344hert D65) showde (and an illuminant aproximately D65) showea} {(und Normlichtart D65) showde (and standard illuminant D65) showea} ifelse TBK S1 yu1 yd2 0 mul sub moveto (Ger\344tefarben (d), siehe) showde (Device (d) colours, see) showea S1 yu1 yd2 1 mul sub moveto (Namen in CIE R8\25509) showde (names in CIE R8\25509,) showea S1 yu1 yd2 2 mul sub moveto (und ISO/IEC 15775) showde (and ISO/IEC 15775) showea TBK YF 0 eq {/itex (d,089) def} {/itex (d,100) def} ifelse S30 yu1 yd2 0 mul sub moveto (Offsetdruck) showde (Offset print) showea S30 yu1 yd2 1 mul sub moveto (normierte XYZ\255Ger\344tedaten) showde (normalized XYZ\255device data) showea S30 yu1 yd2 2 mul sub moveto TBIK (X) show itex ib4 S31 yu1 yd2 2 mul sub moveto TBIK (Y) show itex ib4 S32 yu1 yd2 2 mul sub moveto TBIK (Z) show itex ib4 S33 yu1 yd2 2 mul sub moveto TBIK (x) show itex ib4 S34 yu1 yd2 2 mul sub moveto TBIK (y) show itex ib4 TBK S40 yu1 yd2 0 mul sub moveto (Offsetdruck) showde (Offset print) showea S40 yu1 yd2 1 mul sub moveto (normierte CIELAB\255Ger\344tedaten) showde (normalized CIELAB\255device data) showea S40 yu1 yd2 2 mul sub moveto TBIK (L*) show itex ib4 S41 yu1 yd2 2 mul sub moveto TBIK (a*) show itex ib4 S42 yu1 yd2 2 mul sub moveto TBIK (b*) show itex ib4 S43 200 sub yu1 yd2 2 mul sub moveto TBIK (C*) show (ab,) ib4 itex ib4 S44 000 sub yu1 yd2 2 mul sub moveto TBIK (h) show (ab,) ib4 itex ib4 %S60 080 sub yu1 yd2 2 mul sub moveto %SM (D) show (E*) js2 -50 0 rmoveto (ab) ib2 S1 50 sub yu2 yd2 0 mul sub moveto TIK (C) show TK (=) show TIK (C) show ishowd S1 50 sub yu2 yd2 1 mul sub moveto TIK (M) show TK (=) show TIK (M) show ishowd S1 50 sub yu2 yd2 2 mul sub moveto TIK (Y) show TK (=) show TIK (Y) show ishowd S1 50 sub yu2 yd2 3 mul sub moveto TIK (O) show TK (=) show TIK (R) show ishowd S1 50 sub yu2 yd2 4 mul sub moveto TIK (L) show TK (=) show TIK (G) show ishowd S1 50 sub yu2 yd2 5 mul sub moveto TIK (V) show TK (=) show TIK (B) show ishowd S1 50 sub yu2 yd2 6 mul sub moveto TIK (W) show %TK (=) show TIK (G) show ishowd S1 50 sub yu2 yd2 7 mul sub moveto TIK (N) show %TK (=) show TIK (B) show ishowd TK S1 700 add yu2 yd2 0 mul sub moveto (Cyanblau (Cyan)) showde %0ME081-1 27 (cyan blue (cyan)) showen %1ME081-1 27 (cyan blue (cyan)) showes %2ME081-1 27 (cyan blue (cyan)) showfr %3ME081-1 27 (cyan blue (cyan)) showit %4ME081-1 27 (cyan blue (cyan)) showjp %5ME081-1 27 S1 700 add yu2 yd2 1 mul sub moveto (Magentarot (Magenta)) showde %0ME081-1 28 (magenta red (magenta)) showen %1ME081-1 28 (magenta red (magenta)) showes %2ME081-1 28 (magenta red (magenta)) showfr %3ME081-1 28 (magenta red (magenta)) showit %4ME081-1 28 (magenta red (magenta)) showjp %5ME081-1 28 S1 700 add yu2 yd2 2 mul sub moveto (Gelb) showde %0ME081-1 29 (yellow) showen %1ME081-1 29 (yellow) showes %2ME081-1 29 (yellow) showfr %3ME081-1 29 (yellow) showit %4ME081-1 29 (yellow) showjp %5ME081-1 29 S1 700 add yu2 yd2 3 mul sub moveto (Orangerot (Rot)) showde %0ME081-1 30 (orange red (red)) showen %1ME081-1 30 (orange red (red)) showes %2ME081-1 30 (orange red (red)) showfr %3ME081-1 30 (orange red (red)) showit %4ME081-1 30 (orange red (red)) showjp %5ME081-1 30 S1 700 add yu2 yd2 4 mul sub moveto (Laubgr\374n (Gr\374n)) showde %0ME081-1 31 (leaf green (green)) showen %1ME081-1 31 (leaf green (green)) showes %2ME081-1 31 (leaf green (green)) showfr %3ME081-1 31 (leaf green (green)) showit %4ME081-1 31 (leaf green (green)) showjp %5ME081-1 31 S1 700 add yu2 yd2 5 mul sub moveto (Violettblau (Blau)) showde %0ME081-1 32 (violet blue (blue)) showen %1ME081-1 32 (violet blue (blue)) showes %2ME081-1 32 (violet blue (blue)) showfr %3ME081-1 32 (violet blue (blue)) showit %4ME081-1 32 (violet blue (blue)) showjp %5ME081-1 32 S1 700 add yu2 yd2 6 mul sub moveto (Wei\368) showde %0ME081-1 33 (white) showen %1ME081-1 33 (white) showes %2ME081-1 33 (white) showfr %3ME081-1 33 (white) showit %4ME081-1 33 (white) showjp %5ME081-1 33 S1 700 add yu2 yd2 7 mul sub moveto (Schwarz) showde %0ME081-1 34 (black) showen %1ME081-1 34 (black) showes %2ME081-1 34 (black) showfr %3ME081-1 34 (black) showit %4ME081-1 34 (black) showjp %5ME081-1 34 /OXYZ_089k 30 array def /OXYZ_100k 30 array def /OLab_089k 30 array def /OLab_100k 30 array def /OXYZ_089r 30 array def /OXYZ_100r 30 array def /OLab_089r 30 array def /OLab_100r 30 array def /OXYZxy_089k 50 array def /OXYZxy_100k 50 array def /OLabCh_089k 50 array def /OLabCh_100k 50 array def /OXYZxy_089r 50 array def /OXYZxy_100r 50 array def /OLabCh_089r 50 array def /OLabCh_100r 50 array def %given /OXYZ_089k [%Kittelmann 18.74 26.62 68.54 %0 C 33.06 16.90 22.01 %1 M 68.06 77.10 9.03 %2 Y 33.13 16.75 2.68 %3 O 8.71 19.18 6.62 %4 L 7.17 4.65 21.41 %5 V 83.69 88.60 89.47 %6 W 83.69/88.60=0.9445; 89.47/88.60=1.0098 2.42 2.52 2.81 %7 N 94.44 100.00 100.84 %8 W1 0.02 0.00 0.12 %9 N0 ] def %given /OLab_089r [%only Lab* available on cover last page Colour and Colour vision 58.3 -29.2 -43.7 %0 C Richter 48.2 72.8 -8.5 %1 M 88.3 -11.9 95.1 %2 Y 47.3 63.8 41.2 %3 O 51.9 -68.8 28.1 %4 L 25.3 23.5 -47.3 %5 V 95.4 0.001 0.0 %6 W1 18.0 0.001 0.0 %7 N1 100.0 0.001 0.0 %8 W0 0.001 0.001 0.0 %9 N0 %18.74 26.62 68.54 %C Richter %33.06 16.90 22.01 %M %68.06 77.10 9.03 %Y %33.13 16.75 2.68 %O % 8.71 19.18 6.62 %L % 7.17 4.65 21.41 %V %83.69 88.60 89.47 %W % 2.42 2.52 2.81 %N %94.44 100.00 100.84 %W1 % 0.02 0.00 0.12 %N0 ] def %XYZ values only similar in PE4300L_20830L_201001.TXT on ME17AG %how to calculate XYZ? %************************************************************** /proz_XYZ_Lab* {%BEG proz_XYZ_Lab* %83.69/88.60=0.9445 ;89.47/88.60=1.0098 K 0 eq {%K=0 /Xn 94.45 def %Offset /Yn 100.00 def /Zn 100.98 def %Offset }%K=0 {%K=1 /Xn 95.05 def %D65 /Yn 100.00 def /Zn 108.90 def %D65 } ifelse %K=1 /XQ Xin Xn div def %special /YQ Yin Yn div def /ZQ Zin Zn div def %special XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*ref YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def /a*ref 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 def /b*ref 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 def } bind def %END proz_XYZ_Lab* %***************************************************************** /proz_Lab*_XYZ {%BEG proz_Lab*_XYZ K 0 eq {%K=0 /Xn 94.45 def %Offset /Yn 100.00 def /Zn 100.98 def %Offset }%K=0 {%K=1 /Xn 95.05 def %D65 /Yn 100.00 def /Zn 108.90 def %D65 } ifelse %K=1 /YQ L*ref 16 add 116 div 3 exp def YQ 0.008856 lt {/YQ YQ 903.3 mul def} if /YQ2 YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse def /AQ a*ref 500 div YQ2 add def /XQ AQ 3 exp def XQ 0.008856 lt {/XQ XQ 7.787 mul 16 116 div add def} if /BQ b*ref 200 div neg YQ2 add def /ZQ BQ 3 exp def ZQ 0.008856 lt {/ZQ ZQ 7.787 mul 16 116 div add def} if /Xout XQ Xn mul def /Yout YQ Yn mul def /Zout ZQ Zn mul def } bind def %END proz_Lab*_XYZ %*************************************************************** K 0 eq {%K=0 Kittelmann %given OXYZ_089k, calculated OXYZxy_100k 0 1 7 {/i exch def /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def OXYZxy_089k i50 OXYZ_089k i30 get put OXYZxy_089k i51 OXYZ_089k i31 get put OXYZxy_089k i52 OXYZ_089k i32 get put /S OXYZxy_089k i50 get OXYZxy_089k i51 get add OXYZxy_089k i52 get add def OXYZxy_089k i53 OXYZxy_089k i50 get S div put OXYZxy_089k i54 OXYZxy_089k i51 get S div put OXYZxy_100k i50 OXYZ_089k i30 get 0.8860 div put OXYZxy_100k i51 OXYZ_089k i31 get 0.8860 div put OXYZxy_100k i52 OXYZ_089k i32 get 0.8860 div put /S OXYZxy_100k i50 get OXYZxy_100k i51 get add OXYZxy_100k i52 get add def OXYZxy_100k i53 OXYZxy_100k i50 get S div put OXYZxy_100k i54 OXYZxy_100k i51 get S div put } for %i=0,7 OXYZxy_100k 35 0.001 put OXYZxy_100k 36 0.001 put OXYZxy_100k 37 0.001 put OXYZxy_100k 38 0.333 put OXYZxy_100k 39 0.333 put %Calculated OLabCh_089k based on OXYZxy_089k 0 1 7 {/i exch def %i=0,7 /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def /Xin OXYZxy_089k i50 get def /Yin OXYZxy_089k i51 get def /Zin OXYZxy_089k i52 get def proz_XYZ_Lab* OLabCh_089k i50 L*ref put OLabCh_089k i51 a*ref put OLabCh_089k i52 b*ref put OLabCh_089k i53 a*ref dup mul b*ref dup mul add sqrt put OLabCh_089k i54 b*ref a*ref atan put } for %i=0,7 %Calculated OXYZxy_100k based on OXYZxy_100k 0 1 7 {/i exch def %i=0,7 /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def /Xin OXYZxy_100k i50 get def /Yin OXYZxy_100k i51 get def /Zin OXYZxy_100k i52 get def proz_XYZ_Lab* OLabCh_100k i50 L*ref put OLabCh_100k i51 a*ref put OLabCh_100k i52 b*ref put OLabCh_100k i53 a*ref dup mul b*ref dup mul add sqrt put OLabCh_100k i54 b*ref a*ref atan put } for %i=0,7 %************************************************ %output Kittelmann K=0 0 1 7 {/i exch def %i=0,7 /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def YF 0 eq {%YF=0 %kittelmann Y=089 S30 yu2 yd2 i mul sub moveto OXYZxy_089k i50 get cvsshow2g S31 yu2 yd2 i mul sub moveto OXYZxy_089k i51 get cvsshow2g S32 yu2 yd2 i mul sub moveto OXYZxy_089k i52 get cvsshow2g S33 yu2 yd2 i mul sub moveto OXYZxy_089k i53 get cvsshow3g S34 yu2 yd2 i mul sub moveto OXYZxy_089k i54 get cvsshow3g S40 yu2 yd2 i mul sub moveto OLabCh_089k i50 get cvsshow2g S41 yu2 yd2 i mul sub moveto OLabCh_089k i51 get cvsshow2g S42 yu2 yd2 i mul sub moveto OLabCh_089k i52 get cvsshow2g S43 yu2 yd2 i mul sub moveto OLabCh_089k i53 get cvsshow2g S44 yu2 yd2 i mul sub moveto OLabCh_089k i54 get cvishow } if %YF=0 %kittelmann Y=089 YF 1 eq {%YF=1 (Y=100) S30 yu2 yd2 i mul sub moveto OXYZxy_100k i50 get cvsshow2g S31 yu2 yd2 i mul sub moveto OXYZxy_100k i51 get cvsshow2g S32 yu2 yd2 i mul sub moveto OXYZxy_100k i52 get cvsshow2g S33 yu2 yd2 i mul sub moveto OXYZxy_100k i53 get cvsshow3g S34 yu2 yd2 i mul sub moveto OXYZxy_100k i54 get cvsshow3g S40 yu2 yd2 i mul sub moveto OLabCh_100k i50 get cvsshow2g S41 yu2 yd2 i mul sub moveto OLabCh_100k i51 get cvsshow2g S42 yu2 yd2 i mul sub moveto OLabCh_100k i52 get cvsshow2g S43 yu2 yd2 i mul sub moveto OLabCh_100k i53 get cvsshow2g S44 yu2 yd2 i mul sub moveto OLabCh_100k i54 get cvishow } if %YF=1 } for %i=0,7 } if %K=0 %Kittelmann %*************************************************************** K 1 eq {%K=1 %Richter %richter based on OLab_089r %given 0 1 7 {/i exch def %i=0,7 /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def OLabCh_089r i50 OLab_089r i30 get put OLabCh_089r i51 OLab_089r i31 get put OLabCh_089r i52 OLab_089r i32 get put OLabCh_089r i53 OLab_089r i31 get dup mul OLab_089r i32 get dup mul add sqrt put OLabCh_089r i54 OLab_089r i32 get OLab_089r i31 get atan put } for %i=0,7 %calculated 0 1 7 {/i exch def %i=0,7 /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def /L*ref OLabCh_089r i50 get def /a*ref OLabCh_089r i51 get def /b*ref OLabCh_089r i52 get def proz_Lab*_XYZ OXYZxy_089r i50 Xout put OXYZxy_089r i51 Yout put OXYZxy_089r i52 Zout put /S OXYZxy_089r i50 get OXYZxy_089r i51 get add OXYZxy_089r i52 get add def OXYZxy_089r i53 OXYZxy_089r i50 get S div put OXYZxy_089r i54 OXYZxy_089r i51 get S div put } for %i=0,7 %calculated %richter calculate OXYZxy_100r based on OXYZxy_089r 0 1 7 {/i exch def %i=0,7 /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def OXYZxy_100r i50 OXYZxy_089r i50 get Yfak mul put OXYZxy_100r i51 OXYZxy_089r i51 get Yfak mul put OXYZxy_100r i52 OXYZxy_089r i52 get Yfak mul put /S OXYZxy_100r i50 get OXYZxy_100r i51 get add OXYZxy_100r i52 get add def OXYZxy_100r i53 OXYZxy_100r i50 get S div put %xan OXYZxy_100r i54 OXYZxy_100r i51 get S div put %yan } for %i=0,7 OXYZxy_100r 35 0.001 put OXYZxy_100r 36 0.001 put OXYZxy_100r 37 0.001 put OXYZxy_100r 38 0.333 put OXYZxy_100r 39 0.333 put %calculated %richter calculate OLabCh_100r based on OXYZxy_100r 0 1 7 {/i exch def %i=0,7 /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def /Xin OXYZxy_100r i50 get def /Yin OXYZxy_100r i51 get def /Zin OXYZxy_100r i52 get def proz_XYZ_Lab* OLabCh_100r i50 L*ref put OLabCh_100r i51 a*ref put OLabCh_100r i52 b*ref put OLabCh_100r i53 a*ref dup mul b*ref dup mul add sqrt put OLabCh_100r i54 b*ref a*ref atan put } for %i=0,7 %output Richter K=1 0 1 7 {/i exch def %i=0,7 /i50 i 5 mul def /i51 i50 1 add def /i52 i50 2 add def /i53 i50 3 add def /i54 i50 4 add def YF 0 eq {%YF=0 (Y=089) S30 yu2 yd2 i mul sub moveto OXYZxy_089r i50 get cvsshow2g S31 yu2 yd2 i mul sub moveto OXYZxy_089r i51 get cvsshow2g S32 yu2 yd2 i mul sub moveto OXYZxy_089r i52 get cvsshow2g S33 yu2 yd2 i mul sub moveto OXYZxy_089r i53 get cvsshow3g S34 yu2 yd2 i mul sub moveto OXYZxy_089r i54 get cvsshow3g S40 yu2 yd2 i mul sub moveto OLabCh_089r i50 get cvsshow2g S41 yu2 yd2 i mul sub moveto OLabCh_089r i51 get cvsshow2g S42 yu2 yd2 i mul sub moveto OLabCh_089r i52 get cvsshow2g S43 yu2 yd2 i mul sub moveto OLabCh_089r i53 get cvsshow2g S44 yu2 yd2 i mul sub moveto OLabCh_089r i54 get cvishow } if %YF=0 YF 1 eq {%YF=1 (Y=100) S30 yu2 yd2 i mul sub moveto OXYZxy_100r i50 get cvsshow2g S31 yu2 yd2 i mul sub moveto OXYZxy_100r i51 get cvsshow2g S32 yu2 yd2 i mul sub moveto OXYZxy_100r i52 get cvsshow2g S33 yu2 yd2 i mul sub moveto OXYZxy_100r i53 get cvsshow3g S34 yu2 yd2 i mul sub moveto OXYZxy_100r i54 get cvsshow3g S40 yu2 yd2 i mul sub moveto OLabCh_100r i50 get cvsshow2g S41 yu2 yd2 i mul sub moveto OLabCh_100r i51 get cvsshow2g S42 yu2 yd2 i mul sub moveto OLabCh_100r i52 get cvsshow2g S43 yu2 yd2 i mul sub moveto OLabCh_100r i53 get cvsshow2g S44 yu2 yd2 i mul sub moveto OLabCh_100r i54 get cvsshow2g } if %YF=1 } for %i=0,7 } if %K=1 showpage grestore %%Trailer