%!PS-Adobe-3.0 EPSF-3.0 CE22/Y10E00NA.PS6.PS 20170801
%%BoundingBox: 14 08 828 584

/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: farbe.li.tu-berlin.de/CE22/CE22.HTM)
  /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1)
  /Subject (goto: http://farbe.li.tu-berlin.de or http://130.149.60.45/~farbmetrik)
  /Keywords (image reproduction, colour devices)
  /Creator (klaus.richter@mac.com)
  /CreationDate (D:2017080112000)
  /ModDate (D:20170801112000)
/DOCINFO pdfmark
[ /View [ /Fit ]
/DOCVIEW pdfmark
/sfgray {setgray} bind def %Early Frame File (f) definition
/sfrgbcolor {setrgbcolor} bind def /sfcmykcolor {setcmykcolor} bind def
%line 20******************************************************
%BEG CE22/OUTLIN10.PS Output Linearization (OL) olv*->olv'* 20110301

%Early Binding: needed for colour separation
%/sgcmykcolor {setcmykcolor} bind def
%/sggray {setgray} bind def
%/sgrgbcolor {setrgbcolor} bind def
%FILE PREPARED FOR MIXED MODE, e. g. input ORS18 and output TLS00
 /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
%/ISIN*ioG 0 def %default input  for Offset Reflective System (ORS18/FRS09)
%/ISOU*ioG 0 def %default output dto.
 /ISIN*ioG 1 def %input  for Television Luminous System (TLS00)
 /ISOU*ioG 1 def %output dto.
%/ISIN*ioG 2 def %input  for Device Reflective measurement system (FRS09)
%/ISOU*ioG 2 def %output dto.
%/ISIN*ioG 3 def %input  for Television Luminous Reflection System (TLS18)
%/ISOU*ioG 3 def %output dto.
%/ISIN*ioG 4 def %input  for Natural Luminous System (NLS00)
%/ISOU*ioG 4 def %output dto.
%/ISIN*ioG 5 def %input  for Natural Reflective System (NRS11)
%/ISOU*ioG 5 def %output dto.
%/ISIN*ioG 6 def %input  for Standard Reflective System (CIE18)
%/ISOU*ioG 6 def %output dto.
%/ISIN*ioG 7 def %input  for Standard Reflective System (TLS70)
%/ISOU*ioG 7 def %output dto.
 /iLAB 0 def %/colormg 0 def

%END CE22/OUTLIN10.PS Output Linearization (OL) olv*->olv'* 20110301

%BEG CE22/OUTLIN1X.PS 20110801
%EMPTY
%END CE22/OUTLIN1X.PS 20110801
                                                                         
%BEG CE22/OUTLIN1Y2.PS Emty 20101101

%END CE22/OUTLIN1Y2.PS Emty 20101101
                                                                         
/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              % End for EPS file
 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
/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

%%EndProlog

%***********************************************************
%%BeginPageSetup
/#copies 1 def
%A4querF
1.0 1.0 scale
/pgsave save def
%%EndPageSetup

/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$ [(A.TXT /.PS) (B.BMP /.PS) (G.GIF /.PS) (H.HTM /.PS) (I.HTM /.PS)
      (J.JPE /.PS) (P.PDF /.PS) (T.TIF /.PS)] def
/EY$ [(A.DAT) (B.DAT) (G.DAT) (H.DAT) (I.DAT) (J.DAT)
      (P.DAT) (T.DAT)] def

%*******************************************************************
/lanind1f 01 def /lanind2f 01 def /laninddf 01 def
/colorm1f 00 def /colorm2f 00 def /colormdf 01 def
/deintp1f 00 def /deintp2f 00 def /deintpdf 01 def
/xcolor1f 01 def /xcolor2f 01 def /xcolordf 01 def %2/10 degree observer
/xchart1f 00 def /xchart2f 07 def /xchartdf 01 def %8 illuminants
/xchart3f 01 def /xchart4f 00 def /xchart5f 02 def %3f:0/1=M/O 5f:1/2=M,M&T
/pchart1f 03 def /pchart2f 03 def /pchartdf 01 def %=3 for sRGB, Lr=0
/colsep1f 00 def /colsep2f 00 def /colsepdf 01 def
/pmetam1f 00 def /pmetam2f 00 def /pmetamdf 01 def
%/lanindf lanind1f def %
/lanindf lanind1f def %lanind1f laninddf lanind2f {/lanindf exch def

%/colormf colorm1f def %
/colormf colorm1f def %colorm1f colormdf colorm2f {/colormf exch def

%/deintpf deintp1f def %
/deintpf deintp1f def %deintp1f deintpdf deintp2f {/deintpf exch def

%/xcolorf xcolor1f def %
xcolor1f xcolordf xcolor2f {/xcolorf exch def

%/xchartf xchart1f def %
xchart1f xchartdf xchart2f {/xchartf exch def

%/pchartf pchart1f def %
/pchartf pchart1f def %/pchartf pchart1f def %pchart1f pchartdf pchart2f {/pchartf exch def

%/colsepf colsep1f def %
/colsepf colsep1f def %colsep1f colsepdf colsep2f {/colsepf exch def

/lanind lanindf def
/colorm colormf def
/deintp deintpf def
/xcolor xcolorf def
/xchart xchartf def   /xchartm xchart2f xchart1f sub 1 add def
/xchart3 xchart3f def /xchart4 xchart4f def /xchart5 xchart5f def
/pchart pchartf def
/colsep colsepf def

%/pmetamf pmetam1f def %
/pmetamf pmetam1f def %pmetam1f pmetamdf pmetam2f {/pmetamf exch def

/pmetam pmetamf def

%*************************************************************
/setgray {sfgray} bind def
/setrgbcolor {sfrgbcolor} bind def
/setcmykcolor {sfcmykcolor} bind def

%72 90 translate

%0.01 MM dup scale
%0 0 moveto 24600 0 rlineto 0 17220 rlineto
%          -24600 0 rlineto closepath stroke
%000 -240 moveto
%240 /Times-ISOL1 FS
%lanindf cvishow (-) show
%colormf cvishow
%deintpf cvishow
%xcolorf cvishow
%xchartf cvishow
%pchartf cvishow
%colsepf cvishow (-F) show pmetamf cvishow

%grestore
gsave

/GSS$ SS$ lanind get def
/GSC$ SC$ colorm get def
/GSX$ SX$ xcolor xcolor 16 idiv 16 mul sub get def
/GSY$ SY$ xchart xchart 16 idiv 16 mul sub get def
/GEX$ EX$ 0 get def
/GEY$ EY$ 0 get def

%01
%02
%03
%04
%05
%06
%07
%08
%09
%10
%11
%12
%13
%14
%15
%16
%17
%18

%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 CE220-1,
%%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     (CE220-1,) 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
%!PS-Adobe-3.0 EPSF-3.0 CE220-2,
%%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     (CE220-2,) 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
 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 CE220-3,
%%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     (CE220-3,) 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
%!PS-Adobe-3.0 EPSF-3.0 CE220-4,
%%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     (CE220-4,) 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
 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 CE220-5,
%%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     (CE220-5,) 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
%!PS-Adobe-3.0 EPSF-3.0 CE220-6,
%%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     (CE220-6,) 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
 /xc1 16 def /yc1 12 def /xt 1 def xchart 1 eq {/xt 1 def} if
 28 MM xt 0 eq {16 MM sub} if 20 MM xt 0 eq {12 MM sub} if 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 CE220-7N_16
%%BoundingBox: 70 83 400 582

%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: http://farbe.li.tu-berlin.de/CE22/CE22.HTM)
  /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1)
  /Subject (goto: http://www.ps.bam.de or http://130.149.60.45/~farbmetrik)
  /Keywords (image reproduction, colour devices)
  /Creator (klaus.richter@mac.com)
  /CreationDate (D:2017010112000)
  /ModDate (D:20170101112000)
/DOCINFO pdfmark07
[ /View [ /FitB ]
/DOCVIEW pdfmark07
%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

/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

/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

/Courier-Oblique findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
/CourierI-ISOL1 exch definefont pop

/Courier-Bold findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
/CourierB-ISOL1 exch definefont pop

/Courier-BoldOblique findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
/CourierBI-ISOL1 exch definefont pop

/TG   {350 /Times-ISOL1 FS} bind def
/TM   {280 /Times-ISOL1 FS} bind def
/TK   {240 /Times-ISOL1 FS} bind def
/TS   {200 /Times-ISOL1 FS} bind def
/TL   {160 /Times-ISOL1 FS} bind def

/TIG  {350 /TimesI-ISOL1 FS} bind def
/TIM  {280 /TimesI-ISOL1 FS} bind def
/TIK  {240 /TimesI-ISOL1 FS} bind def
/TIS  {200 /TimesI-ISOL1 FS} bind def
/TIL  {160 /TimesI-ISOL1 FS} bind def

/TBG  {350 /TimesB-ISOL1 FS} bind def
/TBM  {280 /TimesB-ISOL1 FS} bind def
/TBK  {240 /TimesB-ISOL1 FS} bind def
/TBS  {200 /TimesB-ISOL1 FS} bind def
/TBL  {160 /TimesB-ISOL1 FS} bind def

/TBIG {350 /TimesBI-ISOL1 FS} bind def
/TBIM {280 /TimesBI-ISOL1 FS} bind def
/TBIK {240 /TimesBI-ISOL1 FS} bind def
/TBIS {200 /TimesBI-ISOL1 FS} bind def
/TBIL {160 /TimesBI-ISOL1 FS} bind def

/SG {350 /Symbol FS} bind def
/SM {280 /Symbol FS} bind def
/SK {240 /Symbol FS} bind def
/SS {200 /Symbol FS} bind def
/SL {160 /Symbol FS} bind def

%%EndProlog
gsave

%lanindL2.EPS START  20000505
/lanind 0 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 1 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} if %colorm=0, deintp=0
colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1
colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0
colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1
xchart 0 eq {/Txx (-) def} if %always independent of intended output

gsave
%LANINDL2 END
 
/cvishow {cvi 6 string cvs show ( ) show} def
/cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def
/cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def
/cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def
/cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def
/cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def

/xchart8 0 def
%for xchart8=0
/SP60 80 array def %380 bis 775 mit deltalambda=05
/SP55 80 array def %380 bis 775 mit deltalambda=05
/SP50 80 array def %380 bis 775 mit deltalambda=05
/SP45 80 array def %380 bis 775 mit deltalambda=05
/SP40 80 array def %380 bis 775 mit deltalambda=05
/SP35 80 array def %380 bis 775 mit deltalambda=05
/SP30 80 array def %380 bis 775 mit deltalambda=05
/SP25 80 array def %380 bis 775 mit deltalambda=05
%for xchart8=1
/SD65 80 array def %380 bis 775 mit deltalambda=05
/SD50 80 array def %380 bis 775 mit deltalambda=05
/SP40 80 array def %380 bis 775 mit deltalambda=05
/SA00 80 array def %380 bis 775 mit deltalambda=05
/SE00 80 array def %380 bis 775 mit deltalambda=05
/SC00 80 array def %380 bis 775 mit deltalambda=05
/SP00 80 array def %380 bis 775 mit deltalambda=05
/SQ00 80 array def %380 bis 775 mit deltalambda=05

%for combined
/SX00 80 array def %380 bis 775 mit deltalambda=05
/SX01 80 array def %380 bis 775 mit deltalambda=05
/SX02 80 array def %380 bis 775 mit deltalambda=05
/SX03 80 array def %380 bis 775 mit deltalambda=05
/SX04 80 array def %380 bis 775 mit deltalambda=05
/SX05 80 array def %380 bis 775 mit deltalambda=05
/SX06 80 array def %380 bis 775 mit deltalambda=05
/SX07 80 array def %380 bis 775 mit deltalambda=05

/SDAK 80 array def %380 bis 775 mit deltalambda=05
/RA   80 array def %380 bis 770 nm
/F2  240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm
/F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm

%C
%C      LITERATURQUELLEN  LICHTARTEN
%C      SA,SC,SD65,  CIE-DOKUMENT NR.15 FARBMESSUNG, 1971
%C                   TABELLE 1.1.1, SEITE 81
%C      SD55,SD75,   CIE-DOKUMENT NR.15 FARBMESSUNG, 1971
%C                   TABELLE 1.1.4, SEITE 85
%C                   LINEAR INTERPOLIERT VON 5 ZU 5NM
%C      SG,SP,SXE,   DIN 5033, BLATT 7 ,SEITE 8-9
%C                   AUSGABE  1966

/SD65 %80 data 5 nm
[50.0  52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 
 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 
 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 
 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 
 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 
 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 
 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 
 46.4 56.6 66.8 65.1] def

/SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS
[24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9
 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2
 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6
102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3
 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4
 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1
 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7
 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used

/SA00 %80 data 5 nm CIE 15.3  Seite 30; aus JE540-1N.PS
[9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99
 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30
 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06
 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44
 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39
 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42
 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12
 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41
 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59
 232.12 234.59 237.01 239.37 0.0] def %0.0 not used

% AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92
%C     PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI-
%C     LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA  
%C     BEI GEGEBENER TEMPERATUR T                                        
%C     VERWENDETE VARIABLE                                               
%C        T                   TEMPERATUR                                 
%C        C2                  PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) 
%C        LAMDA(I)            WELLENLAENGE                               
%C        S(I)                STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS 
%C                                                                       
%C     LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION,       
%C               CA. 1969, SEITE 21 UND TABELLE 1.1.1                    
%C                                                                       
%SDP4 80 array def %380 bis 775 mit deltalambda=05
%      DO 50 I=1,54                                                      
%   50 S(I)=100.
%     1*(560./FLOAT(LAMDA(I)))**5
%     2*(EXP(C2/(560.*10.**(-7)*T))-1.)
%     3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.)

%new CIE 15.3:2004, Eq. (3.1) page 2
%S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560   )} - 1]
%                           /[exp{(c2*10**7)/(TNC*lambda)} - 1]
% exp = e {...} = 2.71 {...} 

%/TNC 2848 def %NLA
/TNC 4000 def
/EE 2.718281 def %e=mac pocket calculator
/C2 1.4350000 10 7 exp mul def
/lamd 80 array def
/TNCj 8 array def
/TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def

xchart8 0 eq {%xchart8=0
0 1 7 {/j exch def %j=0,7
0 1 79 {%i=0,79
        /i exch def
        /lambda 380 i 5 mul add def
        lamd i lambda put
        /E1 560 lambda div 5 exp def

        /E4 C2 TNCj j get 560    mul div def
        /E5 C2 TNCj j get lambda mul div def

        /E6 EE E4 exp def
        /E7 EE E5 exp def

        j 0 eq {SP60 i} if
        j 1 eq {SP55 i} if
        j 2 eq {SP50 i} if
        j 3 eq {SP45 i} if
        j 4 eq {SP40 i} if
        j 5 eq {SP35 i} if
        j 6 eq {SP30 i} if
        j 7 eq {SP25 i} if

        E1 100 mul E6 1 sub
                   E7 1 sub div mul
        put
       } for %i=0,79
       } for %j=0,7
           } %xchart8=0
           { %xchart8=1
0 1 79 {%i=0,79
        /i exch def
        /lambda 380 i 5 mul add def
        lamd i lambda put
        /E1 560 lambda div 5 exp def

        /E4 C2 TNC 560    mul div def
        /E5 C2 TNC lambda mul div def

        /E6 EE E4 exp def
        /E7 EE E5 exp def

        SP40 i
        E1 100 mul E6 1 sub 
                   E7 1 sub div mul

        put
       } for %i=0,79
            } ifelse %xchart8=1

/xex 10 2 exp def
/yex EE 2 exp def

/SE00 %80 data 5 nm
[100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used

/SC00 %80 data 5 nm
[ 33.00  39.92  47.40  55.17  63.30  71.81  80.60  89.53  98.10 105.80
 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09
 123.90 122.92 120.70 116.90 112.10 106.98 102.30  98.81  96.90  96.78
  98.00  99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15
  97.80  95.43  93.20  91.22  89.70  88.83  88.40  88.19  88.10  88.06
  88.00  87.86  87.80  87.99  88.20  88.20  87.90  87.22  86.30  85.30
  84.00  82.21  80.20  78.24  76.30  74.36  72.40  70.40  68.30  66.30
  64.40  62.80  61.50  60.20  59.20  58.50  58.10  58.00  58.20  58.50
 ] def %0.0 not used

0 1 79 {/i exch def %i=0,79
        /lamda 380 i 5 mul add def
        SP00 i SE00 i get lamda 560 div mul put
        SQ00 i SE00 i get 1120 lamda sub 560 div mul put
       } for %i=0,79
 
%C      LITERATURQUELLEN  SPEKTRALWERTE
%C       F2          CIE-DOKUMENT NR.15 FARBMESSUNG, 1971
%C                   TABELLE 2.1, SEITE 93-102

/F2  %3x80 data
[.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 
 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 
 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 
 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 
 .7621
 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 
 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 
 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 
 .004109 .002899 .002049 .001440 .0009999 .0006901 
 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 
 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 
 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 
 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 
 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 
 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 
 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 
 .01192 .00821 .005723 .004102 .002929 .002091 .001484 
 .001047 .00074 .00052 .0003611 .0002492 .0001719 
 .00012 .0000848 .00006 .0000424 .00003 .0000212 
 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 
 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 
 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 
 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 
 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 
 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20
 0.0 0.0 0.0 0.0 0.0 0.0 %26
] def

/F10 %3x80 data
[.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 
 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323
  .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177
  .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 
 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 
 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 
 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 
 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 
 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 
 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 
 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 
 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 
 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 
 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 
 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 
 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 
 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 
 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 
 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 
 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 
 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 
 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 
 .001091 
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40
 0.0 0.0 0.0 0.0 %44
] def

%calculation of transformation data
/FARBE 27 array def
/FARBE [(R) (m) ( 561_770) %00
        (Y) (m) ( 520_770) %01
        (G) (m) ( 475_573) %02
        (C) (m) ( 380_561) %03
        (B) (m) ( 380_495) %04
        (m) (m) ( 573_475) %05
        (N) (0) ( 380_770) %06
        (W) (0) ( 380_770) %07
        (W) (1) ( 380_770) %08
       ] def

%/FARBE [(R) (m) ( 565_770) %00
%        (Y) (m) ( 520_770) %01
%        (G) (m) ( 475_575) %02
%        (C) (m) ( 380_565) %03
%        (B) (m) ( 380_495) %04
%        (m) (m) ( 575_475) %05
%        (N) (0) ( 380_770) %06
%        (W) (0) ( 380_770) %07
%        (W) (1) ( 380_770) %08
%       ] def

/xshift 10 array def %max 6 device + 4 elementary
/yshift 10 array def
/colori 10 array def

/RX0 640 array def %8x80
/RX0 [

%(%Rm      00 565_770)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
0000 0000 0000 0000 0000 0000 0000 0500 1000 1000

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%(%Ym    01 520_770)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
0000 0000 0000 0000 0000 0000 0000 0000 0500 1000
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%(%Gm      02 475_575)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
0000 0000 0000 0000 0000 0000 0000 0000 0000 0500

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
1000 1000 1000 1000 1000 1000 1000 1000 1000 0500

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

%(%Cm     04 380_565)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
1000 1000 1000 1000 1000 1000 1000 0500 0000 0000

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

%(%Bm   05 380_495)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
1000 1000 1000 0500 0000 0000 0000 0000 0000 0000
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

%(%Mm     06 575_475)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
1000 1000 1000 1000 1000 1000 1000 1000 1000 0500

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
0000 0000 0000 0000 0000 0000 0000 0000 0000 0500

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%(%N0(r=0,001) 09 380_770)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
0001 0001 0001 0001 0001 0001 0001 0001 0001 0001
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
0001 0001 0001 0001 0001 0001 0001 0001 0001 0001

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
0001 0001 0001 0001 0001 0001 0001 0001 0001 0001
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
0001 0001 0001 0001 0001 0001 0001 0001 0001 0001

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
0001 0001 0001 0001 0001 0001 0001 0001 0001 0001
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
0001 0001 0001 0001 0001 0001 0001 0001 0001 0001

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
0001 0001 0001 0001 0001 0001 0001 0001 0001 0001
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
0001 0001 0001 0001 0001 0001 0001 0001 0001 0001

%(%W1(r=1,000) 10 380_770)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%(%W1(r=1,000) 10 380_770)
%380 %385 %390 %395 %400 %405 %410 %415 %420 %425
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%430 %435 %440 %445 %450 %455 %460 %465 %470 %475
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%480 %485 %490 %495 %500 %505 %510 %515 %520 %525
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%530 %535 %540 %545 %550 %555 %560 %565 %570 %575
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%580 %585 %590 %595 %600 %605 %610 %615 %620 %625
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%630 %635 %640 %645 %650 %655 %660 %665 %670 %675
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

%680 %685 %690 %695 %700 %705 %710 %715 %720 %725
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
%730 %735 %740 %745 %750 %755 %760 %765 %770 %775
1000 1000 1000 1000 1000 1000 1000 1000 1000 1000

] def

/xcolorl xcolor def %2,10 degree observer
%0 1 1 {/xcolorl exch def %xcolorl=0,1 %2,10 degree observer
       

xcolorl 1 eq {0 1 239 {/i exch def %i=0,239
                       F2 i F10 i get put
                      } for %i=0,239
           } if

/YKSUM 0 def %For CIE Illuminant E
0 1 79 {/i exch def %i=0,1,79
        /YKSUM YKSUM F2  80 i add get add def
} for %i=0,1,79

/F2N 240 array def
0 1 79 {/i exch def %i=0,1,79
        F2N  00 i add F2  00 i add get YKSUM div 100 mul put
        F2N  80 i add F2  80 i add get YKSUM div 100 mul put
        F2N 160 i add F2 160 i add get YKSUM div 100 mul put
} for %i=0,1,79

/FXN 80 array def %FXN 0 = F2N imax
/FYN 80 array def
/FZN 80 array def
%defines FXN, FYN, FZN 0 to 79
0 1 79 {/i exch def %i=0,79
        FXN i F2N 000 i add get put
        FYN i F2N 080 i add get put
        FZN i F2N 160 i add get put
} for %i=0,79

%special wavelength range with complementary colours for E?
/FXD 63 array def
/FYD 63 array def
/FZD 63 array def
/DOW 63 array def

00 1 60 {/i exch def %i=0,60 %range 400..700nm
         FXD i FXN 005 i add get put
         FYD i FYN 005 i add get put
         FZD i FZN 005 i add get put
         DOW i 400 i 5 mul add put %range 400 to 700
        } for %i=0,60

%for interpolation
FXD 61 FXD 60 get put
FYD 61 FYD 60 get put
FZD 61 FZD 60 get put

FXD 62 FXD 60 get put
FYD 62 FYD 60 get put
FZD 62 FZD 60 get put

/FAD 63 array def
/FBD 63 array def
/FCD 63 array def

20 setlinewidth
/xdel  1005 def
/ydel   393 def
/x0  050 def
/x1 -150 def

/TELi0 8 array def
/TELi1 8 array def
/TELi  8 array def
/TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin.
/TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin.

0 1 7 {/i exch def %i=0,7
xchart8 0 eq {%xchart8=0
              TELi i TELi0 i get put
             }%xchart8=0
             {%xchart8=1
              TELi i TELi1 i get put
             } ifelse %xchart8=1
       } for %i=0,7

/Xi 79 array def %max 6 device colour + 4 elementary colours
/Yi 79 array def
/Zi 79 array def
/XANi 79 array def
/YANi 79 array def
/ZANi 79 array def

/xchart9 1 def
%0 1 2 {/xchart9 exch def %xchart9=0,2 %(XYZxyz), (YABCab), (LabC*a'b')

/xchartx xchart def %8 illuminants
%0 1 7 {/xchartx exch def %xchartx=0,7 %8 illuminants

/K 0 def %for normalization 1
%/K 1 def %for normalization 0,886

gsave

5 /Times-ISOL1 FS
/cvishow {cvi 6 string cvs show} def
75 85 moveto
lanind cvishow (-) show
colorm cvishow
deintp cvishow
xcolorl cvishow
xchart cvishow
pchart cvishow
colsep cvishow (-L) show pmetam cvishow

5 /Times-ISOL1 FS
340 85 moveto
(CE220-7N_16) show
%xchart 0 ge {(X) show} if
%(_) show xchart 1 add cvishow
%xchart 0 eq {(N) show}
%            {deintp colorm 2 mul add cvishow} ifelse

72 90 translate

0.010 MM dup scale

20 setlinewidth
0 0 1 0 setcmyk_olvcolor
0 0 moveto 11500     0 rlineto 0 17250 rlineto
           11500 neg 0 rlineto closepath fill
0 0 0 1 setcmyk_olvcolor
0 0 moveto 11500     0 rlineto 0 17250 rlineto
           11500 neg 0 rlineto closepath stroke

%calculation of XW,YW,ZW for illuminant D65, D50, ...
0 1 79 {/i exch def %i=0,79
        xchart8 0 eq {%xchart8=0
        xchartx 0 eq {SX00 i SP60 i get put} if
        xchartx 1 eq {SX01 i SP55 i get put} if
        xchartx 2 eq {SX02 i SP50 i get put} if
        xchartx 3 eq {SX03 i SP45 i get put} if
        xchartx 4 eq {SX04 i SP40 i get put} if
        xchartx 5 eq {SX05 i SP35 i get put} if
        xchartx 6 eq {SX06 i SP30 i get put} if
        xchartx 7 eq {SX07 i SP25 i get put} if
                     } %xchart8=0
                     { %xchart8=1
        xchartx 0 eq {SX00 i SD65 i get put} if
        xchartx 1 eq {SX01 i SD50 i get put} if
        xchartx 2 eq {SX02 i SP40 i get put} if
        xchartx 3 eq {SX03 i SA00 i get put} if
        xchartx 4 eq {SX04 i SE00 i get put} if
        xchartx 5 eq {SX05 i SC00 i get put} if
        xchartx 6 eq {SX06 i SP00 i get put} if
        xchartx 7 eq {SX07 i SQ00 i get put} if
                     } ifelse %xchart8=1
       } for %i=0,79

0 1 79 {/i exch def %i=0,79
        SDAK i xchartx 0 eq {SX00 i get} if
               xchartx 1 eq {SX01 i get} if
               xchartx 2 eq {SX02 i get} if
               xchartx 3 eq {SX03 i get} if
               xchartx 4 eq {SX04 i get} if
               xchartx 5 eq {SX05 i get} if
               xchartx 6 eq {SX06 i get} if
               xchartx 7 eq {SX07 i get} if
               put
       } for %i=0,79

/YKSUM 0 def
0 1 79 {/i exch def %i=0,1,79
        /YKSUM YKSUM SDAK i get F2  80 i add get mul add def
} for %i=0,1,79

0 1 79 {/i exch def %i=0,1,79
        F2N  00 i add SDAK i get F2  00 i add get mul YKSUM div 100 mul put
        F2N  80 i add SDAK i get F2  80 i add get mul YKSUM div 100 mul put
        F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put
} for %i=0,1,79

%XW,YW,ZW for white
/XW 0 def
/YW 0 def
/ZW 0 def
0 1 079 {/i exch def %i=0,79
         /XW XW F2N  00 i add get add def
         /YW YW F2N  80 i add get add def
         /ZW ZW F2N 160 i add get add def
        } for %i=0,79

/SUMW XW YW add ZW add def
/XANW XW SUMW div def
/YANW YW SUMW div def
/ZANW ZW SUMW div def

/AANW XW YW 0.0001 add div def
/BANW ZW YW 0.0001 add div 0.4 mul neg def

0 1 62 {/i exch def %i=0,62
        FAD i FXD i get put
        FBD i FYD i get put
        FCD i FZD i get put
       } for %i=0,62


/ymax 17000 def
50 ymax moveto
TBIM (Ostwald) show TBM
(\255Optimalfarben (o)) showde                                  %0CE221-7 02581
( optimal colours (o)) showen                                   %1CE221-7 02581
( colores \363ptimos (o)) showes                                %2CE221-7 02581
( couleurs optimales (o)) showfr                                %3CE221-7 02581
( colori ottimi (o)) showit                                     %4CE221-7 02581
( optimal colours (o)) showjp                                   %5CE221-7 02581

( von maximalem (m)) showde                                     %0CE221-7 03581
( of maximum (m)) showen                                        %1CE221-7 03581
( de m\341ximo (m)) showes                                      %2CE221-7 03581
( de la maximum (m)) showfr                                     %3CE221-7 03581
( di massimo (m)) showit                                        %4CE221-7 03581
( of maximum (m)) showjp                                        %5CE221-7 03581

TBIM ( C) show
TBK 0 -60 rmoveto (AB) show
    xcolorl 1 eq {(,10) show} if 0  60 rmoveto TBM

( f\374r ) showde                                               %0CE221-7 03581
( for ) showen                                                  %1CE221-7 03581
( bajo ) showes                                                 %2CE221-7 03581
( pour ) showfr                                                 %3CE221-7 03581
( per ) showit                                                  %4CE221-7 03581
( for ) showjp                                                  %5CE221-7 03581

TELi xchartx get show

TBIM (, Y) show TBK 0 -60 rmoveto (w) show
xcolorl 1 eq {(,10) show} if 0 60 rmoveto
TBM K 0 eq {(=100) show}{(=88,6) show} ifelse
TBIM (, Y) show
TBK 0 -60 rmoveto (m) show 0 60 rmoveto
TBM
(=520_770) show

0 ymax 100 sub moveto 11500 0 rlineto stroke

/ymaxt ymax 400 sub def

/xpos 100 def
/VtextAB   11 array def
/VtextABin 11 array def
/VtextABco 11 array def

xchart9 0 eq {%xchart9=0
          %0  1  2     3    4    5    6    7    8     9   10
/VtextAB   [() () (X)  (Y)  (Z)  (x)  (y)  (z)  (h)   ()  ()] def
/VtextABin [() () ()   ()   ()   ()   ()   ()   (xy)  ()  ()] def
/VtextABco [() () (10) (10) (10) (10) (10) (10) (,10) ()  ()] def
} if %xchart9=0

xchart9 1 eq {%xchart9=1
          %0  1  2     3    4    5     6    7    8     9   10
/VtextAB   [() () (Y)  (A)  (B)  (C)   (a)  (b)  (h)   ()  ()] def
/VtextABin [() () ()   ()   ()   (AB)  ()   ()   (AB)  ()  ()] def
/VtextABco [() () (10) (10) (10) (,10) (10) (10) (,10) ()  ()] def
} if %xchart9=1

xchart9 2 eq {%xchart9=2
          %0  1  2     3    4    5     6    7    8     9   10
/VtextAB   [() () (L*) (a*) (b*) (C*)  (a') (b') (h)   ()  ()] def
/VtextABin [() () ()   ()   ()   (ab)  ()   ()   (ab)  ()  ()] def
/VtextABco [() () (10) (10) (10) (,10) (10) (10) (,10) ()  ()] def
} if %xchart9=2

2 1 8 {/i exch def %i=2,8
       TBIM
       xpos i 2 ge {x0 add} if
       xdel i mul add ymaxt moveto
       VtextAB i get show
       TBK 0 -60 rmoveto
       VtextABin i get show
       xcolorl 1 eq {VtextABco i get show} if
       0  60 rmoveto
      } for %i=2,8

xpos 000 add ymaxt moveto
TM (i) show
TBK 0 -60 rmoveto (1) show 0 60 rmoveto
SM (, l) show 
%xchart4 2 eq { TM (*) show TBIM} if
TBK 0 -60 rmoveto (1) show 0 60 rmoveto

xpos xdel add ymaxt moveto
TM (i) show
TBK 0 -60 rmoveto (2) show 0 60 rmoveto
SM (, l) show 
%xchart4 2 eq { TM (*) show TBIM} if
TBK 0 -60 rmoveto (2) show 0 60 rmoveto


xpos x1 add xdel 9 mul add ymaxt moveto
TM (i) show
TBK 0 -60 rmoveto (d) show 0 60 rmoveto
SM (, l) show 
%xchart4 2 eq { TM (*) show TBIM} if
TBK 0 -60 rmoveto (d) show 0 60 rmoveto


xpos x1 add xdel 10 mul add ymaxt moveto
TM (i) show
TBK 0 -60 rmoveto (c) show 0 60 rmoveto
SM (, l) show 
%xchart4 2 eq { TM (*) show TBIM} if
TBK 0 -60 rmoveto (c) show 0 60 rmoveto

xpos x1 add xdel 11 mul add 50 sub ymaxt moveto
(Code) show

/ymax ymax 800 sub def

%      FXU(1)=FF(2)*U(3)-FF(3)*U(2)
%      FXU(2)=FF(3)*U(1)-FF(1)*U(3)
%      FXU(3)=FF(1)*U(2)-FF(2)*U(1)

%      SUBROUTINE DOWEL (F,FXU,IMAX,IO)
%      DIMENSION F(99,3),FXU(3)
%      I=1
%      T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3)
%      IF(T2) 1,1,4
%    1 T1=T2
%      I=I+1
%      T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3)
%      IF(T2) 1,1,2
%    2 IF(T1) 3,3,1
%    3 IO=I-1
%      RETURN
%    4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3)
%      IF(T1) 5,5,1
%    5 IO=IMAX
%      RETURN
%      END

%*********************************************************
/proc_ABC_KNP_FWERTiX
{%BEG proc_ABC_KNP_FWERT

%input FAD,FBD,FCD, KNP
%output FWERTiX/Y/Z (i=1,4)

    kNP 1 ge {/FWERT1X FAD kNP 1 sub get def
              /FWERT1Y FBD kNP 1 sub get def
              /FWERT1Z FCD kNP 1 sub get def}
             {/FWERT1X FAD 0 get def %again 400nm for i=0
              /FWERT1Y FBD 0 get def
              /FWERT1Z FCD 0 get def} ifelse

    /FWERT2X FAD kNP get def
    /FWERT2Y FBD kNP get def
    /FWERT2Z FCD kNP get def

    /FWERT3X FAD kNP 1 add get def
    /FWERT3Y FBD kNP 1 add get def
    /FWERT3Z FCD kNP 1 add get def

    /FWERT4X FAD kNP 2 add get def
    /FWERT4Y FBD kNP 2 add get def
    /FWERT4Z FCD kNP 2 add get def

} bind def %END proc_ABC_KNP_FWERTiX

%*********************************************************
/proc_XIE_TN1
{%BEG proc_XIE_TN1

%input XIE, FWERTiX/Y/Z (i=1,4)
%output TN1

/A1N XIE       1 XIE sub mul XIE 2 sub mul 6 div   def
/A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def
/A3N XIE 1 add XIE       mul 2 XIE sub mul 0.5 mul def
/A4N XIE 1 add XIE       mul XIE 1 sub mul 6 div   def
/FNX A1N FWERT1X mul
     A2N FWERT2X mul add
     A3N FWERT3X mul add
     A4N FWERT4X mul add def
/FNY A1N FWERT1Y mul
     A2N FWERT2Y mul add
     A3N FWERT3Y mul add
     A4N FWERT4Y mul add def
/FNZ A1N FWERT1Z mul
     A2N FWERT2Z mul add
     A3N FWERT3Z mul add
     A4N FWERT4Z mul add def
/TNX FNX FXU1 mul
     FNY FXU2 mul add
     FNZ FXU3 mul add def

} bind def %END proc_XIE_TN1

%*********************************************************

/WEL1 60 array def %irregular definition
/WEL2 60 array def %irregular definition
      %0   1   2   3   4   5   6   7   8   9
/WEL1 [405 435 450 460 465 470 475 480 485 490
       495 500 510 520 530 540 545 550 555 560
      ] def

0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm

        /j  WEL1 k get 400 sub 5 idiv def
        /LP k def
        /LPP 20.5 k add def

       /FF1 FXD j get def %start at 405..700nm
       /FF2 FYD j get def
       /FF3 FZD j get def

       /U1 XW def
       /U2 YW def
       /U3 ZW def
       
       /FXU1 FF2 U3 mul FF3 U2 mul sub def
       /FXU2 FF3 U1 mul FF1 U3 mul sub def
       /FXU3 FF1 U2 mul FF2 U1 mul sub def

/INP -1 def
/IPN -1 def
%assumption jump from TN to TP from negativ to positiv
       0 1 60 {/i exch def %i=1,60
               /TN FAD i get FXU1 mul
                   FBD i get FXU2 mul add
                   FCD i get FXU3 mul add def
               /TP FAD i 1 add get FXU1 mul
                   FBD i 1 add get FXU2 mul add
                   FCD i 1 add get FXU3 mul add def
               TN 0 le TP 0 gt and {/INP i def exit} if
              } for %i=1,60

       0 1 60 {/i exch def %i=1,60
               /TN FAD i get FXU1 mul
                   FBD i get FXU2 mul add
                   FCD i get FXU3 mul add neg def
               /TP FAD i 1 add get FXU1 mul
                   FBD i 1 add get FXU2 mul add
                   FCD i 1 add get FXU3 mul add neg def
               TN 0 le TP 0 gt and {/IPN i def exit} if
              } for %i=1,60

TM
xpos xdel  0 mul add ymax ydel LP mul sub moveto INP cvishow %i1
xpos xdel  1 mul add ymax ydel LP mul sub moveto IPN cvishow %i2

xpos xdel  0 mul add ymax ydel LPP mul sub moveto IPN cvishow %i1
xpos xdel  1 mul add ymax ydel LPP mul sub moveto INP cvishow %i2
%*********************************************************
/kNP INP def

kNP 0 ge {%kNP>=0

proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4)

/XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2
/XIE2 1 def

0 1 9 {/mk exch def %mk=0,9
       /XIE XIE1 XIE2 add 0.5 mul def
       proc_XIE_TN1  %input XIE, ouput TN1
       TNX 0 le {/XIE1 XIE def /TN1 TNX def}
                {/XIE2 XIE def /TP1 TNX def} ifelse
      } for %mk=0,9

/XIE XIE1 XIE2 add 0.5 mul def
/DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def
/XIENP XIE def

       } if %kNP>=0

%*********************************************************
/kNP IPN def

kNP 0 ge {%kNP>=0

proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4)

/XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2
/XIE2 1 def
/FXU1 FXU1 neg def
/FXU2 FXU2 neg def
/FXU3 FXU3 neg def

0 1 9 {/mk exch def %mk=0,9
       /XIE XIE1 XIE2 add 0.5 mul def
       proc_XIE_TN1  %input XIE, ouput TN1
       TNX 0 le {/XIE1 XIE def /TN1 TNX def}
                {/XIE2 XIE def /TP1 TNX def} ifelse
      } for %mk=0,9

/XIE XIE1 XIE2 add 0.5 mul def
/DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def
/XIEPN XIE def

       } if %kNP>=0

%*********************************************************
%0 1 1 0 setcmyk_olvcolor
INP 0 ge {%INP>=0,-1
          xpos xdel 0 mul add 400 add ymax ydel LP mul sub moveto
          DOWXIE1 0.03 add cvishow %includes rounding failure
          xpos xdel 1 mul add 400 add ymax ydel LPP mul sub moveto
          DOWXIE1 0.03 add cvishow
          /DOWEL1 DOWXIE1 def /DOWEL1c () def
         }%INP>=0
         {%INP=-1
          xpos xdel 0 mul add 400 add ymax ydel LP mul sub moveto
          DOWXIE2 cvishow (c) show
          xpos xdel 1 mul add 400 add ymax ydel LPP mul sub moveto
          DOWXIE2 cvishow (c) show
          /DOWEL1 DOWXIE2 def /DOWEL1c (c) def
         } ifelse %INP>=0,-1

%1 0 1 0 setcmyk_olvcolor
IPN 0 ge {%IPN>=0,-1
          xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto
          DOWXIE2 0.03 add cvishow
          xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto
          DOWXIE2 0.03 add cvishow
          /DOWEL2 DOWXIE2 def /DOWEL2c () def
         }%IPN>=0
         {%IPN=-1
          xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto
          DOWXIE1 cvishow (c) show
          xpos xdel 0 mul add 400 add ymax ydel LPP mul sub moveto
          DOWXIE1 cvishow (c) show
          /DOWEL2 DOWXIE1 def /DOWEL2c (c) def
         } ifelse %IPN>=0,-1

0 0 0 1 setcmyk_olvcolor

%*********************************************************
0 1 79 {/i exch def %i=0,79
        RA i 0 put
       } for %i=0,79

INP -1 eq {/i1 0 def}                %380nm
          {/i1 INP 5 add def} ifelse %405..700nm

IPN -1 eq {/i2 79 def}               %770nm
          {/i2 IPN 5 add def} ifelse %405..700nm

i2 i1 ge {%i1<i2
          i1 1 i2 {/i exch def %i=i1,i2
                   RA i 1 put
                  } for %i=i1,i2
         }%i1<i2
         {%i1>i2
          i1 1 79 {/i exch def %i=i1,79
                   RA i 1 put
                  } for %i=i1,79
          0  1 i2 {/i exch def %i=0,i2
                   RA i 1 put
                  } for %i=0,i2
                  
         } ifelse %i1>i2

%correction
i2 i1 ge {%i1<i2
          RA i1 0.5 put
          RA i2 0.5 XIEPN 0.5 sub add put
         }%i1<i2
         {%i1>i2
          RA i1 0.5 put
          RA i2 0.5 XIEPN 0.5 sub add put
         } ifelse %i1>i2

%***************************************************
/X 0 def
/Y 0 def
/Z 0 def
          0 1 079 {/i exch def %i=0,79
                   /X X F2N  00 i add get RA i get mul add def
                   /Y Y F2N  80 i add get RA i get mul add def
                   /Z Z F2N 160 i add get RA i get mul add def
                  } for %i=0,79

K 1 eq {%K=1
        /X X 0.8859 mul def
        /Y Y 0.8859 mul def
        /Z Z 0.8859 mul def
       } if %K=1

/SUM X Y add Z add def
/XAN X SUM 0.0001 add div def
/YAN Y SUM 0.0001 add div def
/ZAN Z SUM 0.0001 add div def

%*************************************************
/xpos 100 def

0 1 1 {/Icom exch def %Icom=0,1

Icom 1 eq {%Icom=1
           /X XW X sub def
           /Y YW Y sub def
           /Z ZW Z sub def
           /SUM X Y add Z add def
           /XAN X SUM 0.0001 add div def
           /YAN Y SUM 0.0001 add div def
           /ZAN Z SUM 0.0001 add div def
           /LP 20.5 LP add def
          } if %Icom=1

xpos x1 add xdel 11 mul add ymax ydel LP mul sub moveto
Icom 0 eq {%Icom=0,1
           k  0 eq {(Cm) show} if
           k  6 eq {(Gm) show} if
           k 13 eq {(Ym) show} if
           k  9 eq {(max) show} if
          }%Icom=0
          {%Icom=1
           k  0 eq {(Rm) show} if
           k  6 eq {(Mm) show} if
           k 13 eq {(Bm) show} if
           k  9 eq {(min) show} if
          } ifelse %Icom=0,1

xchart9 0 eq {%xchart9=0

/Hxy YAN YANW sub XAN XANW sub 0.0001 add atan def

xpos x0 add xdel  2 mul add ymax ydel LP mul sub moveto X cvsshow2
xpos x0 add xdel  3 mul add ymax ydel LP mul sub moveto Y cvsshow2
xpos x0 add xdel  4 mul add ymax ydel LP mul sub moveto Z cvsshow2
xpos x0 add xdel  5 mul add ymax ydel LP mul sub moveto XAN cvsshow4
xpos x0 add xdel  6 mul add ymax ydel LP mul sub moveto YAN cvsshow4
xpos x0 add xdel  7 mul add ymax ydel LP mul sub moveto ZAN cvsshow4

xpos x0 add xdel  8 mul add ymax ydel LP mul sub moveto Hxy cvsshow1

} if %xchart9=0

xchart9 1 eq {%xchart9=1

/AAN X Y 0.0001 add div def
/BAN Z Y 0.0001 add div 0.4 mul neg def
/CAN AAN dup mul BAN dup mul add 0.0001 add sqrt def

/A AAN AANW sub Y mul def
/B BAN BANW sub Y mul def
/C A dup mul B dup mul add 0.0001 add sqrt def
/HAB B A 0.0001 add atan def

xpos x0 add xdel  2 mul add ymax ydel LP mul sub moveto Y cvsshow2
xpos x0 add xdel  3 mul add ymax ydel LP mul sub moveto A cvsshow2
xpos x0 add xdel  4 mul add ymax ydel LP mul sub moveto B cvsshow2
xpos x0 add xdel  5 mul add ymax ydel LP mul sub moveto C cvsshow2

xpos x0 add xdel  6 mul add ymax ydel LP mul sub moveto AAN cvsshow4
xpos x0 add xdel  7 mul add ymax ydel LP mul sub moveto BAN cvsshow4

xpos x0 add xdel  8 mul add ymax ydel LP mul sub moveto HAB cvsshow1

} if %xchart9=1

xchart9 2 eq {%xchart9=2

/D13 1 3 div def
/D841_108 841 108 div def
/D16_116 16 116 div def
/D24_116 24 116 div 3 exp def

X XW div D24_116 gt {/FXXN X XW div 0.0001 add D13 exp def}
                     {/FXXN D841_108 X XW div mul D16_116 add def} ifelse

Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def}
                     {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse

Z ZW div D24_116 gt {/FZZN Z ZW div 0.0001 add D13 exp def}
                     {/FZZN D841_108 Z YW div mul D16_116 add def} ifelse

/CIELS 116. FYYN mul 16. sub def
/CIEAS 500. FXXN FYYN sub mul def
/CIEBS 200. FYYN FZZN sub mul def
/CIECS CIEAS dup mul CIEBS dup mul add 0.5 exp def
/CIEHS CIEBS CIEAS 0.000001 add atan def

/a' X Y 0.0001 add div D13 exp  0.2191  mul def
/b' Z Y 0.0001 add div D13 exp -0.08376 mul def
/c' a' dup mul b' dup mul add 0.0001 add sqrt def

xpos x0 add xdel 2 mul add ymax ydel LP mul sub moveto CIELS cvsshow2
xpos x0 add xdel 3 mul add ymax ydel LP mul sub moveto CIEAS cvsshow2
xpos x0 add xdel 4 mul add ymax ydel LP mul sub moveto CIEBS cvsshow2
xpos x0 add xdel 5 mul add ymax ydel LP mul sub moveto CIECS cvsshow2

xpos x0 add xdel 6 mul add ymax ydel LP mul sub moveto a' cvsshow4
xpos x0 add xdel 7 mul add ymax ydel LP mul sub moveto b' cvsshow4

xpos x0 add xdel 8 mul add ymax ydel LP mul sub moveto CIEHS cvsshow1

} if %xchart9=2

%*********************************************************
%calculation of lamdad and lambdac for X, Y, Z
       /FF1 X def
       /FF2 Y def
       /FF3 Z def

       /U1 XW def
       /U2 YW def
       /U3 ZW def
       
       /FXU1 FF2 U3 mul FF3 U2 mul sub def
       /FXU2 FF3 U1 mul FF1 U3 mul sub def
       /FXU3 FF1 U2 mul FF2 U1 mul sub def

/INP -1 def
/IPN -1 def
%assumption jump from TN to TP from negativ to positiv
       0 1 60 {/i exch def %i=1,60
               /TN FAD i get FXU1 mul
                   FBD i get FXU2 mul add
                   FCD i get FXU3 mul add def
               /TP FAD i 1 add get FXU1 mul
                   FBD i 1 add get FXU2 mul add
                   FCD i 1 add get FXU3 mul add def
               TN 0 le TP 0 gt and {/INP i def exit} if
              } for %i=1,60

       0 1 60 {/i exch def %i=1,60
               /TN FAD i get FXU1 mul
                   FBD i get FXU2 mul add
                   FCD i get FXU3 mul add neg def
               /TP FAD i 1 add get FXU1 mul
                   FBD i 1 add get FXU2 mul add
                   FCD i 1 add get FXU3 mul add neg def
               TN 0 le TP 0 gt and {/IPN i def exit} if
              } for %i=1,60

TM
xpos x1 add xdel  9 mul add ymax ydel LP mul sub moveto INP cvishow
xpos x1 add xdel 10 mul add ymax ydel LP mul sub moveto IPN cvishow

%*********************************************************
/kNP INP def

kNP 0 ge {%kNP>=0

proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4)

/XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2
/XIE2 1 def

0 1 9 {/mk exch def %mk=0,9
       /XIE XIE1 XIE2 add 0.5 mul def
       proc_XIE_TN1  %input XIE, ouput TN1
       TNX 0 le {/XIE1 XIE def /TN1 TNX def}
                {/XIE2 XIE def /TP1 TNX def} ifelse
      } for %mk=0,9

/XIE XIE1 XIE2 add 0.5 mul def
/DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def

       } if %kNP>=0

%*********************************************************
/kNP IPN def

kNP 0 ge {%kNP>=0

proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4)

/XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2
/XIE2 1 def
/FXU1 FXU1 neg def
/FXU2 FXU2 neg def
/FXU3 FXU3 neg def

0 1 9 {/mk exch def %mk=0,9
       /XIE XIE1 XIE2 add 0.5 mul def
       proc_XIE_TN1  %input XIE, ouput TN1
       TNX 0 le {/XIE1 XIE def /TN1 TNX def}
                {/XIE2 XIE def /TP1 TNX def} ifelse
      } for %mk=0,9

/XIE XIE1 XIE2 add 0.5 mul def
/DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def

       } if %kNP>=0

%*********************************************************
%0 1 1 0 setcmyk_olvcolor
INP 0 ge {%INP>=0,-1
          xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto
          DOWXIE1 cvishow
          /DOWEL1 DOWXIE1 def /DOWEL1c () def
         }%INP>=0
         {%INP=-1
          xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto
          DOWXIE2 cvishow (c) show
          /DOWEL1 DOWXIE2 def /DOWEL1c (c) def
         } ifelse %INP>=0,-1

%1 0 1 0 setcmyk_olvcolor
IPN 0 ge {%IPN>=0,-1
          xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto
          DOWXIE2 cvishow
          /DOWEL2 DOWXIE2 def /DOWEL2c () def
         }%IPN>=0
         {%IPN=-1
          xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto
          DOWXIE1 cvishow (c) show
          /DOWEL2 DOWXIE1 def /DOWEL2c (c) def
         } ifelse %IPN>=0,-1

0 0 0 1 setcmyk_olvcolor

Icom 0 eq {%Icom=0,1
           Xi k X put
           Yi k Y put
           Zi k Z put
           XANi k XAN put
           YANi k YAN put
           ZANi k ZAN put
          }%Icom=0
          {%Icom=1
           /kP 20 k add def
           Xi kP X put
           Yi kP Y put
           Zi kP Z put
           XANi kP XAN put
           YANi kP YAN put
           ZANi kP ZAN put
          } ifelse %Icom=1

} for %k=0,19

} for %Icom=0,1

%**********************************************************************
%XW,YW,ZW and XK,YK,ZK for white
/XW 0 def
/YW 0 def
/ZW 0 def
0 1 079 {/i exch def %i=0,79
         /XW XW F2N  00 i add get add def
         /YW YW F2N  80 i add get add def
         /ZW ZW F2N 160 i add get add def
        } for %i=0,79

K 0 eq {%K=0
        /XK XW def
        /YK YW def
        /ZK ZW def
       }%K=0
       {%K=1
        /XK XW 0.8859 mul def
        /YK YW 0.8859 mul def
        /ZK ZW 0.8859 mul def
       } ifelse %K=1

/SUMK XK YK add ZK add def
/XANK XK SUMK div def
/YANK YK SUMK div def
/ZANK ZK SUMK div def

/LP LP 1.5 add def
xpos xdel 0 mul add 400 add ymax ydel LP mul sub moveto (380) show
xpos xdel 1 mul add 400 add ymax ydel LP mul sub moveto (770) show

xchart9 0 eq {%xchart9=0

/HxyK YANK YANK sub XANK XANK sub 0.0001 add atan def

xpos x0 add xdel  2 mul add ymax ydel LP mul sub moveto XK cvsshow2
xpos x0 add xdel  3 mul add ymax ydel LP mul sub moveto YK cvsshow2
xpos x0 add xdel  4 mul add ymax ydel LP mul sub moveto ZK cvsshow2
xpos x0 add xdel  5 mul add ymax ydel LP mul sub moveto XANK cvsshow4
xpos x0 add xdel  6 mul add ymax ydel LP mul sub moveto YANK cvsshow4
xpos x0 add xdel  7 mul add ymax ydel LP mul sub moveto ZANK cvsshow4

xpos x0 add xdel  8 mul add ymax ydel LP mul sub moveto HxyK cvsshow1

} if %xchart9=0

xchart9 1 eq {%xchart9=1

/AANK XK YK 0.0001 add div def
/BANK ZK YK 0.0001 add div 0.4 mul neg def
/CANK AANK dup mul BANK dup mul add 0.0001 add sqrt def

/AK AANK AANK sub YK mul def
/BK BANK BANK sub YK mul def
/CK AK dup mul BK dup mul add 0.0001 add sqrt def
/HABK BK AK 0.0001 add atan def

xpos x0 add xdel  2 mul add ymax ydel LP mul sub moveto YK cvsshow2
xpos x0 add xdel  3 mul add ymax ydel LP mul sub moveto AK cvsshow2
xpos x0 add xdel  4 mul add ymax ydel LP mul sub moveto BK cvsshow2
xpos x0 add xdel  5 mul add ymax ydel LP mul sub moveto CK cvsshow2

xpos x0 add xdel  6 mul add ymax ydel LP mul sub moveto AANK cvsshow4
xpos x0 add xdel  7 mul add ymax ydel LP mul sub moveto BANK cvsshow4

xpos x0 add xdel  8 mul add ymax ydel LP mul sub moveto HABK cvsshow1

} if %xchart9=1

xchart9 2 eq {%xchart9=2

/D13 1 3 div def
/D841_108 841 108 div def
/D16_116 16 116 div def
/D24_116 24 116 div 3 exp def

XK XW div D24_116 gt {/FXXNK XK XW div 0.0001 add D13 exp def}
                     {/FXXNK D841_108 XK XW div mul D16_116 add def} ifelse

YK YW div D24_116 gt {/FYYNK YK YW div 0.0001 add D13 exp def}
                     {/FYYNK D841_108 YK YW div mul D16_116 add def} ifelse

ZK ZW div D24_116 gt {/FZZNK ZK ZW div 0.0001 add D13 exp def}
                     {/FZZNK D841_108 ZK YW div mul D16_116 add def} ifelse

/CIELSK 116. FYYNK mul 16. sub def
/CIEASK 500. FXXNK FYYNK sub mul def
/CIEBSK 200. FYYNK FZZNK sub mul def
/CIECSK CIEASK dup mul CIEBSK dup mul add 0.5 exp def
/CIEHSK CIEBSK CIEASK 0.000001 add atan def

/a'K XK YK 0.0001 add div D13 exp  0.2191  mul def
/b'K ZK YK 0.0001 add div D13 exp -0.08376 mul def
/c'K a'K dup mul b'K dup mul add 0.0001 add sqrt def

xpos x0 add xdel 2 mul add ymax ydel LP mul sub moveto CIELSK cvsshow2
xpos x0 add xdel 3 mul add ymax ydel LP mul sub moveto CIEASK cvsshow2
xpos x0 add xdel 4 mul add ymax ydel LP mul sub moveto CIEBSK cvsshow2
xpos x0 add xdel 5 mul add ymax ydel LP mul sub moveto CIECSK cvsshow2

xpos x0 add xdel 6 mul add ymax ydel LP mul sub moveto a'K cvsshow4
xpos x0 add xdel 7 mul add ymax ydel LP mul sub moveto b'K cvsshow4

xpos x0 add xdel 8 mul add ymax ydel LP mul sub moveto CIEHSK cvsshow1

} if %xchart9=2

showpage
grestore

%} for %xchartx=0,7 %8 illuminants

%} for %xchart9=0,2 %(XYZxyz), (YABCab), (LabC*a'b')

%} for %xcolorl=0,1 %2,10 degree observer

%%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
%!PS-Adobe-3.0 EPSF-3.0 CE220-8,
%%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     (CE220-8,) 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
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 08 MM sub 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 CE221-2,
%%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     (CE221-2,) 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
%!PS-Adobe-3.0 EPSF-3.0 CE221-2,
%%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     (CE221-2,) 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
161 MM 08 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 CE221-3,
%%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     (CE221-3,) 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
%!PS-Adobe-3.0 EPSF-3.0 CE221-4,
%%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     (CE221-4,) 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
161 MM 08 MM sub 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 CE221-5,
%%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     (CE221-5,) 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
%!PS-Adobe-3.0 EPSF-3.0 CE221-6,
%%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     (CE221-6,) 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
161 MM 08 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 http://farbe.li.tu-berlin.de/CE22/CE221-7N_16 20180601
%%BoundingBox: 70 83 400 582

%START PDFDE011.EPS
/pdfmark17 where {pop} {userdict /pdfmark17 /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/CE22/CE22.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:2018060112000)
  /ModDate (D:20180601112000)
/DOCINFO pdfmark17
[ /View [ /Fit ]
/DOCVIEW pdfmark17
%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

/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

/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

/Courier-Oblique findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
/CourierI-ISOL1 exch definefont pop

/Courier-Bold findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
/CourierB-ISOL1 exch definefont pop

/Courier-BoldOblique findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end
/CourierBI-ISOL1 exch definefont pop

/TG   {350 /Times-ISOL1 FS} bind def
/TM   {280 /Times-ISOL1 FS} bind def
/TK   {240 /Times-ISOL1 FS} bind def
/TS   {200 /Times-ISOL1 FS} bind def
/TV   {160 /Times-ISOL1 FS} bind def

/TIG  {350 /TimesI-ISOL1 FS} bind def
/TIM  {280 /TimesI-ISOL1 FS} bind def
/TIK  {240 /TimesI-ISOL1 FS} bind def
/TIS  {200 /TimesI-ISOL1 FS} bind def
/TIV  {160 /TimesI-ISOL1 FS} bind def

/TBG  {350 /TimesB-ISOL1 FS} bind def
/TBM  {280 /TimesB-ISOL1 FS} bind def
/TBK  {240 /TimesB-ISOL1 FS} bind def
/TBS  {200 /TimesB-ISOL1 FS} bind def
/TBV  {160 /TimesB-ISOL1 FS} bind def

/TBIG {350 /TimesBI-ISOL1 FS} bind def
/TBIM {280 /TimesBI-ISOL1 FS} bind def
/TBIK {240 /TimesBI-ISOL1 FS} bind def
/TBIS {200 /TimesBI-ISOL1 FS} bind def
/TBIV {160 /TimesBI-ISOL1 FS} bind def

/SG {350 /Symbol FS} bind def
/SM {280 /Symbol FS} bind def
/SK {240 /Symbol FS} bind def
/SS {200 /Symbol FS} bind def
/SV {160 /Symbol FS} bind def

/CV {160 /Courier-ISOL1 FS} bind def
/CS {200 /Courier-ISOL1 FS} bind def
/CK {240 /Courier-ISOL1 FS} bind def
/CM {280 /Courier-ISOL1 FS} bind def
/CG {350 /Courier-ISOL1 FS} bind def

/CBV {160 /CourierB-ISOL1 FS} bind def
/CBS {200 /CourierB-ISOL1 FS} bind def
/CBK {240 /CourierB-ISOL1 FS} bind def
/CBM {280 /CourierB-ISOL1 FS} bind def
/CBG {350 /CourierB-ISOL1 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
/sy {350 /Symbol FS  show} bind def
/is {280 /Times-ISOL1 FS 0 -90 rmoveto show 0   90 rmoveto} bind def
/es {280 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ib {280 /TimesB-ISOL1 FS 0 -90 rmoveto show 0   90 rmoveto} bind def
/eb {280 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def
/ip {280 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def

%20% kleiner
/ns2 {280 /Times-ISOL1 FS  show TM} bind def
/ks2 {280 /TimesI-ISOL1 FS  show TM} bind def
/bs2 {280 /TimesB-ISOL1 FS  show TM} bind def
/js2 {280 /TimesBI-ISOL1 FS  show TM} bind def
/sy2 {280 /Symbol FS  show TM} bind def
/is2 {240 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def
/es2 {240 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ib2 {240 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def
/eb2 {240 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def
/ip2 {240 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def
/iy2 {240 /Symbol FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def

%40% kleiner
/ns4 {240 /Times-ISOL1 FS  show TK} bind def
/ks4 {240 /TimesI-ISOL1 FS  show TK} bind def
/bs4 {240 /TimesB-ISOL1 FS  show TK} bind def
/js4 {240 /TimesBI-ISOL1 FS  show TK} bind def
/ss4 {240 /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
/iy4 {200 /Symbol FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def

%60% kleiner
/ns6 {200 /Times-ISOL1 FS  show TS} bind def
/ks6 {200 /TimesI-ISOL1 FS  show TS} bind def
/bs6 {200 /TimesB-ISOL1 FS  show TS} bind def
/js6 {200 /TimesBI-ISOL1 FS  show TS} bind def
/ss6 {200 /Symbol FS  show TS} bind def
/is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def
/es6 {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def
/ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def
/eb6 {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def
/ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def
/iy6 {160 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def

%80% kleiner
/ns8 {160 /Times-ISOL1 FS  show TS} bind def
/ks8 {160 /TimesI-ISOL1 FS  show TS} bind def
/bs8 {160 /TimesB-ISOL1 FS  show TS} bind def
/js8 {160 /TimesBI-ISOL1 FS  show TS} bind def
/ss8 {160 /Symbol FS  show TS} bind def
/is8 {120 /Times-ISOL1 FS 0 -40 rmoveto show 0 40 rmoveto TS} bind def
/es8 {120 /Times-ISOL1 FS 0 90 rmoveto show 0 -90 rmoveto TS} bind def
/ib8 {120 /TimesB-ISOL1 FS 0 -40 rmoveto show 0 40 rmoveto TS} bind def
/eb8 {120 /TimesB-ISOL1 FS 0 90 rmoveto show 0 -90 rmoveto TS} bind def
/ip8 {120 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def
/iy8 {120 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def

/cvicvs  {cvi 6 string cvs} def
/cvishow {cvi 6 string cvs show ( ) show} def
/cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def
/cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def
/cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def
/cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def
/cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def

/cvsshow1x {/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
/cvsshow2x {/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
/cvsshow3x {/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
/cvsshow4x {/nxx exch def                               %example nxx=99.1234/99.0123/99.0010/99.0001
             nxx 0 lt {(-) show /nxx nxx abs def} if
             nxx 10000 mul cvi /nxi exch def            %nxi=991234/990123/990010/990000
             nxi 10000 idiv /nxa exch def               %nxa=99
             nxi nxa 10000 mul sub /nxb exch def        %nxb=1234/0123/0010/0001
             nxa cvishow (,) show                       %nxb=99,
             nxb 1000 ge {nxb cvishow} if               %nxb=1234/0123/0010/0001
             nxb  100 ge
             nxb  999 le and {(0) show nxb cvishow} if  %nxb=012
             nxb   10 ge
             nxb   99 le and {(00) show nxb cvishow} if %nxb=012
             nxb   1 ge
             nxb   9 le and {(000) show nxb cvishow} if %nxb=001
             nxb   0 eq {(000) show} if                 %nxb=000
           } def


/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
  {setcmykcolor rec fill} bind def
 
/colrecst %x y width heigth c m y k
  {setcmykcolor rec stroke} bind def
 
/tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben
/tzl {1.0 0.0 1.0 0.0} bind def
/tzv {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
 
/tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben
/tzg {1.0 0.0 0.5 0.0} bind def
/tzb {1.0 0.5 0.0 0.0} bind def
/tzj {0.0 0.0 1.0 0.0} bind def
 
/tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut
/tzgz {1.0 0.0 0.5 0.5} bind def
/tzbz {1.0 0.5 0.0 0.5} bind def
/tzjz {0.0 0.0 1.0 0.5} bind def
 
/tfo {tzo setcmykcolor} bind def
/tfl {tzl setcmykcolor} bind def
/tfv {tzv setcmykcolor} bind def
/tfc {tzc setcmykcolor} bind def
/tfm {tzm setcmykcolor} bind def
/tfy {tzy setcmykcolor} bind def
 
/tfn {tzn setcmykcolor} bind def
/tfd {tzd setcmykcolor} bind def
/tfz {tzz setcmykcolor} bind def
/tfh {tzh setcmykcolor} bind def
/tfw {tzw setcmykcolor} bind def
 
/tfr {tzr setcmykcolor} bind def
/tfg {tzg setcmykcolor} bind def
/tfb {tzb setcmykcolor} bind def
/tfj {tzj setcmykcolor} bind def
 
/tfrz {tzrz setcmykcolor} bind def
/tfgz {tzgz setcmykcolor} bind def
/tfbz {tzbz setcmykcolor} bind def
/tfjz {tzjz setcmykcolor} bind def

%allways after %Prolog
/proc_XYZ_colours
{%BEG proc_XYZ_colours

%for xchart8=0
/SP25 80 array def %380 bis 775 mit deltalambda=05
/SP30 80 array def %380 bis 775 mit deltalambda=05
/SP35 80 array def %380 bis 775 mit deltalambda=05
/SP40 80 array def %380 bis 775 mit deltalambda=05
/SP45 80 array def %380 bis 775 mit deltalambda=05
/SP50 80 array def %380 bis 775 mit deltalambda=05
/SP55 80 array def %380 bis 775 mit deltalambda=05
/SP60 80 array def %380 bis 775 mit deltalambda=05
%for xchart8=1
/SD65 80 array def %380 bis 775 mit deltalambda=05
/SD50 80 array def %380 bis 775 mit deltalambda=05
/SP40 80 array def %380 bis 775 mit deltalambda=05
/SA00 80 array def %380 bis 775 mit deltalambda=05
/SE00 80 array def %380 bis 775 mit deltalambda=05
/SC00 80 array def %380 bis 775 mit deltalambda=05
/SP00 80 array def %380 bis 775 mit deltalambda=05
/SQ00 80 array def %380 bis 775 mit deltalambda=05

%for combined
/SX00 80 array def %380 bis 775 mit deltalambda=05
/SX01 80 array def %380 bis 775 mit deltalambda=05
/SX02 80 array def %380 bis 775 mit deltalambda=05
/SX03 80 array def %380 bis 775 mit deltalambda=05
/SX04 80 array def %380 bis 775 mit deltalambda=05
/SX05 80 array def %380 bis 775 mit deltalambda=05
/SX06 80 array def %380 bis 775 mit deltalambda=05
/SX07 80 array def %380 bis 775 mit deltalambda=05

/SDAK 80 array def %380 bis 775 mit deltalambda=05
/RA   80 array def %380 bis 770 nm
/F2  240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm
/F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm
/F10  240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm

%C
%C      LITERATURQUELLEN  LICHTARTEN
%C      SA,SC,SD65,  CIE-DOKUMENT NR.15 FARBMESSUNG, 1971
%C                   TABELLE 1.1.1, SEITE 81
%C      SD55,SD75,   CIE-DOKUMENT NR.15 FARBMESSUNG, 1971
%C                   TABELLE 1.1.4, SEITE 85
%C                   LINEAR INTERPOLIERT VON 5 ZU 5NM
%C      SG,SP,SXE,   DIN 5033, BLATT 7 ,SEITE 8-9
%C                   AUSGABE  1966

/SD65 %80 data 5 nm
[50.0  52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 
 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 
 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 
 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 
 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 
 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 
 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 
 46.4 56.6 66.8 65.1] def

/SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS
[24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9
 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2
 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6
102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3
 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4
 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1
 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7
 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used

/SA00 %80 data 5 nm CIE 15.3  Seite 30; aus JE540-1N.PS
[9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99
 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30
 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06
 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44
 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39
 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42
 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12
 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41
 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59
 232.12 234.59 237.01 239.37 0.0] def %0.0 not used

% AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92
%C     PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI-
%C     LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA  
%C     BEI GEGEBENER TEMPERATUR T                                        
%C     VERWENDETE VARIABLE                                               
%C        T                   TEMPERATUR                                 
%C        C2                  PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) 
%C        LAMDA(I)            WELLENLAENGE                               
%C        S(I)                STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS 
%C                                                                       
%C     LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION,       
%C               CA. 1969, SEITE 21 UND TABELLE 1.1.1                    
%C                                                                       
%SDP4 80 array def %380 bis 775 mit deltalambda=05
%      DO 50 I=1,54                                                      
%   50 S(I)=100.
%     1*(560./FLOAT(LAMDA(I)))**5
%     2*(EXP(C2/(560.*10.**(-7)*T))-1.)
%     3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.)

%new CIE 15.3:2004, Eq. (3.1) page 2
%S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560   )} - 1]
%                           /[exp{(c2*10**7)/(TNC*lambda)} - 1]
% exp = e {...} = 2.71 {...} 

%/TNC 2848 def %NLA
/TNC 4000 def
/EE 2.718281 def %e=mac pocket calculator
/C2 1.4350000 10 7 exp mul def
/lamd 80 array def
/TNCj 8 array def
/TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def

xchart8 0 eq {%xchart8=0
0 1 7 {/j exch def %j=0,7
0 1 79 {%i=0,79
        /i exch def
        /lambda 380 i 5 mul add def
        lamd i lambda put
        /E1 560 lambda div 5 exp def

        /E4 C2 TNCj j get 560    mul div def
        /E5 C2 TNCj j get lambda mul div def

        /E6 EE E4 exp def
        /E7 EE E5 exp def

        j 0 eq {SP60 i} if
        j 1 eq {SP55 i} if
        j 2 eq {SP50 i} if
        j 3 eq {SP45 i} if
        j 4 eq {SP40 i} if
        j 5 eq {SP35 i} if
        j 6 eq {SP30 i} if
        j 7 eq {SP25 i} if

        E1 100 mul E6 1 sub
                   E7 1 sub div mul
        put
       } for %i=0,79
       } for %j=0,7
           } %xchart8=0
           { %xchart8=1
0 1 79 {%i=0,79
        /i exch def
        /lambda 380 i 5 mul add def
        lamd i lambda put
        /E1 560 lambda div 5 exp def

        /E4 C2 TNC 560    mul div def
        /E5 C2 TNC lambda mul div def

        /E6 EE E4 exp def
        /E7 EE E5 exp def

        SP40 i
        E1 100 mul E6 1 sub
                   E7 1 sub div mul

        put
       } for %i=0,79
            } ifelse %xchart8=1

/xex 10 2 exp def
/yex EE 2 exp def

/SE00 %80 data 5 nm
[100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used

/SC00 %80 data 5 nm
[ 33.00  39.92  47.40  55.17  63.30  71.81  80.60  89.53  98.10 105.80
 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09
 123.90 122.92 120.70 116.90 112.10 106.98 102.30  98.81  96.90  96.78
  98.00  99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15
  97.80  95.43  93.20  91.22  89.70  88.83  88.40  88.19  88.10  88.06
  88.00  87.86  87.80  87.99  88.20  88.20  87.90  87.22  86.30  85.30
  84.00  82.21  80.20  78.24  76.30  74.36  72.40  70.40  68.30  66.30
  64.40  62.80  61.50  60.20  59.20  58.50  58.10  58.00  58.20  58.50
 ] def %0.0 not used
 
0 1 79 {/i exch def %i=0,79
        /lamda 380 i 5 mul add def
        SP00 i SE00 i get lamda 560 div mul put
        SQ00 i SE00 i get 1120 lamda sub 560 div mul put
       } for %i=0,79

%C      LITERATURQUELLEN  SPEKTRALWERTE
%C       F2          CIE-DOKUMENT NR.15 FARBMESSUNG, 1971
%C                   TABELLE 2.1, SEITE 93-102

/F2  %3x80 data
[.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 
 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 
 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 
 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 
 .7621
 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 
 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 
 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 
 .004109 .002899 .002049 .001440 .0009999 .0006901 
 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 
 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 
 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 
 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 
 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 
 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 
 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 
 .01192 .00821 .005723 .004102 .002929 .002091 .001484 
 .001047 .00074 .00052 .0003611 .0002492 .0001719 
 .00012 .0000848 .00006 .0000424 .00003 .0000212 
 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 
 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 
 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 
 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 
 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 
 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20
 0.0 0.0 0.0 0.0 0.0 0.0 %26
] def

/F10 %3x80 data
[.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 
 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323
  .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177
  .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 
 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 
 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 
 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 
 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 
 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 
 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 
 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 
 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 
 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 
 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 
 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 
 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 
 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 
 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 
 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 
 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 
 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 
 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 
 .001091 
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30
 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40
 0.0 0.0 0.0 0.0 %44
] def

%calculation of transformation data
/FARBEO 27 array def %Ostwald
/FARBEO [(R) (m) ( 561_770) %00
         (Y) (m) ( 520_770) %01
         (G) (m) ( 475_573) %02
         (C) (m) ( 380_561) %03
         (B) (m) ( 380_520) %04
         (M) (m) ( 573_475) %05
         (N) (0) ( 380_770) %06
         (W) (0) ( 380_770) %07
         (W) (1) ( 380_770) %08
        ] def

/DOW  82 array def
/DOWZ 17 array def
/F02Z 51 array def
/F10Z 51 array def

%TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR
%FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E

0 1 79 {/i exch def %i=0,79 = 380_775
        DOW i 380 i 5 mul add put
       } for %i=0,79

/DOWZ %17 data
[700 -495 -500 -505 -510 -515 -520 -525 -530 
 -535 -540 -545 -550 -555 -560 -565 400] def

/F02Z %3x17 data 700 ... 400
[.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 
 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 
 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 
 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 
 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 
 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def

/F10Z %3x17 data 700 ... 400
[.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 
 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 
 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 
 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 
 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 
 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def

%***************************************************

/TELi0 8 array def
/TELi1 8 array def
/TELi  8 array def
/TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin
/TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin.

0 1 7 {/i exch def %i=0,7
xchart8 0 eq {%xchart8=0
              TELi i TELi0 i get put
             }%xchart8=0
             {%xchart8=1
              TELi i TELi1 i get put
             } ifelse %xchart8=1
       } for %i=0,7

/FXN   82 array def
/FYN   82 array def
/FZN   82 array def
/Xi    82 array def
/Yi    82 array def
/Zi    82 array def
/XANi  82 array def
/YANi  82 array def
/ZANi  82 array def

/AANi  82 array def %actual data for plot, spectral colours
/BANi  82 array def
/AAN1i  200 array def %actual data for plot, Munsell colours (M=1)
/BAN1i  200 array def

/AANXi  200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi
/BANXi  200 array def

/FXNZ  17 array def
/FYNZ  17 array def
/FZNZ  17 array def
/XZi   17 array def
/YZi   17 array def
/ZZi   17 array def
/XANZi 17 array def
/YANZi 17 array def
/ZANZi 17 array def

/AANZi  17 array def %actual data for plot, purple colours
/BANZi  17 array def

/XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def
/XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def
/XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def
/XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def
/XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def
/XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def
/XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def
/XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def

xcolor 1 eq {0 1 239 {/i exch def %i=0,239
                       F2 i F10 i get put
                      } for %i=0,239
              0 1 050 {/i exch def %i=0,50
                       F02Z i F10Z i get put
                      } for %i=0,50
             } if

%calculation of XW,YW,ZW for illuminant D65, D50, ...
0 1 79 {/i exch def %i=0,79
        xchart8 0 eq {%xchart8=0
        xchartx 0 eq {SX00 i SP60 i get put} if
        xchartx 1 eq {SX01 i SP55 i get put} if
        xchartx 2 eq {SX02 i SP50 i get put} if
        xchartx 3 eq {SX03 i SP45 i get put} if
        xchartx 4 eq {SX04 i SP40 i get put} if
        xchartx 5 eq {SX05 i SP35 i get put} if
        xchartx 6 eq {SX06 i SP30 i get put} if
        xchartx 7 eq {SX07 i SP25 i get put} if
                     } %xchart8=0
                     { %xchart8=1
        xchartx 0 eq {SX00 i SD65 i get put} if
        xchartx 1 eq {SX01 i SD50 i get put} if
        xchartx 2 eq {SX02 i SP40 i get put} if
        xchartx 3 eq {SX03 i SA00 i get put} if
        xchartx 4 eq {SX04 i SE00 i get put} if
        xchartx 5 eq {SX05 i SC00 i get put} if
        xchartx 6 eq {SX06 i SP00 i get put} if
        xchartx 7 eq {SX07 i SQ00 i get put} if
                     } ifelse %xchart8=1
       } for %i=0,79

0 1 79 {/i exch def %i=0,79
        SDAK i xchartx 0 eq {SX00 i get} if
               xchartx 1 eq {SX01 i get} if
               xchartx 2 eq {SX02 i get} if
               xchartx 3 eq {SX03 i get} if
               xchartx 4 eq {SX04 i get} if
               xchartx 5 eq {SX05 i get} if
               xchartx 6 eq {SX06 i get} if
               xchartx 7 eq {SX07 i get} if
               put
       } for %i=0,79

/YKSUM 0 def %For CIE Illuminant E
0 1 79 {/i exch def %i=0,1,79
        /YKSUM YKSUM SDAK i get F2  80 i add get mul add def
} for %i=0,1,79

0 1 79 {/i exch def %i=0,79
        FXN i SDAK i get F2  00 i add get mul YKSUM div 100 mul put
        FYN i SDAK i get F2  80 i add get mul YKSUM div 100 mul put
        FZN i SDAK i get F2 160 i add get mul YKSUM div 100 mul put
} for %i=0,79
FXN 80 FXN 79 get put
FYN 80 FYN 79 get put
FZN 80 FZN 79 get put
DOW 80 DOW 79 get put
%STOP1
0 1 80 {/i exch def %i=0,80 %for any illuminant
        Xi i FXN i get put
        Yi i FYN i get put
        Zi i FZN i get put
        /SUM FXN i get FYN i get add FZN i get add 0.00001 add def
        XANi i FXN i get SUM div put
        YANi i FYN i get SUM div put
        ZANi i FZN i get SUM div put
} for %i=0,80
%STOP1a
0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100)
        FXNZ i F02Z 00 i add get 100 mul YKSUM div 100 mul put
        FYNZ i F02Z 17 i add get 100 mul YKSUM div 100 mul put
        FZNZ i F02Z 34 i add get 100 mul YKSUM div 100 mul put
} for %i=0,16
%STOP2
0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100)
        XZi i FXNZ i get put
        YZi i FYNZ i get put
        ZZi i FZNZ i get put
        /SUMZ FXNZ i get FYNZ i get add FZNZ i get add def
        XANZi i FXNZ i get SUMZ div put
        YANZi i FYNZ i get SUMZ div put
        ZANZi i FZNZ i get SUMZ div put
} for %i=0,16

/a2 1.0 def
/b2 0.4 neg def
/K 0 def  %normalization Y=1.00
%/K 1 def %normalization Y=0.886

%XW,YW,ZW for white
/XW 0 def
/YW 0 def
/ZW 0 def
0 1 079 {/i exch def %i=0,79
         /XW XW FXN i get add def
         /YW YW FYN i get add def
         /ZW ZW FZN i get add def
        } for %i=0,79

/SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07
/XANW XW SUMW FL add div def
/YANW YW SUMW FL add div def
/ZANW ZW SUMW FL add div def

K 0 eq {%K=0
        /XK XW def
        /YK YW def
        /ZK ZW def
       }%K=0
       {%K=1
        /XK XW 0.8859 mul def
        /YK YW 0.8859 mul def
        /ZK ZW 0.8859 mul def
       } ifelse %K=1

/SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07
/XANK XK SUMK div def
/YANK YK SUMK div def
/ZANK ZK SUMK div def

/hABW 0 def

/xshift 10 array def %max 6 device + 4 elementary
/yshift 10 array def
/colori 10 array def

/XANWL XANW def
/YANWL YANW def
/ZANWL ZANW def

/XANWC XANC00 def
/YANWC YANC00 def
/ZANWC ZANC00 def

/AnYi 80 array def
/BnYi 80 array def

} bind def %END proc_XYZ_colours

%****************************************************************
/proc_PDT_colours
{%BEG proc_PDT_colours

/l02Ii 77 array def  /m02Ii 77 array def  /s02Ii 77 array def
/l02Mi 77 array def  /m02Mi 77 array def  /s02Mi 77 array def
/X02Ii   77 array def  /Y02Ii   77 array def  /Z02Ii   77 array def
/xan02Ii 77 array def  /yan02Ii 77 array def  /zan02Ii 77 array def
/X02Mi   77 array def  /Y02Mi   77 array def  /Z02Mi   77 array def
/xan02Mi 77 array def  /yan02Mi 77 array def  /zan02Mi 77 array def
/ycuri   77 array def

/l02Mi [
%LMS2.TXT
%L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm
4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400
4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2
2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450
5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1
1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500
3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1
7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550
9.657395e-1 9.814541e-1 9.944890e-1 1           9.923160e-1
9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600
7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1
4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650
1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2
2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700
4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4
6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750
1.095065e-4 7.799195e-5
] def

/m02Mi [
%M2.DAT
3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400
4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2
3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450
9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1
2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500
5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1
9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95?
9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1
6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600
2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2
6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650
1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3
1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700
2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5
4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750
7.822762e-6 5.690886e-6
] def
/s02Mi [
%S2.DAT CIE 171.1:2006
9.547289e-3 9.547289e-3
9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410
3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1
9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460
7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1
2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510
4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 
5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560
4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5
4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610
5.418387e-6 0           0           0           0
0           0           0           0           0           %650
0           0           0           0           0
0           0           0           0           0           %700
0           0           0           0           0
0           0           0           0           0           %750
0           0
] def
 
%ED TC1-36 CIE 171-2, 2015, page 16, line 20-23
/A11  1.94735469 def
/A12 -1.41445123 def
/A13  0.36476327 def
/A21  0.68990272 def
/A22  0.34832189 def
/A33  1.93485343 def

/fsl02Mi 0 def  /fsm02Mi 0 def  /fss02Mi 0 def
0 1 76 {/i exch def  %i=0,76 Summe fsumlms
             /fsl02Mi fsl02Mi l02Mi i get add def
             /fsm02Mi fsm02Mi m02Mi i get add def
             /fss02Mi fss02Mi s02Mi i get add def
       } for %i=0,76

0 1 76 {/i exch def %i=0,76 Normierung LMS
             l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put
             m02Ii i m02Mi i get put
             s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put
       } for %i=0,76

/fsl02Ii 0 def  /fsm02Ii 0 def  /fss02Ii 0 def
0 1 76 {/i exch def  %i=0,76 Summe fsumlms
             /fsl02Ii fsl02Ii l02Ii i get add def
             /fsm02Ii fsm02Ii m02Ii i get add def
             /fss02Ii fss02Ii s02Ii i get add def
       } for %i=0,76

0 1 76 {/i exch def %i=0,76
             X02Ii i l02Mi i get A11 mul
                     m02Mi i get A12 mul add
                     s02Mi i get A13 mul add put
             Y02Ii i l02Mi i get A21 mul
                     m02Mi i get A22 mul add put
             Z02Ii i s02Mi i get A33 mul put
       } for %i=0,76

/fsX02Ii 0 def  /fsY02Ii 0 def  /fsZ02Ii 0 def
0 1 76 {/i exch def  %i=0,76 Summe fsumxyzIi
             /fsX02Ii fsX02Ii X02Ii i get add def
             /fsY02Ii fsY02Ii Y02Ii i get add def
             /fsZ02Ii fsZ02Ii Z02Ii i get add def
       } for %i=0,76

0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ
             X02Mi i X02Ii i get 1.1510330 div put %max 600nm
             Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm
             Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm
       } for %i=0,76

/fsX02Mi 0 def  /fsY02Mi 0 def  /fsZ02Mi 0 def
0 1 76 {/i exch def  %i=0,76 Summe fsumxyzMi
             /fsX02Mi fsX02Mi X02Mi i get add def
             /fsY02Mi fsY02Mi Y02Mi i get add def
             /fsZ02Mi fsZ02Mi Z02Mi i get add def
       } for %i=0,76

0 1 76 {/i exch def %i=0,76 xyzan
             /sumXYZ X02Ii i get
                     Y02Ii i get add
                     Z02Ii i get add def
             xan02Ii i X02Ii i get sumXYZ div put
             yan02Ii i Y02Ii i get sumXYZ div put
             zan02Ii i Z02Ii i get sumXYZ div put
       } for %i=0,76

} bind def %END proc_PDT_colours

%*************************************************
%STOP4
/proc_Munsell_colours
{%BEG proc_Munsell_colours

%calculation of transformation data
/FARBE 27 array def
/FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00
        () () () %01
        (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02
        () () () %03
        (L* about 10, 20, 50, 80, 90) () () %04
        () () () %05
        () () () %06
        () () () %07
        () () () %08
       ] def

%Input
/xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data
/xy_MUNSELL %BEG xy_MUNSELL
[%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9
%  05                                                                           
%  1 40  1  1 VALUE1
 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781
 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634
 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177
 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816
 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296
%  1 40 02  2 VALUE2
 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940
 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507
 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785
 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033
 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583
%  1 40 05  3 VALUE5
 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071
 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445
 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570
 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158
 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912
%  1 40 08  4 VALUE8
 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124
 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404
 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484
 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169
 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040
%  1 40 09  5 VALUE9
 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125
 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400
 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472
 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168
 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051
] def %END xy_MUNSELL

/Y_MUNSELL 5 array def %5 Y*1000 data
/Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100
[12100 31300 197700 591000 786600] def %here 4 decimal places!

/xy_MUNSELL_C 2 array def %2 xy*1000 data
/xy_MUNSELL_C %BEG xy_MUNSELL_C 
[3101 3162] def %END xy_MUNSELL_C

/xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8
/xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex
[%  1 01  2  4CR=2EX
 3149 3086
%  1 01  5  5CR=2EX
 3142 3234
%  1 01  8  6CR=2EX
 3144 3275
] def %END xy_MUNSELL_Ex

%M=Munsell

/XMi 200 array def %5*40 colour of chroma 2
/YMi 200 array def
/ZMi 200 array def
/XANMi 200 array def
/YANMi 200 array def
/ZANMi 200 array def

/AANMi 200 array def
/BANMi 200 array def

0 0 0 1 setcmykcolor

/fscale 0.0001 def
0 1 199 {/k exch def %k=0,199
         /k2 k 2 mul def
          XANMi k xy_MUNSELL k2 0 add get fscale mul put
          YANMi k xy_MUNSELL k2 1 add get fscale mul put
          ZANMi k 1. XANMi k get sub YANMi k get sub put
          /kV k 40 idiv def
          /YVALUE Y_MUNSELL kV get fscale mul def
          YMi   k YVALUE put
          /SUMY YVALUE YANMi k get div def
          XMi k SUMY XANMi k get mul put
          ZMi k SUMY ZANMi k get mul put
} for %k=0,199

%***********************
%XWM,YWM,ZWM and XKW,YKW,ZKW for white
/YANWM xy_MUNSELL_C 0 get fscale mul def
/YANWM xy_MUNSELL_C 1 get fscale mul def
/ZANWM 1. YANWM sub YANWM sub def
/YWM 100. def
/SUMWM YWM YANWM div def
/XWM SUMWM YANWM mul def
/ZWM SUMWM ZANWM mul def

/XKM XWM def
/YKM YWM def
/ZKM ZWM def

} bind def %END proc_Munsell_colours

%*************************************************************************
/proc_Ostwald_colours
{%BEG proc_Ostwald_colours

%Input
%/F2  240 array def %either 2 or 10 degree observer
%/F10 240 array def %either 2 or 10 degree observer

%/SX01 80  array def %380 bis 775 mit deltalambda=05
%/SX02 80  array def %380 bis 775 mit deltalambda=05
%/SX03 80  array def %380 bis 775 mit deltalambda=05
%/SX03 80  array def %380 bis 775 mit deltalambda=05
%/SX05 80  array def %380 bis 775 mit deltalambda=05
%/SX06 80  array def %380 bis 775 mit deltalambda=05
%/SX07 80  array def %380 bis 775 mit deltalambda=05

/WEL1i 60 array def %irregular definition
/WEL2i 60 array def %irregular definition
       %0   1   2   3   4   5   6   7   8   9
/WEL1i [405 435 450 460 465 470 475 480 485 490
        495 500 510 520 530 540 545 550 555 560
       ] def

%Calculation
/RAOi   80 array def %380 bis 770 nm
/F2Oi  240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree
/F2NOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree

/SDAKOi 80 array def %380 bis 775 mit deltalambda=05

/SX00Oi 80 array def %380 bis 775 mit deltalambda=05
/SX01Oi 80 array def %380 bis 775 mit deltalambda=05
/SX02Oi 80 array def %380 bis 775 mit deltalambda=05
/SX03Oi 80 array def %380 bis 775 mit deltalambda=05
/SX04Oi 80 array def %380 bis 775 mit deltalambda=05
/SX05Oi 80 array def %380 bis 775 mit deltalambda=05
/SX06Oi 80 array def %380 bis 775 mit deltalambda=05
/SX07Oi 80 array def %380 bis 775 mit deltalambda=05

%special wavelength range with complementary colours for E?
/FXDOi 80 array def
/FYDOi 80 array def
/FZDOi 80 array def
/DOWOi 80 array def

/FADOi 80 array def
/FBDOi 80 array def
/FCDOi 80 array def

%Results
/XOi 80 array def %usually 40 Ostwald COLOURS
/YOi 80 array def
/ZOi 80 array def
/XANOi 80 array def %usually 40 Ostwald COLOURS
/YANOi 80 array def
/ZANOi 80 array def

%/XKO def
%/YKO def
%/ZKO def
%/XANKO def
%/YANKO def
%/ZANKO def
%STOP4a
0 1 239 {/i exch def %i=0,239
         xcolor 0 eq {%xcolor=0,1
         F2Oi   i F2   i get put
                     } %xcolor=0
                     {%xcolor=1
         F2Oi   i F10   i get put
                     } ifelse %xcolor=1
        } for %i=0,239
%STOP5
/YKSUMO 0 def %For any illuminant
0 1 79 {/i exch def %i=0,1,79
        /YKSUMO YKSUMO F2Oi  80 i add get add def
} for %i=0,1,79

0 1 79 {/i exch def %i=0,1,79
        F2NOi  00 i add F2Oi  00 i add get YKSUM div 100 mul put
        F2NOi  80 i add F2Oi  80 i add get YKSUM div 100 mul put
        F2NOi 160 i add F2Oi 160 i add get YKSUM div 100 mul put
} for %i=0,1,79
           
0 1 79 {/i exch def %i=0,79
        F2Oi   i F2   i get put
        SX00Oi i SX00 i get put
        SX01Oi i SX01 i get put
        SX02Oi i SX02 i get put
        SX03Oi i SX03 i get put
        SX04Oi i SX04 i get put
        SX05Oi i SX05 i get put
        SX06Oi i SX06 i get put
        SX07Oi i SX07 i get put
       } for %i=0,79

%calculation of XW,YW,ZW for illuminant D65, D50, ...
0 1 79 {/i exch def %i=0,79
        SDAKOi i xchartx 0 eq {SX00Oi i get} if
                 xchartx 1 eq {SX01Oi i get} if
                 xchartx 2 eq {SX02Oi i get} if
                 xchartx 3 eq {SX03Oi i get} if
                 xchartx 4 eq {SX04Oi i get} if
                 xchartx 5 eq {SX05Oi i get} if
                 xchartx 6 eq {SX06Oi i get} if
                 xchartx 7 eq {SX07Oi i get} if
                 put
       } for %i=0,79

/YKSUM 0 def
0 1 79 {/i exch def %i=0,1,79
        /YKSUM YKSUM SDAKOi i get F2Oi  80 i add get mul add def
} for %i=0,1,79

0 1 79 {/i exch def %i=0,1,79
        F2NOi  00 i add SDAKOi i get F2Oi  00 i add get mul YKSUM div 100 mul put
        F2NOi  80 i add SDAKOi i get F2Oi  80 i add get mul YKSUM div 100 mul put
        F2NOi 160 i add SDAKOi i get F2Oi 160 i add get mul YKSUM div 100 mul put
} for %i=0,1,79

/FXNOi 80 array def %FXN 0 = F2N imax
/FYNOi 80 array def
/FZNOi 80 array def
%defines FXN, FYN, FZN 0 to 79
0 1 79 {/i exch def %i=0,79
        FXNOi i F2NOi 000 i add get put
        FYNOi i F2NOi 080 i add get put
        FZNOi i F2NOi 160 i add get put
} for %i=0,79

%XWO,YWO,ZWO for white
/XWO 0 def
/YWO 0 def
/ZWO 0 def
0 1 079 {/i exch def %i=0,79
         /XWO XWO F2NOi  00 i add get add def
         /YWO YWO F2NOi  80 i add get add def
         /ZWO ZWO F2NOi 160 i add get add def
        } for %i=0,79

/SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07
/XANWO XWO SUMWO div def
/YANWO YWO SUMWO div def
/ZANWO ZWO SUMWO div def

00 1 60 {/i exch def %i=0,60 %range 400..700nm
         FXDOi  i FXNOi 005 i add get put
         FYDOi  i FYNOi 005 i add get put
         FZDOi  i FZNOi 005 i add get put
         DOWOi i 400 i 5 mul add put %range 400 to 700
        } for %i=0,60

%for interpolation
FXDOi  61 FXDOi  60 get put
FYDOi  61 FYDOi  60 get put
FZDOi  61 FZDOi  60 get put

FXDOi  62 FXDOi  60 get put
FYDOi  62 FYDOi  60 get put
FZDOi  62 FZDOi  60 get put

0 1 62 {/i exch def %i=0,62
        FADOi i FXDOi i get put
        FBDOi i FYDOi i get put
        FCDOi i FZDOi i get put
       } for %i=0,62

%      FXU(1)=FF(2)*U(3)-FF(3)*U(2)
%      FXU(2)=FF(3)*U(1)-FF(1)*U(3)
%      FXU(3)=FF(1)*U(2)-FF(2)*U(1)

%      SUBROUTINE DOWEL (F,FXU,IMAX,IO)
%      DIMENSION F(99,3),FXU(3)
%      I=1
%      T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3)
%      IF(T2) 1,1,4
%    1 T1=T2
%      I=I+1
%      T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3)
%      IF(T2) 1,1,2
%    2 IF(T1) 3,3,1
%    3 IO=I-1
%      RETURN
%    4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3)
%      IF(T1) 5,5,1
%    5 IO=IMAX
%      RETURN
%      END

%*********************************************************
/proc_ABC_KNP_FWERTiX
{%BEG proc_ABC_KNP_FWERT

%input FADO,FBDO,FCDO, KNPO
%output FWERTiX/Y/Z (i=1,4)

  KNP   1 ge {/FWERT1X FADOi KNP    1 sub get def
              /FWERT1Y FBDOi KNP    1 sub get def
              /FWERT1Z FCDOi KNP    1 sub get def}
             {/FWERT1X FADOi 0 get def %again 400nm for i=0
              /FWERT1Y FBDOi 0 get def
              /FWERT1Z FCDOi 0 get def} ifelse

    /FWERT2X FADOi KNP    get def
    /FWERT2Y FBDOi KNP    get def
    /FWERT2Z FCDOi KNP    get def

    /FWERT3X FADOi KNP    1 add get def
    /FWERT3Y FBDOi KNP    1 add get def
    /FWERT3Z FCDOi KNP    1 add get def

    /FWERT4X FADOi KNP    2 add get def
    /FWERT4Y FBDOi KNP    2 add get def
    /FWERT4Z FCDOi KNP    2 add get def

} bind def %END proc_ABC_KNP_FWERTiX

%*********************************************************
/proc_XIE_TN1
{%BEG proc_XIE_TN1

%input XIE, FWERTiX/Y/Z (i=1,4)
%output TN1

/A1N XIE       1 XIE sub mul XIE 2 sub mul 6 div   def
/A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def
/A3N XIE 1 add XIE       mul 2 XIE sub mul 0.5 mul def
/A4N XIE 1 add XIE       mul XIE 1 sub mul 6 div   def
/FNX A1N FWERT1X mul
     A2N FWERT2X mul add
     A3N FWERT3X mul add
     A4N FWERT4X mul add def
/FNY A1N FWERT1Y mul
     A2N FWERT2Y mul add
     A3N FWERT3Y mul add
     A4N FWERT4Y mul add def
/FNZ A1N FWERT1Z mul
     A2N FWERT2Z mul add
     A3N FWERT3Z mul add
     A4N FWERT4Z mul add def
/TNX FNX FXU1 mul
     FNY FXU2 mul add
     FNZ FXU3 mul add def

} bind def %END proc_XIE_TN1

%*********************************************************

0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm

        /j  WEL1i k get 400 sub 5 idiv def
        /LP k def
        /LPP 20.5 k add def

       /FF1 FXDOi j get def %start at 405..700nm
       /FF2 FYDOi j get def
       /FF3 FZDOi j get def

       /U1 XWO def
       /U2 YWO def
       /U3 ZWO def
       
       /FXU1 FF2 U3 mul FF3 U2 mul sub def
       /FXU2 FF3 U1 mul FF1 U3 mul sub def
       /FXU3 FF1 U2 mul FF2 U1 mul sub def

/INP -1 def
/IPN -1 def
%assumption jump from TN to TP from negativ to positiv
       0 1 60 {/i exch def %i=1,60
               /TN FADOi i get FXU1 mul
                   FBDOi i get FXU2 mul add
                   FCDOi i get FXU3 mul add def

               /TP FADOi i 1 add get FXU1 mul
                   FBDOi i 1 add get FXU2 mul add
                   FCDOi i 1 add get FXU3 mul add def
               TN 0 le TP 0 gt and {/INP i def exit} if
              } for %i=1,60

       0 1 60 {/i exch def %i=1,60
               /TN FADOi i get FXU1 mul
                   FBDOi i get FXU2 mul add
                   FCDOi i get FXU3 mul add neg def
               /TP FADOi i 1 add get FXU1 mul
                   FBDOi i 1 add get FXU2 mul add
                   FCDOi i 1 add get FXU3 mul add neg def
               TN 0 le TP 0 gt and {/IPN i def exit} if
              } for %i=1,60

%*********************************************************
/KNP INP def

KNP    0 ge {%kNP>=0

proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4)

/XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2
/XIE2 1 def

0 1 9 {/mk exch def %mk=0,9
       /XIE XIE1 XIE2 add 0.5 mul def
       proc_XIE_TN1  %input XIE, ouput TN1
       TNX 0 le {/XIE1 XIE def /TN1 TNX def}
                {/XIE2 XIE def /TP1 TNX def} ifelse
      } for %mk=0,9

/XIE XIE1 XIE2 add 0.5 mul def
/DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def
/XIENP XIE def

       } if %kNP>=0

%*********************************************************
/KNP    IPN def

KNP    0 ge {%kNP>=0

proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4)

/XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2
/XIE2 1 def
/FXU1 FXU1 neg def
/FXU2 FXU2 neg def
/FXU3 FXU3 neg def

0 1 9 {/mk exch def %mk=0,9
       /XIE XIE1 XIE2 add 0.5 mul def
       proc_XIE_TN1  %input XIE, ouput TN1
       TNX 0 le {/XIE1 XIE def /TN1 TNX def}
                {/XIE2 XIE def /TP1 TNX def} ifelse
      } for %mk=0,9

/XIE XIE1 XIE2 add 0.5 mul def
/DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def
/XIEPN XIE def

       } if %kNP>=0

%*********************************************************
0 1 79 {/i exch def %i=0,79
        RAOi i 0 put
       } for %i=0,79

INP -1 eq {/i1 0 def}                %380nm
          {/i1 INP 5 add def} ifelse %405..700nm

IPN -1 eq {/i2 79 def}               %770nm
          {/i2 IPN 5 add def} ifelse %405..700nm

i2 i1 ge {%i1<i2
          i1 1 i2 {/i exch def %i=i1,i2
                   RAOi i 1 put
                  } for %i=i1,i2
         }%i1<i2
         {%i1>i2
          i1 1 79 {/i exch def %i=i1,79
                   RAOi i 1 put
                  } for %i=i1,79
          0  1 i2 {/i exch def %i=0,i2
                   RAOi i 1 put
                  } for %i=0,i2
                  
         } ifelse %i1>i2

%correction
i2 i1 ge {%i1<i2
          RAOi i1 0.5 put
          RAOi i2 0.5 XIEPN 0.5 sub add put
         }%i1<i2
         {%i1>i2
          RAOi i1 0.5 put
          RAOi i2 0.5 XIEPN 0.5 sub add put
         } ifelse %i1>i2

%***************************************************
/XO 0 def
/YO 0 def
/ZO 0 def
0 1 079 {/i exch def %i=0,79
         /XO XO F2NOi  00 i add get RAOi i get mul add def
         /YO YO F2NOi  80 i add get RAOi i get mul add def
         /ZO ZO F2NOi 160 i add get RAOi i get mul add def
        } for %i=0,79

/SUMO XO YO add ZO add def
/XANO XO SUMO FL add div def
/YANO YO SUMO FL add div def
/ZANO ZO SUMO FL add div def

%*************************************************

0 0 0 1 setcmykcolor

0 1 1 {/Icom exch def %Icom=0,1

Icom 0 eq {%Icom=0,1
           XOi k XO put
           YOi k YO put
           ZOi k ZO put
           XANOi k XANO put
           YANOi k YANO put
           ZANOi k ZANO put
          }%Icom=0
          {%Icom=1
           /kP 20 k add def
           XOi kP XWO XO sub put
           YOi kP YWO YO sub put
           ZOi kP ZWO ZO sub put
           /SUMO XOi kP get
                 YOi kP get add
                 ZOi kP get add def
           XANOi kP XOi kP get SUMO FL add div put
           YANOi kP YOi kP get SUMO FL add div put
           ZANOi kP ZOi kP get SUMO FL add div put
          } ifelse %Icom=1

} for %Icom=0,1

K 1 eq {%K=1
        XOi k  XOi k  get 0.8859 mul put
        YOi k  YOi k  get 0.8859 mul put
        ZOi k  ZOi k  get 0.8859 mul put
        XOi kP XOi kP get 0.8859 mul put
        YOi kP YOi kP get 0.8859 mul put
        ZOi kP ZOi kP get 0.8859 mul put
       } if %K=1

} for %k=0,19

%**************************************
%XWO,YWO,ZWO and XKO,YKO,ZKO for white
/XWO 0 def
/YWO 0 def
/ZWO 0 def
0 1 079 {/i exch def %i=0,79
         /XWO XWO F2NOi  00 i add get add def
         /YWO YWO F2NOi  80 i add get add def
         /ZWO ZWO F2NOi 160 i add get add def
        } for %i=0,79

K 0 eq {%K=0
        /XKO XWO def
        /YKO YWO def
        /ZKO ZWO def
       }%K=0
       {%K=1
        /XKO XWO 0.8859 mul def
        /YKO YWO 0.8859 mul def
        /ZKO ZWO 0.8859 mul def
       } ifelse %K=1

/SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07
/XANKO XKO SUMKO div def
/YANKO YKO SUMKO div def
/ZANKO ZKO SUMKO div def

/XANWL XANWO def
/YANWL YANWO def
/ZANWL ZANWO def

} bind def %END proc_Ostwald_colours

%**********************************************************************

%****************************************************************
%allways
/proc_DEF_colours
{%BEG proc_DEF_colours
%Colour Deficiencies

/ip1 700 380 sub 5 idiv def %ip=64:700nm
/XANP1 XANi ip1 get def
/YANP1 YANi ip1 get def
/ZANP1 ZANi ip1 get def

/id1 505 380 sub 5 idiv def %ip=25:505nm
/XAND1 XANi id1 get def
/YAND1 YANi id1 get def
/ZAND1 ZANi id1 get def

/it1 400 380 sub 5 idiv def %ip=4:400nm
/XANT1 XANi it1 get def
/YANT1 YANi it1 get def
/ZANT1 ZANi it1 get def

%*************************
/XANP XANP1 def
/YANP YANP1 def
/ZANP ZANP1 def

/XAND 1.000 def
/YAND 0.001 def
/ZAND 0.999 def

/XANT 0.171 def
/YANT 0.001 def
/ZANT 1.000 XANT sub YANT sub def

%*************************
/XAN00 0.3333 def %Illuminant E
/YAN00 0.3333 def

/mP YAN00 YANP sub XAN00 XANP sub div def %700nm
/bP YAN00 XAN00 mP mul sub def

/mD YAN00 YAND sub XAN00 XAND sub div def %xx
/bD YAN00 XAN00 mD mul sub def

/mT YAN00 YANT sub XAN00 XANT sub div def %xx
/bT YAN00 XAN00 mT mul sub def

%*************************
/mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm
/bP1 YAN00 XAN00 mP1 mul sub def

%Deuteranop DM
0 1 0 setrgbcolor
/i 505 495 sub 5 idiv 1 add def %2 D (505c,E)
/XAND1 XANZi i get def
/YAND1 YANZi i get def

/mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm
/bD1 YAN00 XAN00 mD1 mul sub def

/mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm
/bT1 YAN00 XAN00 mT1 mul sub def

/ishow {0 -40 rmoveto show 0 40 rmoveto} def
/eshow {0 60 rmoveto show 0 -60 rmoveto} def
/imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def
/imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def
/iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def

} bind def %END proc_DEF_colours

%allways if xchart6>=1
/proc_chromaticity
{%BEG proc_chromaticity
%chromaticity definitions

xchartl 0 eq {%xchartl=0 %(x,y)
              
0 1 79 {/i exch def %i=0,79
        AANi i XANi i get put
        BANi i YANi i get put
       } for %i=0,79

0 1 16 {/i exch def %i=0,16
        AANZi i XANZi i get put
        BANZi i YANZi i get put
       } for %i=0,16

%COlOUR VISION DEFICIENCIES
/AANP1 XANP1 def
/BANP1 YANP1 def
/AAND1 XAND1 def
/BAND1 YAND1 def
/AANT1 XANT1 def
/BANT1 YANT1 def

/AANP XANP def
/BANP YANP def
/AAND XAND def
/BAND YAND def
/AANT XANT def
/BANT YANT def

%ACHROMATIC COLOUR
/AANWL XANWL def
/BANWL YANWL def
/AANWC XANWC def
/BANWC YANWC def
      
             } if %xchartl=0 %only for (x,y)

%*****************
xchartl 1 eq {%xchartl=1 %(a0,b0)

0 1 79 {/i exch def %i=0,79
        AANi i XANi i get YANi i get FL add div a2 mul put
        BANi i ZANi i get YANi i get FL add div b2 mul put
       } for %i=0,79

0 1 16 {/i exch def %i=0,16
        AANZi i XANZi i get YANZi i get FL add div a2 mul put
        BANZi i ZANZi i get YANZi i get FL add div b2 mul put
       } for %i=0,79

%COlOUR VISION DEFICIENCIES
/AANP1 XANP1 YANP1 FL add div a2 mul def
/BANP1 ZANP1 YANP1 FL add div b2 mul def
/AAND1 XAND1 YAND1 FL add div a2 mul def
/BAND1 ZAND1 YAND1 FL add div b2 mul def
/AANT1 XANT1 YANT1 FL add div a2 mul def
/BANT1 ZANT1 YANT1 FL add div b2 mul def

/AANP XANP YANP FL add div a2 mul def
/BANP ZANP YANP FL add div b2 mul def
/AAND XAND YAND FL add div a2 mul def
/BAND ZAND YAND FL add div b2 mul def
/AANT XANT YANT FL add div a2 mul def
/BANT ZANT YANT FL add div b2 mul def

%ACHROMATIC COLOUR
/AANWL XANWL YANWL FL add div a2 mul def
/BANWL ZANWL YANWL FL add div b2 mul def
/AANWC XANWC YANWC FL add div a2 mul def
/BANWC ZANWC YANWC FL add div b2 mul def

             } if %xchartl=1 %only for (a0,b0)

%*****************
xchartl 2 eq {%xchartl=2 %(a1,b1)

0 1 79 {/i exch def %i=0,79
        AANi i XANi i get XANT sub YANi i get FL add div a2 mul put
        BANi i ZANi i get YANi i get FL add div b2 mul put
       } for %i=0,79

0 1 16 {/i exch def %i=0,16
        AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put
        BANZi i ZANZi i get YANZi i get FL add div b2 mul put
       } for %i=0,79

%COlOUR VISION DEFICIENCIES
/AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def
/BANP1 ZANP1 YANP1 FL add div b2 mul def
/AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def
/BAND1 ZAND1 YAND1 FL add div b2 mul def
/AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def
/BANT1 ZANT1 YANT1 FL add div b2 mul def

/AANP XANP XANT sub YANP FL add div a2 mul def
/BANP ZANP YANP FL add div b2 mul def
/AAND XAND XANT sub YAND FL add div a2 mul def
/BAND ZAND YAND FL add div b2 mul def
/AANT XANT XANT sub YANT FL add div a2 mul def
/BANT ZANT YANT FL add div b2 mul def

%ACHROMATIC COLOUR
/AANWL XANWL XANT sub YANWL FL add div a2 mul def
/BANWL ZANWL YANWL FL add div b2 mul def
/AANWC XANWC XANT sub YANWC FL add div a2 mul def
/BANWC ZANWC YANWC FL add div b2 mul def

             } if %xchartl=2 %only for (a1,b1)

%*****************
xchartl 3 eq {%xchartl=3 %(a2,b2)
%a=x/y 
%b=(mP1*x+bP1)/y

0 1 79 {/i exch def %i=0,79
        AANi i XANi i get YANi i get FL add div a2 mul put
        BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put
       } for %i=0,79

0 1 16 {/i exch def %i=0,16
        AANZi i XANZi i get YANZi i get FL add div a2 mul put
        BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put
       } for %i=0,79

%COlOUR VISION DEFICIENCIES
/AANP1 XANP1 YANP1 FL add div a2 mul def
/BANP1 XANP1 mP1  mul bP1  add YANP1 FL add div b2 mul def
/AAND1 XAND1 YAND1 FL add div a2 mul def
/BAND1 XAND1 mP1  mul bP1  add YAND1 FL add div b2 mul def
/AANT1 XANT1 YANT1 FL add div a2 mul def
/BANT1 XANT1 mP1  mul bP1  add YANT1 FL add div b2 mul def

/AANP XANP YANP FL add div a2 mul def
/BANP XANP mP1  mul bP1  add YANP FL add div b2 mul def
/AAND XAND YAND FL add div a2 mul def
/BAND XAND mP1  mul bP1  add YAND FL add div b2 mul def
/AANT XANT YANT FL add div a2 mul def
/BANT XANT mP1  mul bP1  add YANT FL add div b2 mul def

%ACHROMATIC COLOUR
/AANWL XANWL YANWL FL add div a2 mul def
/BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def
/AANWC XANWC YANWC FL add div a2 mul def
/BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def

             } if %xchartl=3 %only for (a2,b2)

%*****************
xchartl 4 eq {%xchartl=4 %(a3,b3)
%a=(x-XANT)/y 
%b=(mD1*x+bD1)/y

0 1 79 {/i exch def %i=0,79
        AANi i XANi i get XANT sub YANi i get FL add div a2 mul put
        BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put
       } for %i=0,79

0 1 16 {/i exch def %i=0,16
        AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put
        BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put
       } for %i=0,79

%COlOUR VISION DEFICIENCIES
/AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def
/BANP1 XANP1 mD1  mul bD1   add YANP1  FL add div b2 mul def
/AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def
/BAND1 XAND1 mD1  mul bD1   add YAND1  FL add div b2 mul def
/AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def
/BANT1 XANT1 mD1  mul bD1   add YANT1  FL add div b2 mul def

/AANP XANP XANT sub YANP FL add div a2 mul def
/BANP XANP mD1  mul bD1  add YANP FL add div b2 mul def
/AAND XAND XANT sub YAND FL add div a2 mul def
/BAND XAND mD1  mul bD1  add YAND FL add div b2 mul def
/AANT XANT XANT sub YANT FL add div a2 mul def
/BANT XANT mD1  mul bD1  add YANT FL add div b2 mul def

%ACHROMATIC COLOUR
/AANWL XANWL XANT sub YANWL FL add div a2 mul def
/BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def
/AANWC XANWC XANT sub YANWC FL add div a2 mul def
/BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def

             } if %xchartl=4 %only for (a3,b3)

%*****************
xchartl 5 eq {%xchartl=5 %(a4,b4)
%a=x/y 
%b=(mP1*x+bP1)/y

0 1 79 {/i exch def %i=0,79
        AANi i XANi i get XANT sub YANi i get FL add div a2 mul put
        BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put
       } for %i=0,79

0 1 16 {/i exch def %i=0,16
        AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put
        BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put
       } for %i=0,79

%COlOUR VISION DEFICIENCIES
/AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def
/BANP1 XANP1 mP1  mul bP1  add YANP1 FL add div b2 mul def
/AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def
/BAND1 XAND1 mP1  mul bP1  add YAND1  FL add div b2 mul def
/AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def
/BANT1 XANT1 mP1  mul bP1  add YANT1 FL add div b2 mul def

/AANP XANP XANT sub YANP FL add div a2 mul def
/BANP XANP mP1  mul bP1  add YANP FL add div b2 mul def
/AAND XAND XANT sub YAND FL add div a2 mul def
/BAND XAND mP1  mul bP1  add YAND FL add div b2 mul def
/AANT XANT XANT sub YANT FL add div a2 mul def
/BANT XANT mP1  mul bP1  add YANT FL add div b2 mul def

%ACHROMATIC COLOUR
/AANWL XANWL XANT sub YANWL FL add div a2 mul def
/BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def
/AANWC XANWC XANT sub YANWC FL add div a2 mul def
/BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def

             } if %xchartl=5 %only for (a4,b4)

%*****************
xchartl 6 eq {%xchartl=6 %(a5,b5)

              /A2X 1.0 def
              /B2X 1.0 def
              /AI1  0.86120 def
              /AI2 -0.71966 def
              /AI3 -0.02689 def
              /BI1  0.19907 def
              /BI2  0.38617 def
              /BI3 -0.24046 def
              %a=A2X*(AI1*x+AI2*y+AI3)/y
              %b=B2X*(BI1*x+BI2*y+BI3)/y

0 1 79 {/i exch def %i=0,79
        AANi i XANi i get AI1 mul YANi i get AI2 mul add AI3 add
               YANi i get FL add div A2X mul put
        BANi i XANi i get BI1 mul YANi i get BI2 mul add BI3 add
               YANi i get FL add div B2X mul put
       } for %i=0,79

0 1 16 {/i exch def %i=0,16
        AANZi i XANZi i get AI1 mul YANZi i get AI2 mul add AI3 add
                YANZi i get FL add div A2X mul put
        BANZi i XANZi i get BI1 mul YANZi i get BI2 mul add BI3 add
                YANZi i get FL add div B2X mul put
       } for %i=0,16

%COlOUR VISION DEFICIENCIES
/AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def
/BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def
/AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def
/BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def
/AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def
/BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def

/AANP XANP XANT sub YANP FL add div a2 mul def
/BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def
/AAND XAND XANT sub YAND FL add div a2 mul def
/BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def
/AANT XANT XANT sub YANT FL add div a2 mul def
/BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def

%ACHROMATIC COLOUR
/AANWL XANWL AI1 mul YANWL AI2 mul add AI3 add
       YANWL FL add div A2X mul def
/BANWL XANWL BI1 mul YANWL BI2 mul add BI3 add
       YANWL FL add div B2X mul def
/AANWC XANWC AI1 mul YANWC AI2 mul add AI3 add
       YANWC FL add div A2X mul def
/BANWC XANWC BI1 mul YANWC BI2 mul add BI3 add
       YANWC FL add div B2X mul def

             } if %xchartl=6 %only for (a5,b5)
             
%*****************
xchartl 7 eq {%xchartl=7 %(a6,b6)
%a=A2X*x/y
%b=B2X*(mD1*x+bD1)/y

/A2X  1.0000 def
/B2X -0.4000 def
/FMD1 -0.974 def
/FBD1  0.658 def
/AI1  1.0000 def
/AI2  0.0000 def
/AI3  0.0000 def
/BI1  FMD1   def
/BI2  0.0000 def
/BI3  FBD1   def
%a=A2X*(AI1*x+AI2*y+AI3)/y
%b=B2X*(BI1*x+BI2*y+BI3)/y

0 1 79 {/i exch def %i=0,79
        AANi i XANi i get AI1 mul YANi i get AI2 mul add AI3 add
               YANi i get FL add div A2X mul put
        BANi i XANi i get BI1 mul YANi i get BI2 mul add BI3 add
               YANi i get FL add div B2X mul put
       } for %i=0,79

0 1 16 {/i exch def %i=0,16
        AANZi i XANZi i get AI1 mul YANZi i get AI2 mul add AI3 add
                YANZi i get FL add div A2X mul put
        BANZi i XANZi i get BI1 mul YANZi i get BI2 mul add BI3 add
                YANZi i get FL add div B2X mul put
       } for %i=0,16

%COlOUR VISION DEFICIENCIES
/AANP1 XANP1 YANP1 FL add div a2 mul def
/BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def
/AAND1 XAND1 YAND1 FL add div a2 mul def
/BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def
/AANT1 XANT1 YANT1 FL add div a2 mul def
/BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def

/AANP XANP YANP FL add div a2 mul def
/BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def
/AAND XAND YAND FL add div a2 mul def
/BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def
/AANT XANT YANT FL add div a2 mul def
/BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def

%ACHROMATIC COLOUR
/AANWL XANWL AI1 mul YANWL AI2 mul add AI3 add
       YANWL FL add div A2X mul def
/BANWL XANWL BI1 mul YANWL BI2 mul add BI3 add
       YANWL FL add div B2X mul def
/AANWC XANWC AI1 mul YANWC AI2 mul add AI3 add
       YANWC FL add div A2X mul def
/BANWC XANWC BI1 mul YANWC BI2 mul add BI3 add
       YANWC FL add div B2X mul def

             } if %xchartl=7 %only for (a6,b6)

} bind def %END proc_chromaticity

%***********************************************************
/proc_xaxis_xchartl_coor
{%BEG proc_xaxis_xchartl_coor

xchartl 0 eq {%xchartl=0,#0
xchartl 6 eq
xcolor  1 eq and {TBIV} {TBIS} ifelse
(x) show
xcolor 1 eq {(10) xchartl 6 eq {ib8}{ib6} ifelse} if
             }%xchartl=0
             {%xchartl#0, 1 case xchart10: abx (x=0,6)
xchart10 0 eq {%xchart10=0, abx

xchartl 1 ge
xchartl 7 le and {%xchartl=1<=7
xchartl 6 eq
xcolor  1 eq and {TBIV} {TBIS} ifelse
(a) show xchartl 1 sub cvicvs ib6
xcolor 1 eq {(,10) xchartl 6 eq {ib8}{ib6} ifelse} if
                 } if %xchartl=1,7

xchartl 1 eq
xchartl 3 eq or
xchartl 7 eq or {%xchartl=1,3,7
TBS (=) show
TBIS (x) show
xcolor 1 eq {(10) ib6} if
TBS (/) show
TBIS (y) show
xcolor 1 eq {(10) ib6} if
                 } if %xchartl=1,3,7

xchartl 2 eq
xchartl 4 eq or
xchartl 5 eq or {%xchartl=2,4,5
TBS (=\050) show
TBIS (x) show
xcolor 1 eq {(10) ib6} if
TBS (-0,171\051/) show
TBIS (y) show
xcolor 1 eq {(10) ib6} if
                 } if %xchartl#2,4,5

xchartl 6 eq {%xchartl=6
xcolor  1 eq {TBV} {TBS} ifelse
(=\0500,86) show
xcolor 1 eq {TBIV} {TBIS} ifelse (x) show
xcolor 1 eq {(10) xchartl 6 eq {ib8}{ib6} ifelse} if
xcolor 1 eq {TBV} {TBS} ifelse (-0,72) show
xcolor 1 eq {TBIV} {TBIS} ifelse (y) show
xcolor 1 eq {(10) xchartl 6 eq {ib8}{ib6} ifelse} if
xcolor 1 eq {TBV} {TBS} ifelse (-0,027\051/) show
xcolor 1 eq {TBIV} {TBIS} ifelse (y) show
xcolor 1 eq {(10) xchartl 6 eq {ib8}{ib6} ifelse} if
              } if %xchartl=6

             } if %xchart10=0, abx
 
             } ifelse %xchart=0,#0

} bind def %END proc_xaxis_xchartl_coor

%***********************************************************
/proc_yaxis_xchartl_coor
{%BEG proc_yaxis_xchartl_coor

xchartl 0 eq {%xchartl=0,#0
xchartl 6 eq
xcolor  1 eq and {TBIV} {TBIS} ifelse
(y) show
xcolor 1 eq {(10) xchartl 6 eq {ib8}{ib6} ifelse} if
             }%xchartl=0
             {%xchartl#0, 1 casesxchart10: abx

xchart10 0 eq {%xchart10=0, abx

xchartl 1 ge
xchartl 7 le and {%xchartl=1,7
xchartl 6 eq
xcolor  1 eq and {TBIV} {TBIS} ifelse
(b) show xchartl 1 sub cvicvs ib6
xcolor 1 eq {(,10) xchartl 6 eq {ib8}{ib6} ifelse} if
                 } if %xchartl=1,7

xchartl 1 eq
xchartl 2 eq or {%xchartl=1,2
TBS (=-0,40) show
TBIS (z) show
xcolor 1 eq {(10) ib6} if
TBS (/) show
TBIS (y) show
xcolor 1 eq {(10) ib6} if
                 } if %xchartl=1,2

xchartl 3 eq
xchartl 5 eq or {%xchartl=3,5
TBS (=\050) show mP1 cvsshow3x TBIS (x) show
xcolor 1 eq {(10) ib6} if
TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show
xcolor 1 eq {(10) ib6} if
                 } if %xchartl=3,5

xchartl 4 eq 
xchartl 7 eq or {%xchartl=4,7
TBS (=\050) show mD1 cvsshow3x TBIS (x) show
xcolor 1 eq {(10) ib6} if
TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show
xcolor 1 eq {(10) ib6} if
                 } if %xchartl=4,7

xchartl 6 eq {%xchartl=6
xcolor 1 eq {TBV} {TBS} ifelse (=\0500,20) show (x) show
xcolor 1 eq {(10) xchartl 6 eq {ib8}{ib6} ifelse} if
xcolor 1 eq {TBV} {TBS} ifelse (+0,37) show
xcolor 1 eq {TBIV} {TBIS} ifelse TBIV (y) show
xcolor 1 eq {(10) xchartl 6 eq {ib8}{ib6} ifelse} if
xcolor 1 eq {TBV} {TBS} ifelse (-0,24\051/) show
xcolor 1 eq {TBIV} {TBIS} ifelse (y) show
xcolor 1 eq {(10) xchartl 6 eq {ib8}{ib6} ifelse} if
              } if %xchartl=6

             } if %xchart10=0, abx

             } ifelse %xchart#0

} bind def %END proc_yaxis_xchartl_coor

%*********************************************************
/proc_chromaticity_lines
{%BEG proc_chromaticity_lines for xchart6>=1
%chromaticity lines and with names for xchart6=2

xchartl 0 eq {%xchartl=0 %(x,y)

/xtrans0 600 def
/ytrans0 400 def
xtrans0 ytrans0 translate %for scala and graphic

0 0 moveto  4000 0 rlineto  stroke
0 0 moveto  0 3200 rlineto  stroke

%! 100 S-Einheiten = 2000 Skalen-Einheiten
TBS

   0 -50 moveto  0 100 rlineto  stroke
 800 -50 moveto  0 100 rlineto  stroke
1600 -50 moveto  0 100 rlineto  stroke
2400 -50 moveto  0 100 rlineto  stroke
3200 -50 moveto  0 100 rlineto  stroke
4000 -50 moveto  0 100 rlineto  stroke

-100 -300 moveto (0,0) show
 700 -300 moveto (0,2) show
1500 -300 moveto (0,4) show
2300 -300 moveto (0,6) show
3100 -300 moveto (0,8) show
3900 -300 moveto (1,0) show

%! 100 S-Einheiten = 2000 Skalen-Einheiten

 -50    0 moveto  100 0 rlineto  stroke
 -50  800 moveto  100 0 rlineto  stroke
 -50 1600 moveto  100 0 rlineto  stroke
 -50 2400 moveto  100 0 rlineto  stroke
 -50 3200 moveto  100 0 rlineto  stroke

-450  -80 moveto (0,0) show
-450  720 moveto (0,2) show
-450 1520 moveto (0,4) show
-450 2320 moveto (0,6) show
-450 3120 moveto (0,8) show

TIS
4200  150 moveto (x) show
xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if
-300 2800 moveto (y) show
xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if

TBIS
2600 150 moveto
xcolor 0 eq {(CIE 1931) show} if
xcolor 1 eq {(CIE 1964) show} if

newpath

/fakt 4000 def

 %old
 %1000 02 01 16 01 .00 .0020              ********************
 %ANF  PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0:  600  400
 %600    400 translate
 %693     19 moveto

5 1 60 {/i exch def %i=5,60
        AANi i get fakt mul
        BANi i get fakt mul
        i 05 eq {moveto} if
        i 06 ge 
        i 59 le and {lineto} if
        i 60 eq {lineto closepath stroke} if
       } for %i=5,60

/xytshift 320 array def %min 4x65
/xytshift
[
0  000  000 (380) %0
0  000  000 (385) %1
0  000  000 (390) %2
0  000  000 (395) %3
1 -170 -170 (400) %4
0  000  000 (405) %5
0  000  000 (410) %6
0  000  000 (415) %7
0  000  000 (420) %8
0  000  000 (425) %9
0  000  000 (430) %10
0  000  000 (435) %11
0  000  000 (440) %12
0  000  000 (445) %13
1 -300 -050 (450) %14 S
0  000  000 (455) %15
0  000  000 (460) %16
0  000  000 (465) %17
0  000  000 (470) %18
1 -300 -030 (475) %19
0  000  000 (480) %20
0  000  000 (485) %21
1 -330 -050 (490) %22
1 -270  000 (495) %23 M=S
1 -300 -050 (500) %24
1 -300 -050 (505) %25
1 -330 -050 (510) %26 L=S
1 -300  050 (515) %27
1 -100  070 (520) %28
1  100  000 (525) %29
0  000  000 (530) %30
0  000  000 (535) %31
0  000  000 (540) %32 M
0  000  000 (545) %33
1  050  050 (550) %34
0  000  000 (555) %35
0  000  000 (560) %36
0  000  000 (565) %37
0  000  000 (570) %38 L
1  050  050 (575) %39
0  000  000 (580) %40
0  000  000 (585) %41
0  000  000 (590) %42
0  000  000 (595) %43
1  100  -50 (600) %44
0  000  000 (605) %45
0  000  000 (610) %46
0  000  000 (615) %47
0  000  000 (620) %48
1  100  -50 (625) %49
0  000  000 (630) %50
0  000  000 (635) %51
0  000  000 (640) %52
0  000  000 (645) %53
0  000  000 (650) %54
0  000  000 (655) %55
0  000  000 (660) %56
0  000  000 (665) %57
0  000  000 (670) %58
0  000  000 (675) %59
0  000  000 (680) %60
0  000  000 (685) %61
0  000  000 (690) %62
0  000  000 (695) %63
1  100  -50 (700) %64
] def

0 1 64 {/i exch def %i=5,1,60
        /i40 i 4 mul def
        xytshift i40 get 1 eq {%xytshift=1
        0 0 0 0 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                              } if %xytshift=1
       } for %i=5,1,60

TBIV
0 1 59 {/i exch def %i=0,65
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshift i40 get 1 eq {%xytshift=1
       AANi i get fakt mul xytshift i41 get add
       BANi i get fakt mul xytshift i42 get add
       moveto xytshift i43 get show
       } if %xytshift=1
       } for %i=0,65

newpath /xytshiftZ 320 array def %min 4x65
/xytshiftZ
[
1  100  -50 (700)    %0 see normal
1  050 -100 (495c,E) %1
1  050 -100 (500c,E) %2
0  050 -100 (505c,E) %3
1  100  -60 (510c,E) %4
0  050 -100 (515c,E) %5
0  050 -100 (520c,E) %6
1  050 -100 (525c,E) %7
0  050 -100 (530c,E) %8
0  050 -100 (535c,E) %9
0  050 -100 (540c,E) %10
0  050 -100 (545c,E) %11
1  050 -100 (550c,E) %12
0  050 -100 (555c,E) %13
0  050 -100 (560c,E) %14 S
1  050 -100 (565c,E) %15
0 -100 -150 (400)    %16 see normal
] def

0 1 16 {/i exch def %i=5,5,60
        /i40 i 4 mul def
        xytshiftZ i40 get 1 eq {%xytshiftZ=1
        0 0 0 0 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc fill %400,405,...,700
        0 0 0 1 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc stroke %400,405,...,700
                                } if %xytshiftZ=1
       } for %i=0,1,16
       
TBIV
0 1 16 {/i exch def %i=0,16
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshiftZ i40 get 1 eq {%xytshiftZ=1
       AANZi i get fakt mul xytshiftZ i41 get add
       BANZi i get fakt mul xytshiftZ i42 get add moveto
       xytshiftZ i43 get show
                              } if %xytshiftZ=1
       } for %i=0,16

/AANWLf XANWL fakt mul def
/BANWLf YANWL fakt mul def
/AANWCf XANWC fakt mul def
/BANWCf YANWC fakt mul def
 
/i 400 380 sub 5 idiv def %4 T
/AANF AANi i get fakt mul def
/BANF BANi i get fakt mul def
0.5 0 0.5 setrgbcolor
AANWLf BANWLf moveto  AANF BANF lineto stroke
AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS

/i 450 380 sub 5 idiv def %14 S
/AANF AANi i get fakt mul def
/BANF BANi i get fakt mul def
1 0 1 setrgbcolor
AANWLf BANWLf moveto  AANF BANF lineto stroke
%AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S
AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S

/i 475 380 sub 5 idiv def %18 B
/AANF AANi i get fakt mul def
/BANF BANi i get fakt mul def
0 0 1 setrgbcolor
AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be        (Lc)
AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4

/i 495 380 sub 5 idiv def %23 Rc
/AANF AANi i get fakt mul def
/BANF BANi i get fakt mul def
0 0 0 setrgbcolor
AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S)
AANF 120 add BANF 400 sub moveto TIK (M) show
(l) iy4 TK (=) show TIK (S) show (l) iy4

/i 505 380 sub 5 idiv def %26 505c,E
/AANF AANi i get fakt mul def
/BANF BANi i get fakt mul def
0 0 0 setrgbcolor
AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S)
AANF 250 add BANF 300 sub moveto TIK (V') show
0 0 0 setrgbcolor
AANF 050 add BANF 550 sub moveto TIK (V) show
(l) iy4 TK (=) show TIK (S) show (l) iy4

/i 520 380 sub 5 idiv def %28 G
/AANF AANi i get fakt mul def
/BANF BANi i get fakt mul def
0 1 0 setrgbcolor
AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B)
AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4
1 1 0 setrgbcolor
AANF 100 sub BANF 700 sub moveto TIK (Y) show
(l) iy4 TK (=) show 
0 0 1 setrgbcolor TIK (B) show (l) iy4

/i 540 380 sub 5 idiv def %32 M
/AANF AANi i get fakt mul def
/BANF BANi i get fakt mul def
0 0 0 setrgbcolor
AANWLf BANWLf moveto AANF BANF lineto stroke %540 M
AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4

/i 555 380 sub 5 idiv def %35 V
/AANF AANi i get fakt mul def
/BANF BANi i get fakt mul def
0 0 0 setrgbcolor
AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M)
AANF 000 add BANF 000 add moveto TIK (V) show (m) is4

/i 570 380 sub 5 idiv def %38 L
/AANF AANi i get fakt mul def
/BANF BANi i get fakt mul def
0 0 0 setrgbcolor
AANWLf BANWLf moveto AANF BANF lineto stroke %570 L
%AANF 250 sub BANF 200 sub moveto TIK (Y) show
%0 0 0 setrgbcolor
AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4

/i 575 380 sub 5 idiv def %39 L
/AANF AANi i get fakt mul def
/BANF BANi i get fakt mul def
1 1 0 setrgbcolor
AANWLf BANWLf moveto AANF BANF lineto stroke %575 L
AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4

/i 700 380 sub 5 idiv def %64 R
/AANF AANi i get fakt mul def
/BANF BANi i get fakt mul def
1 0 0 setrgbcolor
AANWLf BANWLf moveto AANF BANF lineto stroke %700
AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4
%Protanop PL
1 0 0 setrgbcolor
AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL

%Deuteranop DM
0 1 0 setrgbcolor
/i 505 495 sub 5 idiv 1 add def %2 D (505c,E)
/AANF AANZi i get fakt mul def
/BANF BANZi i get fakt mul def
0 1 0 setrgbcolor
AANWLf BANWLf moveto  AANF BANF lineto stroke
AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM

newpath
0 0 0 setrgbcolor
xchart5 1 ge {%xchart5=1
              AANWLf BANWLf %achromatic
              40 0 360 arc stroke
              newpath
             } if %xchart5=1
xchart5 2 eq {%xchart5=2
              0 0 0 setrgbcolor
              AANWLf 000 add BANWLf 300 sub moveto %achromatic
              TBS TELi xchartx get show %text illuminant
             } if %xchart5=2

xchart3 0 eq {%Munsell
              AANWCf 550 add BANWCf 250 add moveto TBV (1) show
              AANWCf 350 add BANWCf 100 add moveto TBV (2) show
              AANWCf 200 add BANWCf 050 add moveto TBV (5) show
             } if %Munsell

xtrans0 neg ytrans0 neg translate %for scala and grafic
 %ENDE: 1

       } if %xchartl=0 %(x,y)

%*****************
xchartl 1 eq {%xchartl=1 %(a0,b0)
%STOP9

/xtrans1a 0500 def
/xtrans1  1300 def
/ytrans1  3200 def
xtrans1a ytrans1 translate
 
0 400 moveto  4000  0 rlineto  stroke
0 400 moveto  0 -3600 rlineto  stroke
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
TBS
 
   0 350 moveto  0 100 rlineto  stroke
 800 350 moveto  0 100 rlineto  stroke
1600 350 moveto  0 100 rlineto  stroke
2400 350 moveto  0 100 rlineto  stroke
3200 350 moveto  0 100 rlineto  stroke
4000 350 moveto  0 100 rlineto  stroke
 
-150  500 moveto (-0,8) show
 650  500 moveto (0,0) show
1450  500 moveto (0,8) show
2250  500 moveto (1,6) show
%3050  500 moveto (2,4) show
%3850  500 moveto (3,2) show
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
 
 -50     0 moveto  100 0 rlineto  stroke
 -50  -800 moveto  100 0 rlineto  stroke
 -50 -1600 moveto  100 0 rlineto  stroke
 -50 -2400 moveto  100 0 rlineto  stroke
 -50 -3200 moveto  100 0 rlineto  stroke
 
-450  -100 moveto (  0,0) show
-450  -900 moveto (-0,8) show
-450 -1700 moveto (-1,6) show
%-450 -2500 moveto (-2,4) show

posax posay moveto
proc_xaxis_xchartl_coor
posbx posby moveto
90 rotate 
proc_yaxis_xchartl_coor
-90 rotate

xchart6 2 eq {%xchart6=2
              4150 300 moveto
              TBS (Parame\255) show
              4150 100 moveto
              TBS (ter:) show TBIS ( Y) show TV
             } if %xchart6=2
 
xtrans1a neg ytrans1 neg translate
 
 %1000 02 01 16 01-.03****************************************
 %ANF  PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200

xtrans1 ytrans1 translate

/fakt 1000 def

5 1 60 {/i exch def %i=5,60
        AANi i get fakt mul
        BANi i get fakt mul
        i 05 eq {moveto} if
        i 06 ge 
        i 59 le and {lineto} if
        i 60 eq {lineto closepath stroke} if
       } for %i=5,60

/xytshift 320 array def %min 4x65
/xytshift
[
0  000  000 (380) %00
0  000  000 (385) %01
0  000  000 (390) %02
0  000  000 (395) %03
0 -375 -250 (400) %04
0  000  000 (405) %05
0  000  000 (410) %06
0  000  000 (415) %07
0  000  000 (420) %08
0 -500 -100 (425) %09

0  000  000 (430) %10
0  000  000 (435) %11
0  000  000 (440) %12
0  000  000 (445) %13
0 -350 -030 (450) %14
0  000  000 (455) %15
0  000  000 (460) %16
0  000  000 (465) %17
0  000  000 (470) %18
0  000  000 (475) %19

1 -300 -100 (480) %20
0  000  000 (485) %21
1 -300 -100 (490) %22
0  000  000 (495) %23
1 -300 -100 (500) %24
0  000  000 (505) %25
0  000  000 (510) %26
0  000  000 (515) %27
0  000  000 (520) %28
1 -200  060 (525) %29

0  000  000 (530) %30
0  000  000 (535) %31
0  000  000 (540) %32
0  000  000 (545) %33
0  000  000 (550) %34
0  000  000 (555) %35
0  000  000 (560) %36
0  000  000 (565) %37
0  000  000 (570) %38
1  000  060 (575) %39

0  000  000 (580) %40
0  000  000 (585) %41
0  000  000 (590) %42
0  000  000 (595) %43
1 -150  060 (600) %44
0  000  000 (605) %45
0  000  000 (610) %46
0  000  000 (615) %47
0  000  000 (620) %48
1 -150  060 (625) %49

0  000  000 (630) %50
0  000  000 (635) %51
0  000  000 (640) %52
0  000  000 (645) %53
0  000  000 (650) %54
0  000  000 (655) %55
0  000  000 (660) %56
0  000  000 (665) %57
0  000  000 (670) %58
0  000  000 (675) %59

0  000  000 (680) %60
0  000  000 (685) %61
0  000  000 (690) %62
0  000  000 (695) %63
1  100 -150 (700) %64
] def

0 1 64 {/i exch def %i=5,1,60
        /i40 i 4 mul def
        xytshift i40 get 1 eq {%xytshift=1
        0 0 0 0 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                               } if %xytshift=1
       } for %i=5,1,60

TBIV
0 1 59 {/i exch def %i=0,65
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshift i40 get 1 eq {%xytshift=1
       AANi i get fakt mul xytshift i41 get add
       BANi i get fakt mul xytshift i42 get add
       moveto xytshift i43 get show
       } if %xytshift=1
       } for %i=0,65


newpath /xytshiftZ 320 array def %min 4x65
/xytshiftZ
[
1 -100  060 (700)    %0 normal
1  070  -50 (495c,E) %1
1  070  -50 (500c,E) %2
1  070  -50 (505c,E) %3
1  070  -50 (510c,E) %4
0  050 -100 (515c,E) %5
0  050 -100 (520c,E) %6
1  070  -50 (525c,E) %7
0  050 -100 (530c,E) %8
0  050 -100 (535c,E) %9
0  050 -100 (540c,E) %10
0  050 -100 (545c,E) %11
1  070  -50 (550c,E) %12
0  050 -100 (555c,E) %13
0  050 -100 (560c,E) %14 S
1  070  -50 (565c,E) %15
0 -100 -150 (400)    %16 see normal
] def

0 1 16 {/i exch def %i=0,1,16
        /i40 i 4 mul def
        xytshiftZ i40 get 1 eq {%xytshiftZ=1
        0 0 0 0 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                                } if %xytshiftZ=1
       } for %i=5,1,60
       
TBIV
0 1 16 {/i exch def %i=0,16
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshiftZ i40 get 1 eq {%xytshiftZ=1
       AANZi i get fakt mul xytshiftZ i41 get add
       BANZi i get fakt mul xytshiftZ i42 get add
       moveto xytshiftZ i43 get show
                              } if %xytshiftZ=1
       } for %i=0,16

/AANWLf AANWL fakt mul def
/BANWLf BANWL fakt mul def
/AANWCf AANWC fakt mul def
/BANWCf BANWC fakt mul def

/tabj 200 array def %20x12
/tabj
%00 01  02  03  04  05   06    07   08  09  10   12 
%JN lam la0 color        shix  shiy Na1 in1 Na2  in2 
[01 400 380 0.5 0.0 0.5  1100 -2000 (T) (S) ()   ()
 01 450 380 1.0 0.0 1.0  0500 -2000 (S) (m) ()   ()
 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) ()   ()
 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l)
 01 505 380 0.0 0.0 0.0 -0750  0000 (V) (l) (=S) (l)
 01 520 380 0.0 1.0 0.0 -0500  0050 (G) (e) ()   ()
 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l)
 01 540 380 0.0 0.0 0.0 -0100  0100 (M) (m) ()   ()
 01 570 380 0.0 0.0 0.0 -0200  0100 (L) (m) ()   ()
 01 575 380 1.0 1.0 0.0 -0100  0250 (Y) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) ()   ()
 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) ()   ()
] def

0 1 12 {/j exch def %j=0,12
        /j0 j 12 mul def
        /l01 j0 01 add def
        /l02 j0 02 add def
        /co1 j0 03 add def
        /co2 j0 04 add def
        /co3 j0 05 add def
        /po1 j0 06 add def
        /po2 j0 07 add def
        /n11 j0 08 add def
        /n12 j0 09 add def
        /n21 j0 10 add def
        /n22 j0 11 add def
        tabj j0 get 1 eq {%JN=1
                          /i tabj l01 get tabj l02 get sub 5 idiv def
                          /AANF AANi i get fakt mul def
                          /BANF BANi i get fakt mul def
                          j 12 eq {/AANF AANZi i get fakt mul def
                                   /BANF BANZi i get fakt mul def
                                  } if               
                          tabj co1 get tabj co2 get tabj co3 get
                          setrgbcolor
                          AANWLf BANWLf moveto
                          AANF BANF lineto stroke
                          xchart6 2 eq {%xchart6=2 %add text
                          j 2 le {AANWLf tabj po1 get add
                                  BANWLf tabj po2 get add moveto} %relative achromatic
                                 {AANF tabj po1 get add
                                  BANF tabj po2 get add moveto} ifelse
                          TIK tabj n11 get show
                          tabj n12 get (l) eq {(l) iy4}
                                              {tabj n12 get ishow} ifelse
                          TIK tabj n21 get show
                          tabj n22 get (l) eq {(l) iy4}
                                              {tabj n22 get ishow} ifelse
                                       } if %xchart6=2
                          } if %JN=1
        } for %j=0,12

newpath
0 0 0 setrgbcolor
xchart5 1 ge {%xchart5=1
              AANWLf BANWLf %achromatic
              40 0 360 arc stroke
              newpath
             } if %xchart5=1
xchart5 2 eq {%xchart5=2
              0 0 0 setrgbcolor
              AANWLf 000 add BANWLf 300 sub moveto %achromatic
              TBS TELi xchartx get show %text illuminant
             } if %xchart5=2

xchart3 0 eq {%Munsell
              AANWCf 550 add BANWCf 250 add moveto TBV (1) show
              AANWCf 350 add BANWCf 100 add moveto TBV (2) show
              AANWCf 200 add BANWCf 050 add moveto TBV (5) show
             } if %Munsell

xtrans1 neg ytrans1 neg translate

 %ENDE: 2

             } if %xchartl=1 %(a0,b0)

%***********************************************************
xchartl 2 eq {%xchartl=2 (a1,b1)

/xtrans2a 0500 def
/xtrans2  1300 def
/ytrans2  3200 def
xtrans2a ytrans2 translate %for text and grafic
 
0 400 moveto  4000  0 rlineto  stroke
0 400 moveto  0 -3600 rlineto  stroke
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
TBS
 
   0 350 moveto  0 100 rlineto  stroke
 800 350 moveto  0 100 rlineto  stroke
1600 350 moveto  0 100 rlineto  stroke
2400 350 moveto  0 100 rlineto  stroke
3200 350 moveto  0 100 rlineto  stroke
4000 350 moveto  0 100 rlineto  stroke
 
-150  500 moveto (-0,8) show
 650  500 moveto (0,0) show
1450  500 moveto (0,8) show
2250  500 moveto (1,6) show
%3050  500 moveto (2,4) show
%3850  500 moveto (3,2) show
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
 
 -50     0 moveto  100 0 rlineto  stroke
 -50  -800 moveto  100 0 rlineto  stroke
 -50 -1600 moveto  100 0 rlineto  stroke
 -50 -2400 moveto  100 0 rlineto  stroke
 -50 -3200 moveto  100 0 rlineto  stroke
 
-450  -100 moveto (  0,0) show
-450  -900 moveto (-0,8) show
-450 -1700 moveto (-1,6) show
%-450 -2500 moveto (-2,4) show

posax posay moveto
proc_xaxis_xchartl_coor
posbx posby moveto
90 rotate
proc_yaxis_xchartl_coor
-90 rotate

xchart6 2 eq {%xchart6=2
              4150 -200 moveto
              TBS (Parame\255) show
              4150 -400 moveto
              TBS (ter:) show TBIS ( Y) show TV
             } if %xchart6=2
 
xtrans2a neg ytrans2 neg translate %for text and grafic
 
 %1000 02 01 16 01-.03****************************************
 %ANF  PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200

xtrans2 ytrans2 translate %for text and grafic

/fakt 1000 def

5 1 60 {/i exch def %i=5,60
        AANi i get fakt mul
        BANi i get fakt mul
        i 05 eq {moveto} if
        i 06 ge 
        i 59 le and {lineto} if
        i 60 eq {lineto closepath stroke} if
       } for %i=5,60

/xytshift 320 array def %min 4x65
/xytshift
[
0  000  000 (380) %00
0  000  000 (385) %01
0  000  000 (390) %02
0  000  000 (395) %03
0 -375 -250 (400) %04
0  000  000 (405) %05
0  000  000 (410) %06
0  000  000 (415) %07
0  000  000 (420) %08
0 -500 -100 (425) %09

0  000  000 (430) %10
0  000  000 (435) %11
0  000  000 (440) %12
0  000  000 (445) %13
0 -350 -030 (450) %14
0  000  000 (455) %15
0  000  000 (460) %16
0  000  000 (465) %17
0  000  000 (470) %18
0  000  000 (475) %19

1 -300 -100 (480) %20
0  000  000 (485) %21
1 -300 -100 (490) %22
0  000  000 (495) %23
1 -300 -100 (500) %24
0  000  000 (505) %25
0  000  000 (510) %26
0  000  000 (515) %27
0  000  000 (520) %28
1 -250  060 (525) %29

0  000  000 (530) %30
0  000  000 (535) %31
0  000  000 (540) %32
0  000  000 (545) %33
0  000  000 (550) %34
0  000  000 (555) %35
0  000  000 (560) %36
0  000  000 (565) %37
0  000  000 (570) %38
1  050  060 (575) %39

0  000  000 (580) %40
0  000  000 (585) %41
0  000  000 (590) %42
0  000  000 (595) %43
1 -150  060 (600) %44
0  000  000 (605) %45
0  000  000 (610) %46
0  000  000 (615) %47
0  000  000 (620) %48
1 -150  060 (625) %49

0  000  000 (630) %50
0  000  000 (635) %51
0  000  000 (640) %52
0  000  000 (645) %53
0  000  000 (650) %54
0  000  000 (655) %55
0  000  000 (660) %56
0  000  000 (665) %57
0  000  000 (670) %58
0  000  000 (675) %59

0  000  000 (680) %60
0  000  000 (685) %61
0  000  000 (690) %62
0  000  000 (695) %63
1  100 -150 (700) %64
] def

0 1 64 {/i exch def %i=0,64
        /i40 i 4 mul def
        xytshift i40 get 1 eq {%xytshift=1
        0 0 0 0 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                              } if %xytshift=1
       } for %i=0,64

TBIV
0 1 59 {/i exch def %i=0,59
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshift i40 get 1 eq {%xytshift=1
       AANi i get fakt mul xytshift i41 get add
       BANi i get fakt mul xytshift i42 get add
       moveto xytshift i43 get show
                             } if %xytshift=1
       } for %i=0,59

%STOPX
newpath /xytshiftZ 320 array def %min 4x65
/xytshiftZ
[
1 -100  060 (700)    %0 normal
1  070  -50 (495c,E) %1
1  070  -50 (500c,E) %2
0  070  -50 (505c,E) %3
1  070  -50 (510c,E) %4
0  050 -100 (515c,E) %5
0  050 -100 (520c,E) %6
1  070  -50 (525c,E) %7
0  050 -100 (530c,E) %8
0  050 -100 (535c,E) %9
0  050 -100 (540c,E) %10
0  050 -100 (545c,E) %11
1  070  -50 (550c,E) %12
0  050 -100 (555c,E) %13
0  050 -100 (560c,E) %14 S
1  070  -50 (565c,E) %15
0 -100 -150 (400)    %16 see normal
] def

0 1 16 {/i exch def %i=0,16
        /i40 i 4 mul def
        xytshiftZ i40 get 1 eq {%xytshiftZ=1
        0 0 0 0 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                              } if %xytshiftZ=1
       } for %i=0,16
       
TBIV
0 1 16 {/i exch def %i=0,16
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshiftZ i40 get 1 eq {%xytshiftZ=1
       AANZi i get fakt mul xytshiftZ i41 get add
       BANZi i get fakt mul xytshiftZ i42 get add
       moveto xytshiftZ i43 get show
                              } if %xytshiftZ=1
       } for %i=0,16

/AANWLf AANWL fakt mul def
/BANWLf BANWL fakt mul def
/AANWCf AANWC fakt mul def
/BANWCf BANWC fakt mul def

/tabj 240 array def %20x12
/tabj
%00 01  02  03  04  05   06    07   08  09  10   12 
%JN lam la0 color        shix  shiy Na1 in1 Na2  in2 
[01 400 380 0.5 0.0 0.5  0100 -2000 (T) (S) ()   ()
 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) ()   ()
 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) ()   ()
 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l)
 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l)
 01 520 380 0.0 1.0 0.0 -0500  0150 (G) (e) ()   ()
 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l)
 01 540 380 0.0 0.0 0.0 -0150  0100 (M) (m) ()   ()
 01 570 380 0.0 0.0 0.0 -0200  0100 (L) (m) ()   ()
 01 575 380 1.0 1.0 0.0 -0100  0250 (Y) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) ()   ()
 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) ()   ()
] def

0 1 12 {/j exch def %j=0,12
        /j0 j 12 mul def
        /l01 j0 01 add def
        /l02 j0 02 add def
        /co1 j0 03 add def
        /co2 j0 04 add def
        /co3 j0 05 add def
        /po1 j0 06 add def
        /po2 j0 07 add def
        /n11 j0 08 add def
        /n12 j0 09 add def
        /n21 j0 10 add def
        /n22 j0 11 add def
        tabj j0 get 1 eq {%JN=1
                          /i tabj l01 get tabj l02 get sub 5 idiv def
                          /AANF AANi i get fakt mul def
                          /BANF BANi i get fakt mul def
                          j 12 eq {/AANF AANZi i get fakt mul def
                                   /BANF BANZi i get fakt mul def
                                  } if               
                          tabj co1 get tabj co2 get tabj co3 get
                          setrgbcolor
                          AANWLf BANWLf moveto
                          AANF BANF lineto stroke
                          xchart6 2 eq {%xchart6=2 %add text
                          j 2 le {AANWLf tabj po1 get add
                                  BANWLf tabj po2 get add moveto} %relative achromatic
                                 {AANF tabj po1 get add
                                  BANF tabj po2 get add moveto} ifelse
                          TIK tabj n11 get show
                          tabj n12 get (l) eq {(l) iy4}
                                              {tabj n12 get ishow} ifelse
                          TIK tabj n21 get show
                          tabj n22 get (l) eq {(l) iy4}
                                              {tabj n22 get ishow} ifelse
                                       } if %xchart6=2
                          } if %JN=1
        } for %j=0,12

newpath
0 0 0 setrgbcolor
xchart5 1 ge {%xchart5=1
              AANWLf BANWLf %achromatic
              40 0 360 arc stroke
              newpath
             } if %xchart5=1
xchart5 2 eq {%xchart5=2
              0 0 0 setrgbcolor
              AANWLf 000 add BANWLf 300 sub moveto %achromatic
              TBS TELi xchartx get show %text illuminant
             } if %xchart5=2

xchart3 0 eq {%Munsell
              AANWCf 550 add BANWCf 250 add moveto TBV (1) show
              AANWCf 350 add BANWCf 100 add moveto TBV (2) show
              AANWCf 200 add BANWCf 050 add moveto TBV (5) show
             } if %Munsell

xtrans2 neg ytrans2 neg translate %for text and grafic

 %ENDE: 2

             } if %xchartl=2

%*****************
xchartl 3 eq {%xchartl=3 %(a2,b2)

/xtrans3a 0500 def
/xtrans3  1300 def
/ytrans3  3200 def
xtrans3a ytrans3 translate %for text and grafic
 
0 400 moveto  4000  0 rlineto  stroke
0 400 moveto  0 -3600 rlineto  stroke
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
TBS
 
   0 350 moveto  0 100 rlineto  stroke
 800 350 moveto  0 100 rlineto  stroke
1600 350 moveto  0 100 rlineto  stroke
2400 350 moveto  0 100 rlineto  stroke
3200 350 moveto  0 100 rlineto  stroke
4000 350 moveto  0 100 rlineto  stroke
 
-150  500 moveto (-0,8) show
 650  500 moveto (0,0) show
1450  500 moveto (0,8) show
2250  500 moveto (1,6) show
%3050  500 moveto (2,4) show
%3850  500 moveto (3,2) show
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
 
 -50     0 moveto  100 0 rlineto  stroke
 -50  -800 moveto  100 0 rlineto  stroke
 -50 -1600 moveto  100 0 rlineto  stroke
 -50 -2400 moveto  100 0 rlineto  stroke
 -50 -3200 moveto  100 0 rlineto  stroke
 
-450  -100 moveto (  0,0) show
-450  -900 moveto (-0,8) show
%-450 -1700 moveto (-1,6) show
%-450 -2500 moveto (-2,4) show

posax posay moveto
proc_xaxis_xchartl_coor
posbx posby moveto
90 rotate
proc_yaxis_xchartl_coor
-90 rotate

xchart6 2 eq {%xchart6=2
              4150 300 moveto
              TBS (Parame\255) show
              4150 100 moveto
              TBS (ter:) show TBIS ( Y) show TV
             } if %xchart6=2

xtrans3a neg ytrans3 neg translate %for text and grafic
 
 %1000 02 01 16 01-.03****************************************
 %ANF  PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200

xtrans3 ytrans3 translate %for text and grafic

/fakt 1000 def

5 1 60 {/i exch def %i=5,60
        AANi i get fakt mul
        BANi i get fakt mul
        i 05 eq {moveto} if
        i 06 ge 
        i 59 le and {lineto} if
        i 60 eq {lineto closepath stroke} if
       } for %i=5,60

/xytshift 320 array def %min 4x65
/xytshift
[
0  000  000 (380) %00
0  000  000 (385) %01
0  000  000 (390) %02
0  000  000 (395) %03
0 -375 -250 (400) %04
0  000  000 (405) %05
0  000  000 (410) %06
0  000  000 (415) %07
0  000  000 (420) %08
0 -500 -100 (425) %09

0  000  000 (430) %10
0  000  000 (435) %11
0  000  000 (440) %12
0  000  000 (445) %13
0 -350 -030 (450) %14
0  000  000 (455) %15
0  000  000 (460) %16
0  000  000 (465) %17
1  100 -050 (470) %18
1 -300 -100 (475) %19

1 -300 -100 (480) %20
0  000  000 (485) %21
1 -300 -100 (490) %22
0  000  000 (495) %23
1 -300 -100 (500) %24
0  000  000 (505) %25
0  000  000 (510) %26
0  000  000 (515) %27
0  000  000 (520) %28
1 -200  060 (525) %29

0  000  000 (530) %30
0  000  000 (535) %31
0  000  000 (540) %32
0  000  000 (545) %33
0  000  000 (550) %34
0  000  000 (555) %35
0  000  000 (560) %36
0  000  000 (565) %37
0  000  000 (570) %38
1  000  060 (575) %39

0  000  000 (580) %40
0  000  000 (585) %41
0  000  000 (590) %42
0  000  000 (595) %43
1 -150  060 (600) %44
0  000  000 (605) %45
0  000  000 (610) %46
0  000  000 (615) %47
0  000  000 (620) %48
1 -150  060 (625) %49

0  000  000 (630) %50
0  000  000 (635) %51
0  000  000 (640) %52
0  000  000 (645) %53
0  000  000 (650) %54
0  000  000 (655) %55
0  000  000 (660) %56
0  000  000 (665) %57
0  000  000 (670) %58
0  000  000 (675) %59

0  000  000 (680) %60
0  000  000 (685) %61
0  000  000 (690) %62
0  000  000 (695) %63
1  100 -150 (700) %64
] def

0 1 64 {/i exch def %i=5,1,60
        /i40 i 4 mul def
        xytshift i40 get 1 eq {%xytshift=1
        0 0 0 0 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                               } if %xytshift=1
       } for %i=5,1,60

TBIV
0 1 59 {/i exch def %i=0,65
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshift i40 get 1 eq {%xytshift=1
       AANi i get fakt mul xytshift i41 get add
       BANi i get fakt mul xytshift i42 get add
       moveto xytshift i43 get show
       } if %xytshift=1
       } for %i=0,65


newpath /xytshiftZ 320 array def %min 4x65
/xytshiftZ
[
1 -100  060 (700)    %0 normal
1  070  -50 (495c,E) %1
1  070  -50 (500c,E) %2
0  070  -50 (505c,E) %3
1  070  -50 (510c,E) %4
0  050 -100 (515c,E) %5
0  050 -100 (520c,E) %6
1  070  -50 (525c,E) %7
0  050 -100 (530c,E) %8
0  050 -100 (535c,E) %9
0  050 -100 (540c,E) %10
0  050 -100 (545c,E) %11
1  070  -50 (550c,E) %12
0  050 -100 (555c,E) %13
0  050 -100 (560c,E) %14 S
1  070  -50 (565c,E) %15
0 -100 -150 (400)    %16 see normal
] def

0 1 16 {/i exch def %i=0,1,16
        /i40 i 4 mul def
        xytshiftZ i40 get 1 eq {%xytshiftZ=1
        0 0 0 0 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                                } if %xytshiftZ=1
       } for %i=5,1,60
       
TBIV
0 1 16 {/i exch def %i=0,16
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshiftZ i40 get 1 eq {%xytshiftZ=1
       AANZi i get fakt mul xytshiftZ i41 get add
       BANZi i get fakt mul xytshiftZ i42 get add
       moveto xytshiftZ i43 get show
                              } if %xytshiftZ=1
       } for %i=0,16

/AANWLf AANWL fakt mul def
/BANWLf BANWL fakt mul def
/AANWCf AANWC fakt mul def
/BANWCf BANWC fakt mul def

/tabj 240 array def %20x12
/tabj
%00 01  02  03  04  05   06    07   08  09  10   12 
%JN lam la0 color        shix  shiy Na1 in1 Na2  in2 
[01 400 380 0.5 0.0 0.5  1700 -1500 (T) (S) ()   ()
 01 450 380 1.0 0.0 1.0  1100 -1500 (S) (m) ()   ()
 01 475 380 0.0 0.0 1.0  0500 -1500 (B) (e) ()   ()
 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l)
 01 505 380 0.0 0.0 0.0 -0750  0050 (V) (l) (=S) (l)
 01 520 380 0.0 1.0 0.0 -0500  0250 (G) (e) ()   ()
 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l)
 01 540 380 0.0 0.0 0.0 -0150  0100 (M) (m) ()   ()
 01 570 380 0.0 0.0 0.0 -0200  0100 (L) (m) ()   ()
 01 575 380 1.0 1.0 0.0 -0100  0250 (Y) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0900  0100 (P) (L) ()   ()
 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) ()   ()
] def

0 1 12 {/j exch def %j=0,12
        /j0 j 12 mul def
        /l01 j0 01 add def
        /l02 j0 02 add def
        /co1 j0 03 add def
        /co2 j0 04 add def
        /co3 j0 05 add def
        /po1 j0 06 add def
        /po2 j0 07 add def
        /n11 j0 08 add def
        /n12 j0 09 add def
        /n21 j0 10 add def
        /n22 j0 11 add def
        tabj j0 get 1 eq {%JN=1
                          /i tabj l01 get tabj l02 get sub 5 idiv def
                          /AANF AANi i get fakt mul def
                          /BANF BANi i get fakt mul def
                          j 12 eq {/AANF AANZi i get fakt mul def
                                   /BANF BANZi i get fakt mul def
                                  } if               
                          tabj co1 get tabj co2 get tabj co3 get
                          setrgbcolor
                          AANWLf BANWLf moveto
                          AANF BANF lineto stroke
                          xchart6 2 eq {%xchart6=2 %add text
                          j 2 le {AANWLf tabj po1 get add
                                  BANWLf tabj po2 get add moveto} %relative achromatic
                                 {AANF tabj po1 get add
                                  BANF tabj po2 get add moveto} ifelse
                          TIK tabj n11 get show
                          tabj n12 get (l) eq {(l) iy4}
                                              {tabj n12 get ishow} ifelse
                          TIK tabj n21 get show
                          tabj n22 get (l) eq {(l) iy4}
                                              {tabj n22 get ishow} ifelse
                                       } if %xchart6=2
                          } if %JN=1
        } for %j=0,12

newpath
0 0 0 setrgbcolor
xchart5 1 ge {%xchart5=1
              AANWLf BANWLf %achromatic
              40 0 360 arc stroke
              newpath
             } if %xchart5=1
xchart5 2 eq {%xchart5=2
              0 0 0 setrgbcolor
              AANWLf 000 add BANWLf 300 sub moveto %achromatic
              TBS TELi xchartx get show %text illuminant
             } if %xchart5=2

xchart3 0 eq {%Munsell
              AANWCf 550 add BANWCf 250 add moveto TBV (1) show
              AANWCf 350 add BANWCf 100 add moveto TBV (2) show
              AANWCf 200 add BANWCf 050 add moveto TBV (5) show
             } if %Munsell

xtrans3 neg ytrans3 neg translate %for text and grafic
 %ENDE: 2

             } if %xchartl=3

%***********************************************************
xchartl 4 eq {%xchartl=4 %(a3,b3)

/xtrans4a 0500 def
/xtrans4  1300 def
/ytrans4  3200 def
xtrans4a ytrans4 translate %for text and grafic
 
0 400 moveto  4000  0 rlineto  stroke
0 400 moveto  0 -3600 rlineto  stroke
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
TBS
 
   0 350 moveto  0 100 rlineto  stroke
 800 350 moveto  0 100 rlineto  stroke
1600 350 moveto  0 100 rlineto  stroke
2400 350 moveto  0 100 rlineto  stroke
3200 350 moveto  0 100 rlineto  stroke
4000 350 moveto  0 100 rlineto  stroke
 
-150  500 moveto (-0,8) show
 650  500 moveto (0,0) show
1450  500 moveto (0,8) show
2250  500 moveto (1,6) show
%3050  500 moveto (2,4) show
%3850  500 moveto (3,2) show
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
 
 -50     0 moveto  100 0 rlineto  stroke
 -50  -800 moveto  100 0 rlineto  stroke
 -50 -1600 moveto  100 0 rlineto  stroke
 -50 -2400 moveto  100 0 rlineto  stroke
 -50 -3200 moveto  100 0 rlineto  stroke
 
-450  -100 moveto (  0,0) show
-450  -900 moveto (-0,8) show
%-450 -1700 moveto (-1,6) show
%-450 -2500 moveto (-2,4) show

posax posay moveto
proc_xaxis_xchartl_coor
posbx posby moveto
90 rotate
proc_yaxis_xchartl_coor
-90 rotate

xchart6 2 eq {%xchart6=2
              4150 -200 moveto
              TBS (Parame\255) show
              4150 -400 moveto
              TBS (ter:) show TBIS ( Y) show TV
             } if %xchart6=2
 
xtrans4a neg ytrans4 neg translate %for text and grafic
 
 %1000 02 01 16 01-.03****************************************
 %ANF  PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200

xtrans4 ytrans4 translate %for text and grafic

/fakt 1000 def

5 1 60 {/i exch def %i=5,60
        AANi i get fakt mul
        BANi i get fakt mul
        i 05 eq {moveto} if
        i 06 ge 
        i 59 le and {lineto} if
        i 60 eq {lineto closepath stroke} if
       } for %i=5,60

/xytshift 320 array def %min 4x65
/xytshift
[
0  000  000 (380) %00
0  000  000 (385) %01
0  000  000 (390) %02
0  000  000 (395) %03
0 -375 -250 (400) %04
0  000  000 (405) %05
0  000  000 (410) %06
0  000  000 (415) %07
0  000  000 (420) %08
0 -500 -100 (425) %09

0  000  000 (430) %10
0  000  000 (435) %11
0  000  000 (440) %12
0  000  000 (445) %13
0 -350 -030 (450) %14
0  000  000 (455) %15
0  000  000 (460) %16
0  000  000 (465) %17
1 -300 -100 (470) %18
1 -300 -100 (475) %19

1 -300 -100 (480) %20
0  000  000 (485) %21
1 -300 -100 (490) %22
0  000  000 (495) %23
1 -300 -100 (500) %24
0  000  000 (505) %25
0  000  000 (510) %26
0  000  000 (515) %27
0  000  000 (520) %28
1 -280  060 (525) %29

0  000  000 (530) %30
0  000  000 (535) %31
0  000  000 (540) %32
0  000  000 (545) %33
0  000  000 (550) %34
0  000  000 (555) %35
0  000  000 (560) %36
0  000  000 (565) %37
0  000  000 (570) %38
1  000  060 (575) %39

0  000  000 (580) %40
0  000  000 (585) %41
0  000  000 (590) %42
0  000  000 (595) %43
1 -150  060 (600) %44
0  000  000 (605) %45
0  000  000 (610) %46
0  000  000 (615) %47
0  000  000 (620) %48
1 -150  060 (625) %49

0  000  000 (630) %50
0  000  000 (635) %51
0  000  000 (640) %52
0  000  000 (645) %53
0  000  000 (650) %54
0  000  000 (655) %55
0  000  000 (660) %56
0  000  000 (665) %57
0  000  000 (670) %58
0  000  000 (675) %59

0  000  000 (680) %60
0  000  000 (685) %61
0  000  000 (690) %62
0  000  000 (695) %63
1  100 -150 (700) %64
] def

0 1 64 {/i exch def %i=0,64
        /i40 i 4 mul def
        xytshift i40 get 1 eq {%xytshift=1
        0 0 0 0 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                              } if %xytshift=1
       } for %i=0,64

TBIV
0 1 59 {/i exch def %i=0,59
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshift i40 get 1 eq {%xytshift=1
       AANi i get fakt mul xytshift i41 get add
       BANi i get fakt mul xytshift i42 get add
       moveto xytshift i43 get show
                             } if %xytshift=1
       } for %i=0,59

%STOPX
newpath /xytshiftZ 320 array def %min 4x65
/xytshiftZ
[
1 -100  060 (700)    %0 normal
1  070  -50 (495c,E) %1
1  070  -50 (500c,E) %2
0  070  -50 (505c,E) %3
1  070  -50 (510c,E) %4
0  050 -100 (515c,E) %5
0  050 -100 (520c,E) %6
1  070  -50 (525c,E) %7
0  050 -100 (530c,E) %8
0  050 -100 (535c,E) %9
0  050 -100 (540c,E) %10
0  050 -100 (545c,E) %11
1  070  -50 (550c,E) %12
0  050 -100 (555c,E) %13
0  050 -100 (560c,E) %14 S
1  070  -50 (565c,E) %15
0 -100 -150 (400)    %16 see normal
] def

0 1 16 {/i exch def %i=0,16
        /i40 i 4 mul def
        xytshiftZ i40 get 1 eq {%xytshiftZ=1
        0 0 0 0 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                              } if %xytshiftZ=1
       } for %i=0,16
       
TBIV
0 1 16 {/i exch def %i=0,16
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshiftZ i40 get 1 eq {%xytshiftZ=1
       AANZi i get fakt mul xytshiftZ i41 get add
       BANZi i get fakt mul xytshiftZ i42 get add
       moveto xytshiftZ i43 get show
                              } if %xytshiftZ=1
       } for %i=0,16

/AANWLf AANWL fakt mul def
/BANWLf BANWL fakt mul def
/AANWCf AANWC fakt mul def
/BANWCf BANWC fakt mul def

/tabj 240 array def %20x12
/tabj
%00 01  02  03  04  05   06    07   08  09  10   12 
%JN lam la0 color        shix  shiy Na1 in1 Na2  in2 
[01 400 380 0.5 0.0 0.5  0000 -2100 (T) (S) ()   ()
 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) ()   ()
 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) ()   ()
 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l)
 01 505 380 0.0 0.0 0.0 -0750  0000 (V) (l) (=S) (l)
 01 520 380 0.0 1.0 0.0 -0550  0150 (G) (e) ()   ()
 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l)
 01 540 380 0.0 0.0 0.0 -0200  0100 (M) (m) ()   ()
 01 570 380 0.0 0.0 0.0 -0200  0100 (L) (m) ()   ()
 01 575 380 1.0 1.0 0.0 -0100  0250 (Y) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) ()   ()
 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) ()   ()
] def

0 1 12 {/j exch def %j=0,12
        /j0 j 12 mul def
        /l01 j0 01 add def
        /l02 j0 02 add def
        /co1 j0 03 add def
        /co2 j0 04 add def
        /co3 j0 05 add def
        /po1 j0 06 add def
        /po2 j0 07 add def
        /n11 j0 08 add def
        /n12 j0 09 add def
        /n21 j0 10 add def
        /n22 j0 11 add def
        tabj j0 get 1 eq {%JN=1
                          /i tabj l01 get tabj l02 get sub 5 idiv def
                          /AANF AANi i get fakt mul def
                          /BANF BANi i get fakt mul def
                          j 12 eq {/AANF AANZi i get fakt mul def
                                   /BANF BANZi i get fakt mul def
                                  } if               
                          tabj co1 get tabj co2 get tabj co3 get
                          setrgbcolor
                          AANWLf BANWLf moveto
                          AANF BANF lineto stroke
                          xchart6 2 eq {%xchart6=2 %add text
                          j 2 le {AANWLf tabj po1 get add
                                  BANWLf tabj po2 get add moveto} %relative achromatic
                                 {AANF tabj po1 get add
                                  BANF tabj po2 get add moveto} ifelse
                          TIK tabj n11 get show
                          tabj n12 get (l) eq {(l) iy4}
                                              {tabj n12 get ishow} ifelse
                          TIK tabj n21 get show
                          tabj n22 get (l) eq {(l) iy4}
                                              {tabj n22 get ishow} ifelse
                                       } if %xchart6=2
                          } if %JN=1
        } for %j=0,12

newpath
0 0 0 setrgbcolor
xchart5 1 ge {%xchart5=1
              AANWLf BANWLf %achromatic
              40 0 360 arc stroke
              newpath
             } if %xchart5=1
xchart5 2 eq {%xchart5=2
              0 0 0 setrgbcolor
              AANWLf 000 add BANWLf 300 sub moveto %achromatic
              TBS TELi xchartx get show %text illuminant
             } if %xchart5=2

xchart3 0 eq {%Munsell
              AANWCf 550 add BANWCf 250 add moveto TBV (1) show
              AANWCf 350 add BANWCf 100 add moveto TBV (2) show
              AANWCf 200 add BANWCf 050 add moveto TBV (5) show
             } if %Munsell

xtrans4 neg ytrans4 neg translate %for text and grafic

 %ENDE: 2

             } if %xchartl=4

%***********************************************************
xchartl 5 eq {%xchartl=5 %(a4,b4)

/xtrans5a 0500 def
/xtrans5  1300 def
/ytrans5  3200 def
xtrans5a ytrans5 translate %for text and grafic
 
0 400 moveto  4000  0 rlineto  stroke
0 400 moveto  0 -3600 rlineto  stroke
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
TBS
 
   0 350 moveto  0 100 rlineto  stroke
 800 350 moveto  0 100 rlineto  stroke
1600 350 moveto  0 100 rlineto  stroke
2400 350 moveto  0 100 rlineto  stroke
3200 350 moveto  0 100 rlineto  stroke
4000 350 moveto  0 100 rlineto  stroke
 
-150  500 moveto (-0,8) show
 650  500 moveto (0,0) show
1450  500 moveto (0,8) show
2250  500 moveto (1,6) show
%3050  500 moveto (2,4) show
%3850  500 moveto (3,2) show
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
 
 -50     0 moveto  100 0 rlineto  stroke
 -50  -800 moveto  100 0 rlineto  stroke
 -50 -1600 moveto  100 0 rlineto  stroke
 -50 -2400 moveto  100 0 rlineto  stroke
 -50 -3200 moveto  100 0 rlineto  stroke
 
-450  -100 moveto (  0,0) show
-450  -900 moveto (-0,8) show
%-450 -1700 moveto (-1,6) show
%-450 -2500 moveto (-2,4) show

posax posay moveto
proc_xaxis_xchartl_coor
posbx posby moveto
90 rotate
proc_yaxis_xchartl_coor
-90 rotate

xchart6 2 eq {%xchart6=2
              4150 -200 moveto
              TBS (Parame\255) show
              4150 -400 moveto
              TBS (ter:) show TBIS ( Y) show TV
             } if %xchart6=2
 
xtrans5a neg ytrans5 neg translate %for text and grafic
 
 %1000 02 01 16 01-.03****************************************
 %ANF  PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200

xtrans5 ytrans5 translate %for text and grafic

/fakt 1000 def

5 1 60 {/i exch def %i=5,60
        AANi i get fakt mul
        BANi i get fakt mul
        i 05 eq {moveto} if
        i 06 ge 
        i 59 le and {lineto} if
        i 60 eq {lineto closepath stroke} if
       } for %i=5,60

/xytshift 320 array def %min 4x65
/xytshift
[
0  000  000 (380) %00
0  000  000 (385) %01
0  000  000 (390) %02
0  000  000 (395) %03
0 -375 -250 (400) %04
0  000  000 (405) %05
0  000  000 (410) %06
0  000  000 (415) %07
0  000  000 (420) %08
0 -500 -100 (425) %09

0  000  000 (430) %10
0  000  000 (435) %11
0  000  000 (440) %12
0  000  000 (445) %13
0 -350 -030 (450) %14
0  000  000 (455) %15
0  000  000 (460) %16
0  000  000 (465) %17
1 -300 -100 (470) %18
1  050 -050 (475) %19

1 -300 -100 (480) %20
0  000  000 (485) %21
1 -300 -100 (490) %22
0  000  000 (495) %23
1 -300 -050 (500) %24
0  000  000 (505) %25
0  000  000 (510) %26
0  000  000 (515) %27
0  000  000 (520) %28
1 -300  060 (525) %29

0  000  000 (530) %30
0  000  000 (535) %31
0  000  000 (540) %32
0  000  000 (545) %33
0  000  000 (550) %34
0  000  000 (555) %35
0  000  000 (560) %36
0  000  000 (565) %37
0  000  000 (570) %38
1  050  060 (575) %39

0  000  000 (580) %40
0  000  000 (585) %41
0  000  000 (590) %42
0  000  000 (595) %43
1 -150  060 (600) %44
0  000  000 (605) %45
0  000  000 (610) %46
0  000  000 (615) %47
0  000  000 (620) %48
1 -150  060 (625) %49

0  000  000 (630) %50
0  000  000 (635) %51
0  000  000 (640) %52
0  000  000 (645) %53
0  000  000 (650) %54
0  000  000 (655) %55
0  000  000 (660) %56
0  000  000 (665) %57
0  000  000 (670) %58
0  000  000 (675) %59

0  000  000 (680) %60
0  000  000 (685) %61
0  000  000 (690) %62
0  000  000 (695) %63
1  100 -150 (700) %64
] def

0 1 64 {/i exch def %i=0,64
        /i40 i 4 mul def
        xytshift i40 get 1 eq {%xytshift=1
        0 0 0 0 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                              } if %xytshift=1
       } for %i=0,64

TBIV
0 1 59 {/i exch def %i=0,59
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshift i40 get 1 eq {%xytshift=1
       AANi i get fakt mul xytshift i41 get add
       BANi i get fakt mul xytshift i42 get add
       moveto xytshift i43 get show
                             } if %xytshift=1
       } for %i=0,59

%STOPX
newpath /xytshiftZ 320 array def %min 4x65
/xytshiftZ
[
1 -100  060 (700)    %0 normal
1  070  -50 (495c,E) %1
1  070  -50 (500c,E) %2
0  070  -50 (505c,E) %3
1  070  -50 (510c,E) %4
0  050 -100 (515c,E) %5
0  050 -100 (520c,E) %6
1  070  -50 (525c,E) %7
0  050 -100 (530c,E) %8
0  050 -100 (535c,E) %9
0  050 -100 (540c,E) %10
0  050 -100 (545c,E) %11
1  070  -50 (550c,E) %12
0  050 -100 (555c,E) %13
0  050 -100 (560c,E) %14 S
1  070  -50 (565c,E) %15
0 -100 -150 (400)    %16 see normal
] def

0 1 16 {/i exch def %i=0,16
        /i40 i 4 mul def
        xytshiftZ i40 get 1 eq {%xytshiftZ=1
        0 0 0 0 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                              } if %xytshiftZ=1
       } for %i=0,16
       
TBIV
0 1 16 {/i exch def %i=0,16
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshiftZ i40 get 1 eq {%xytshiftZ=1
       AANZi i get fakt mul xytshiftZ i41 get add
       BANZi i get fakt mul xytshiftZ i42 get add
       moveto xytshiftZ i43 get show
                              } if %xytshiftZ=1
       } for %i=0,16

/AANWLf AANWL fakt mul def
/BANWLf BANWL fakt mul def
/AANWCf AANWC fakt mul def
/BANWCf BANWC fakt mul def

/tabj 240 array def %20x12
/tabj
%00 01  02  03  04  05   06    07   08  09  10   12 
%JN lam la0 color        shix  shiy Na1 in1 Na2  in2 
[01 400 380 0.5 0.0 0.5  0100 -1500 (T) (S) ()   ()
 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) ()   ()
 01 475 380 0.0 0.0 1.0 -0900 -1300 (B) (e) ()   ()
 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l)
 01 505 380 0.0 0.0 0.0 -0700  0080 (V) (l) (=S) (l)
 01 520 380 0.0 1.0 0.0 -0500  0300 (G) (e) ()   ()
 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l)
 01 540 380 0.0 0.0 0.0 -0200  0100 (M) (m) ()   ()
 01 570 380 0.0 0.0 0.0 -0200  0100 (L) (m) ()   ()
 01 575 380 1.0 1.0 0.0 -0100  0250 (Y) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0800  0050 (P) (L) ()   ()
 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) ()   ()
] def

0 1 12 {/j exch def %j=0,12
        /j0 j 12 mul def
        /l01 j0 01 add def
        /l02 j0 02 add def
        /co1 j0 03 add def
        /co2 j0 04 add def
        /co3 j0 05 add def
        /po1 j0 06 add def
        /po2 j0 07 add def
        /n11 j0 08 add def
        /n12 j0 09 add def
        /n21 j0 10 add def
        /n22 j0 11 add def
        tabj j0 get 1 eq {%JN=1
                          /i tabj l01 get tabj l02 get sub 5 idiv def
                          /AANF AANi i get fakt mul def
                          /BANF BANi i get fakt mul def
                          j 12 eq {/AANF AANZi i get fakt mul def
                                   /BANF BANZi i get fakt mul def
                                  } if               
                          tabj co1 get tabj co2 get tabj co3 get
                          setrgbcolor
                          AANWLf BANWLf moveto
                          AANF BANF lineto stroke
                          xchart6 2 eq {%xchart6=2 %add text
                          j 2 le {AANWLf tabj po1 get add
                                  BANWLf tabj po2 get add moveto} %relative achromatic
                                 {AANF tabj po1 get add
                                  BANF tabj po2 get add moveto} ifelse
                          TIK tabj n11 get show
                          tabj n12 get (l) eq {(l) iy4}
                                              {tabj n12 get ishow} ifelse
                          TIK tabj n21 get show
                          tabj n22 get (l) eq {(l) iy4}
                                              {tabj n22 get ishow} ifelse
                                       } if %xchart6=2
                          } if %JN=1
        } for %j=0,12

newpath
0 0 0 setrgbcolor
xchart5 1 ge {%xchart5=1
              AANWLf BANWLf %achromatic
              40 0 360 arc stroke
              newpath
             } if %xchart5=1
xchart5 2 eq {%xchart5=2
              0 0 0 setrgbcolor
              AANWLf 000 add BANWLf 300 sub moveto %achromatic
              TBS TELi xchartx get show %text illuminant
             } if %xchart5=2

xchart3 0 eq {%Munsell
              AANWCf 550 add BANWCf 250 add moveto TBV (1) show
              AANWCf 350 add BANWCf 100 add moveto TBV (2) show
              AANWCf 200 add BANWCf 050 add moveto TBV (5) show
             } if %Munsell

xtrans5 neg ytrans5 neg translate %for text and grafic
 %ENDE: 2

             } if %xchartl=5

%***********************************************************
xchartl 6 eq {%xchartl=6 %(a5,b5)

/xtrans6a 0500 def
/xtrans6  1500 def
/ytrans6  3200 def
xtrans6a ytrans6 translate %for text and grafic
 
0 400 moveto  4000  0 rlineto  stroke
0 400 moveto  0 -3600 rlineto  stroke
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
TBS
 
   0 350 moveto  0 100 rlineto  stroke
 800 350 moveto  0 100 rlineto  stroke
1600 350 moveto  0 100 rlineto  stroke
2400 350 moveto  0 100 rlineto  stroke
3200 350 moveto  0 100 rlineto  stroke
4000 350 moveto  0 100 rlineto  stroke
 
-150  500 moveto (-0,8) show
 650  500 moveto (0,0) show
1450  500 moveto (0,8) show
2250  500 moveto (1,6) show
%3050  500 moveto (2,4) show
%3850  500 moveto (3,2) show
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
 
 -50     0 moveto  100 0 rlineto  stroke
 -50  -800 moveto  100 0 rlineto  stroke
 -50 -1600 moveto  100 0 rlineto  stroke
 -50 -2400 moveto  100 0 rlineto  stroke
 -50 -3200 moveto  100 0 rlineto  stroke
 
-450  -100 moveto (  0,0) show
-450  -900 moveto (-0,8) show
%-450 -1700 moveto (-1,6) show
%-450 -2500 moveto (-2,4) show

posax 100 sub posay moveto
proc_xaxis_xchartl_coor
posbx posby moveto
90 rotate
proc_yaxis_xchartl_coor
-90 rotate

xchart6 2 eq {%xchart6=2
              4150 -200 moveto
              TBS (Parame\255) show
              4150 -400 moveto
              TBS (ter:) show TBIS ( Y) show TV
             } if %xchart6=2
 
xtrans6a neg ytrans6 neg translate %for text and grafic
 
 %1000 02 01 16 01-.03****************************************
 %ANF  PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200

xtrans6 ytrans6 translate %for text and grafic

/fakt 1000 def

5 1 60 {/i exch def %i=5,60
        AANi i get fakt mul
        BANi i get fakt mul
        i 05 eq {moveto} if
        i 06 ge 
        i 59 le and {lineto} if
        i 60 eq {lineto closepath stroke} if
       } for %i=5,60

/xytshift 320 array def %min 4x65
/xytshift
[
0  000  000 (380) %00
0  000  000 (385) %01
0  000  000 (390) %02
0  000  000 (395) %03
0 -375 -250 (400) %04
0  000  000 (405) %05
0  000  000 (410) %06
0  000  000 (415) %07
0  000  000 (420) %08
0 -500 -100 (425) %09

0  000  000 (430) %10
0  000  000 (435) %11
0  000  000 (440) %12
0  000  000 (445) %13
0 -350 -030 (450) %14
0  000  000 (455) %15
0  000  000 (460) %16
0  000  000 (465) %17
1 -300 -100 (470) %18
1  050  100 (475) %19

1 -300 -100 (480) %20
0  000  000 (485) %21
1 -300 -100 (490) %22
0  000  000 (495) %23
1 -300 -100 (500) %24
0  000  000 (505) %25
0  000  000 (510) %26
0  000  000 (515) %27
0  000  000 (520) %28
1 -200  060 (525) %29

0  000  000 (530) %30
0  000  000 (535) %31
0  000  000 (540) %32
0  000  000 (545) %33
0  000  000 (550) %34
0  000  000 (555) %35
0  000  000 (560) %36
0  000  000 (565) %37
0  000  000 (570) %38
1  000  060 (575) %39

0  000  000 (580) %40
0  000  000 (585) %41
0  000  000 (590) %42
0  000  000 (595) %43
1 -150  060 (600) %44
0  000  000 (605) %45
0  000  000 (610) %46
0  000  000 (615) %47
0  000  000 (620) %48
1 -150  060 (625) %49

0  000  000 (630) %50
0  000  000 (635) %51
0  000  000 (640) %52
0  000  000 (645) %53
0  000  000 (650) %54
0  000  000 (655) %55
0  000  000 (660) %56
0  000  000 (665) %57
0  000  000 (670) %58
0  000  000 (675) %59

0  000  000 (680) %60
0  000  000 (685) %61
0  000  000 (690) %62
0  000  000 (695) %63
1  100 -150 (700) %64
] def

0 1 64 {/i exch def %i=0,64
        /i40 i 4 mul def
        xytshift i40 get 1 eq {%xytshift=1
        0 0 0 0 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                              } if %xytshift=1
       } for %i=0,64

TBIV
0 1 59 {/i exch def %i=0,59
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshift i40 get 1 eq {%xytshift=1
       AANi i get fakt mul xytshift i41 get add
       BANi i get fakt mul xytshift i42 get add
       moveto xytshift i43 get show
                             } if %xytshift=1
       } for %i=0,59

%STOPX
newpath /xytshiftZ 320 array def %min 4x65
/xytshiftZ
[
1 -100  060 (700)    %0 normal
0  070  -50 (495c,E) %1
1  070  -50 (500c,E) %2
0  070  -50 (505c,E) %3
1  070  -50 (510c,E) %4
0  050 -100 (515c,E) %5
0  050 -100 (520c,E) %6
1  070  -50 (525c,E) %7
0  050 -100 (530c,E) %8
0  050 -100 (535c,E) %9
0  050 -100 (540c,E) %10
0  050 -100 (545c,E) %11
1  070  -50 (550c,E) %12
0  050 -100 (555c,E) %13
0  050 -100 (560c,E) %14 S
1  070  -50 (565c,E) %15
0 -100 -150 (400)    %16 see normal
] def

0 1 16 {/i exch def %i=0,16
        /i40 i 4 mul def
        xytshiftZ i40 get 1 eq {%xytshiftZ=1
        0 0 0 0 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                              } if %xytshiftZ=1
       } for %i=0,16
       
TBIV
0 1 16 {/i exch def %i=0,16
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshiftZ i40 get 1 eq {%xytshiftZ=1
       AANZi i get fakt mul xytshiftZ i41 get add
       BANZi i get fakt mul xytshiftZ i42 get add
       moveto xytshiftZ i43 get show
                              } if %xytshiftZ=1
       } for %i=0,16

/AANWLf AANWL fakt mul def
/BANWLf BANWL fakt mul def
/AANWCf AANWC fakt mul def
/BANWCf BANWC fakt mul def

/tabj 240 array def %20x12
/tabj
%00 01  02  03  04  05   06    07   08  09  10   12 
%JN lam la0 color        shix  shiy Na1 in1 Na2  in2 
[01 400 380 0.5 0.0 0.5  1100 -2000 (T) (S) ()   ()
 01 450 380 1.0 0.0 1.0  0600 -2000 (S) (m) ()   ()
 01 475 380 0.0 0.0 1.0 -0300 -2000 (B) (e) ()   ()
 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l)
 01 505 380 0.0 0.0 0.0 -0750  0000 (V) (l) (=S) (l)
 01 520 380 0.0 1.0 0.0 -0500  0150 (G) (e) ()   ()
 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l)
 01 540 380 0.0 0.0 0.0 -0100  0100 (M) (m) ()   ()
 01 570 380 0.0 0.0 0.0 -0200  0100 (L) (m) ()   ()
 01 575 380 1.0 1.0 0.0 -0100  0250 (Y) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) ()   ()
 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) ()   ()
] def

0 1 12 {/j exch def %j=0,12
        /j0 j 12 mul def
        /l01 j0 01 add def
        /l02 j0 02 add def
        /co1 j0 03 add def
        /co2 j0 04 add def
        /co3 j0 05 add def
        /po1 j0 06 add def
        /po2 j0 07 add def
        /n11 j0 08 add def
        /n12 j0 09 add def
        /n21 j0 10 add def
        /n22 j0 11 add def
        tabj j0 get 1 eq {%JN=1
                          /i tabj l01 get tabj l02 get sub 5 idiv def
                          /AANF AANi i get fakt mul def
                          /BANF BANi i get fakt mul def
                          j 12 eq {/AANF AANZi i get fakt mul def
                                   /BANF BANZi i get fakt mul def
                                  } if               
                          tabj co1 get tabj co2 get tabj co3 get
                          setrgbcolor
                          AANWLf BANWLf moveto
                          AANF BANF lineto stroke
                          xchart6 2 eq {%xchart6=2 %add text
                          j 2 le {AANWLf tabj po1 get add
                                  BANWLf tabj po2 get add moveto} %relative achromatic
                                 {AANF tabj po1 get add
                                  BANF tabj po2 get add moveto} ifelse
                          TIK tabj n11 get show
                          tabj n12 get (l) eq {(l) iy4}
                                              {tabj n12 get ishow} ifelse
                          TIK tabj n21 get show
                          tabj n22 get (l) eq {(l) iy4}
                                              {tabj n22 get ishow} ifelse
                                       } if %xchart6=2
                          } if %JN=1
        } for %j=0,12

newpath
0 0 0 setrgbcolor
xchart5 1 ge {%xchart5=1
              AANWLf BANWLf %achromatic
              40 0 360 arc stroke
              newpath
             } if %xchart5=1
xchart5 2 eq {%xchart5=2
              0 0 0 setrgbcolor
              AANWLf 000 add BANWLf 300 sub moveto %achromatic
              TBS TELi xchartx get show %text illuminant
             } if %xchart5=2

xchart3 0 eq {%Munsell
              AANWCf 550 add BANWCf 250 add moveto TBV (1) show
              AANWCf 350 add BANWCf 100 add moveto TBV (2) show
              AANWCf 200 add BANWCf 050 add moveto TBV (5) show
             } if %Munsell

xtrans6 neg ytrans6 neg translate %for text and grafic
 %ENDE: 2

             } if %xchartl=6

%***********************************************************
xchartl 7 eq {%xchartl=7 %(a6,b6)

/xtrans7a 0500 def
/xtrans7  1300 def
/ytrans7  3200 def
xtrans7a ytrans7 translate %for text and grafic
 
0 400 moveto  4000  0 rlineto  stroke
0 400 moveto  0 -3600 rlineto  stroke
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
TBS
 
   0 350 moveto  0 100 rlineto  stroke
 800 350 moveto  0 100 rlineto  stroke
1600 350 moveto  0 100 rlineto  stroke
2400 350 moveto  0 100 rlineto  stroke
3200 350 moveto  0 100 rlineto  stroke
4000 350 moveto  0 100 rlineto  stroke
 
-150  500 moveto (-0,8) show
 650  500 moveto (0,0) show
1450  500 moveto (0,8) show
2250  500 moveto (1,6) show
%3050  500 moveto (2,4) show
%3850  500 moveto (3,2) show
 
%! 100 S-Einheiten = 2000 Skalen-Einheiten
 
 -50     0 moveto  100 0 rlineto  stroke
 -50  -800 moveto  100 0 rlineto  stroke
 -50 -1600 moveto  100 0 rlineto  stroke
 -50 -2400 moveto  100 0 rlineto  stroke
 -50 -3200 moveto  100 0 rlineto  stroke
 
-450  -100 moveto (  0,0) show
-450  -900 moveto (-0,8) show
%-450 -1700 moveto (-1,6) show
%-450 -2500 moveto (-2,4) show

posax posay moveto
proc_xaxis_xchartl_coor
posbx posby moveto
90 rotate
proc_yaxis_xchartl_coor
-90 rotate

xchart6 2 eq {%xchart6=2
              4150 300 moveto
              TBS (Parame\255) show
              4150 100 moveto
              TBS (ter:) show TBIS ( Y) show TV
             } if %xchart6=2
 
xtrans7a neg ytrans7 neg translate %for text and grafic
 
 %1000 02 01 16 01-.03****************************************
 %ANF  PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200

xtrans7 ytrans7 translate %for text and grafic

/fakt 1000 def

5 1 60 {/i exch def %i=5,60
        AANi i get fakt mul
        BANi i get fakt mul
        i 05 eq {moveto} if
        i 06 ge 
        i 59 le and {lineto} if
        i 60 eq {lineto closepath stroke} if
       } for %i=5,60

/xytshift 320 array def %min 4x65
/xytshift
[
0  000  000 (380) %00
0  000  000 (385) %01
0  000  000 (390) %02
0  000  000 (395) %03
0 -375 -250 (400) %04
0  000  000 (405) %05
0  000  000 (410) %06
0  000  000 (415) %07
0  000  000 (420) %08
0 -500 -100 (425) %09

0  000  000 (430) %10
0  000  000 (435) %11
0  000  000 (440) %12
0  000  000 (445) %13
0 -350 -030 (450) %14
0  000  000 (455) %15
0  000  000 (460) %16
0  000  000 (465) %17
1 -300 -100 (470) %18
1  050  050 (475) %19

1 -300 -100 (480) %20
0  000  000 (485) %21
1 -300 -100 (490) %22
0  000  000 (495) %23
1 -300 -100 (500) %24
0  000  000 (505) %25
0  000  000 (510) %26
0  000  000 (515) %27
0  000  000 (520) %28
1 -200  060 (525) %29

0  000  000 (530) %30
0  000  000 (535) %31
0  000  000 (540) %32
0  000  000 (545) %33
0  000  000 (550) %34
0  000  000 (555) %35
0  000  000 (560) %36
0  000  000 (565) %37
0  000  000 (570) %38
1  000  060 (575) %39

0  000  000 (580) %40
0  000  000 (585) %41
0  000  000 (590) %42
0  000  000 (595) %43
1 -150  060 (600) %44
0  000  000 (605) %45
0  000  000 (610) %46
0  000  000 (615) %47
0  000  000 (620) %48
1 -150  060 (625) %49

0  000  000 (630) %50
0  000  000 (635) %51
0  000  000 (640) %52
0  000  000 (645) %53
0  000  000 (650) %54
0  000  000 (655) %55
0  000  000 (660) %56
0  000  000 (665) %57
0  000  000 (670) %58
0  000  000 (675) %59

0  000  000 (680) %60
0  000  000 (685) %61
0  000  000 (690) %62
0  000  000 (695) %63
1  100 -150 (700) %64
] def

0 1 64 {/i exch def %i=0,64
        /i40 i 4 mul def
        xytshift i40 get 1 eq {%xytshift=1
        0 0 0 0 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANi i get fakt mul
        BANi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                              } if %xytshift=1
       } for %i=0,64

newpath
TBIV
0 1 59 {/i exch def %i=0,59
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshift i40 get 1 eq {%xytshift=1
       AANi i get fakt mul xytshift i41 get add
       BANi i get fakt mul xytshift i42 get add
       moveto xytshift i43 get show
                             } if %xytshift=1
       } for %i=0,59
newpath
newpath /xytshiftZ 320 array def %min 4x65
/xytshiftZ
[
1 -100  060 (700)    %0 normal
1  070  -50 (495c,E) %1
1  070  -50 (500c,E) %2
0  070  -50 (505c,E) %3
1  070  -50 (510c,E) %4
0  050 -100 (515c,E) %5
0  050 -100 (520c,E) %6
1  070  -50 (525c,E) %7
0  050 -100 (530c,E) %8
0  050 -100 (535c,E) %9
0  050 -100 (540c,E) %10
0  050 -100 (545c,E) %11
1  070  -50 (550c,E) %12
0  050 -100 (555c,E) %13
0  050 -100 (560c,E) %14 S
1  070  -50 (565c,E) %15
0 -100 -150 (400)    %16 see normal
] def

0 1 16 {/i exch def %i=0,16
        /i40 i 4 mul def
        xytshiftZ i40 get 1 eq {%xytshiftZ=1
        0 0 0 0 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc fill %400,425,...,700
        0 0 0 1 setcmykcolor
        AANZi i get fakt mul
        BANZi i get fakt mul
        30 0 360 arc stroke %400,425,...,700
                              } if %xytshiftZ=1
       } for %i=0,16

newpath       
TBIV
0 1 16 {/i exch def %i=0,16
       /i40 i 4 mul def
       /i41 i40 1 add def
       /i42 i40 2 add def
       /i43 i40 3 add def
       xytshiftZ i40 get 1 eq {%xytshiftZ=1
       AANZi i get fakt mul xytshiftZ i41 get add
       BANZi i get fakt mul xytshiftZ i42 get add
       moveto xytshiftZ i43 get show
                              } if %xytshiftZ=1
       } for %i=0,16

newpath
/AANWLf AANWL fakt mul def
/BANWLf BANWL fakt mul def
/AANWCf AANWC fakt mul def
/BANWCf BANWC fakt mul def

/tabj 240 array def %20x12
/tabj
%00 01  02  03  04  05   06    07   08  09  10   12 
%JN lam la0 color        shix  shiy Na1 in1 Na2  in2 
[01 400 380 0.5 0.0 0.5  1800 -2000 (T) (S) ()   ()
 01 450 380 1.0 0.0 1.0  1100 -2000 (S) (m) ()   ()
 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) ()   ()
 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l)
 01 505 380 0.0 0.0 0.0 -0750  0000 (V) (l) (=S) (l)
 01 520 380 0.0 1.0 0.0 -0500  0150 (G) (e) ()   ()
 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l)
 01 540 380 0.0 0.0 0.0 -0100  0100 (M) (m) ()   ()
 01 570 380 0.0 0.0 0.0 -0200  0100 (L) (m) ()   ()
 01 575 380 1.0 1.0 0.0 -0100  0250 (Y) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) ()   ()
 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) ()   ()
 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) ()   ()
] def

0 1 12 {/j exch def %j=0,12
        /j0 j 12 mul def
        /l01 j0 01 add def
        /l02 j0 02 add def
        /co1 j0 03 add def
        /co2 j0 04 add def
        /co3 j0 05 add def
        /po1 j0 06 add def
        /po2 j0 07 add def
        /n11 j0 08 add def
        /n12 j0 09 add def
        /n21 j0 10 add def
        /n22 j0 11 add def
        tabj j0 get 1 eq {%JN=1
                          /i tabj l01 get tabj l02 get sub 5 idiv def
                          /AANF AANi i get fakt mul def
                          /BANF BANi i get fakt mul def
                          j 12 eq {/AANF AANZi i get fakt mul def
                                   /BANF BANZi i get fakt mul def
                                  } if               
                          tabj co1 get tabj co2 get tabj co3 get
                          setrgbcolor
                          AANWLf BANWLf moveto
                          AANF BANF lineto stroke
                          xchart6 2 eq {%xchart6=2 %add text
                          j 2 le {AANWLf tabj po1 get add
                                  BANWLf tabj po2 get add moveto} %relative achromatic
                                 {AANF tabj po1 get add
                                  BANF tabj po2 get add moveto} ifelse
                          TIK tabj n11 get show
                          tabj n12 get (l) eq {(l) iy4}
                                              {tabj n12 get ishow} ifelse
                          TIK tabj n21 get show
                          tabj n22 get (l) eq {(l) iy4}
                                              {tabj n22 get ishow} ifelse
                                       } if %xchart6=2
                          } if %JN=1
        } for %j=0,12

newpath
0 0 0 setrgbcolor
xchart5 1 ge {%xchart5=1
              AANWLf BANWLf %achromatic
              40 0 360 arc stroke
              newpath
             } if %xchart5=1
xchart5 2 eq {%xchart5=2
              0 0 0 setrgbcolor
              AANWLf 000 add BANWLf 300 sub moveto %achromatic
              TBS TELi xchartx get show %text illuminant
             } if %xchart5=2

xchart3 0 eq {%Munsell
              AANWCf 550 add BANWCf 250 add moveto TBV (1) show
              AANWCf 350 add BANWCf 100 add moveto TBV (2) show
              AANWCf 200 add BANWCf 050 add moveto TBV (5) show
             } if %Munsell

xtrans7 neg ytrans7 neg translate %for text and grafic

 %ENDE: 2

             } if %xchartl=7

} bind def %END proc_chromaticity_lines

/proc_diagram_xchartl_txt
{%BEG proc_diagram_xchartl_txt

xchartl 0 eq {%xchartl=0,#0
(Normfarbtafel) showde
(chromaticity) showea
TBS ( \050) show TBIS (x) show
xcolor 1 eq {(10) ib6} if
TBS (, ) show TBIS (y) show
xcolor 1 eq {(10) ib6} if
TBS (\051) show
             }%xchartl=0
             {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x

xchart10 0 eq {%%xchart10=0, abx
(Farbarttafel) showde
(chromaticity) showea
TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6
xcolor 1 eq {(,10) ib6} if
TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6
xcolor 1 eq {(,10) ib6} if
TBS (\051) show
             } if %%xchart10=0, abx

xchart10 1 eq {%%xchart10=1, ABx
(Buntwert) showde
(chromatic value) showea
TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6
xcolor 1 eq {(,10) ib6} if
TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6
xcolor 1 eq {(,10) ib6} if
TBS (\051) show
             } if %%xchart10=1, abx

xchart10 2 eq {%xchart10=2, AB*x
(Buntheit) showde
(chroma) showea
TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6
xcolor 1 eq {(,10) ib6} if
TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6
xcolor 1 eq {(,10) ib6} if
TBS (\051) show
             } if %%xchart10=2, AB*x
            
             } ifelse %xchart#0

} bind def %END proc_diagram_xchartl_txt

/proc_tab1N
{%BEG proc_tab1N

/idyT 250 def
/iyT 1800 def
-3400 iyT moveto
TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show
TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show
TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x

-3400 iyT idyT 1 mul sub moveto
TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show
TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x

-3400 iyT idyT 2 mul sub moveto
TBIS (A) show xchartl 1 sub cvicvs ib6
TBS (=\050) show
TBIS (a) show xchartl 1 sub cvicvs ib6
TBS (-[) show
TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6
TBS (+) show
TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6
TBS (+) show
TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6
TBS (]\051 ) show
TBIS (Y) show

-3400 iyT idyT 3 mul sub moveto
TBIS (B) show xchartl 1 sub cvicvs ib6
TBS (=\050) show
TBIS (b) show xchartl 1 sub cvicvs ib6
TBS (-[) show
TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6
TBS (+) show
TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6
TBS (+) show
TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6
TBS (]\051 ) show
TBIS (Y) show

%4 mul to 7 mul in main program

-3400 iyT idyT 8 mul sub moveto
TBIS (n) show
TBS ( = ) show
TELi xchartx get show

-3400 iyT idyT 9 mul sub moveto
TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6
TBS (=) show
TBIS (a) show (2Y) ib6 TBS (\050) show
TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6
TBS (-1\051) show

-3400 iyT idyT 10 mul sub moveto
TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6
TBS (=) show
TBIS (b) show (2Y) ib6 TBS (\050) show
TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6
TBS (-1\051) show

-3400 iyT idyT 11 mul sub moveto
TBIS (a) show (2Y) ib6
TBS (=) show xxt cvsshow3x TBS (, ) show
TBIS (b) show (2Y) ib6
TBS (=) show yyt cvsshow3x

-3400 iyT idyT 12 mul sub moveto
TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6
TBS (=) show xat cvsshow3x TBS (, ) show
TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6
TBS (=) show yat cvsshow3x

} bind def %END proc_tab1N

%********************************************************
/proc_tab2N
{%BEG proc_tab2N

/idyT 250 def
/iyT 1800 def
-3400 iyT moveto
TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show
TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show
TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x

-3400 iyT idyT 1 mul sub moveto
TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show
TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x

-3400 iyT idyT 2 mul sub moveto
TBIS (A) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6
TBS (=\050) show
TBIS (a) show xchartl 1 sub cvicvs ib6
TBS (-[) show
TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6
TBS (+) show
TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6
TBS (+) show
TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6
TBS (]\051) show
TBIS (Y) show (18) ib6 TBS (\050) show
TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow

-3400 iyT idyT 3 mul sub moveto
TBIS (B) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6
TBS (=\050) show
TBIS (b) show xchartl 1 sub cvicvs ib6
TBS (-[) show
TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6
TBS (+) show
TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6
TBS (+) show
TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6
TBS (]\051) show
TBIS (Y) show (18) ib6 TBS (\050) show
TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow

%4 mul to 7 mul in main program

-3400 iyT idyT 8 mul sub moveto
TBIS (n) show
TBS ( = ) show
TELi xchartx get show

-3400 iyT idyT 9 mul sub moveto
TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6
TBS (=) show
TBIS (a) show (2Y) ib6 TBS (\050) show
TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6
TBS (-1\051) show

-3400 iyT idyT 10 mul sub moveto
TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6
TBS (=) show
TBIS (b) show (2Y) ib6 TBS (\050) show
TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6
TBS (-1\051) show

-3400 iyT idyT 11 mul sub moveto
TBIS (a) show (2Y) ib6
TBS (=) show xxt cvsshow3x TBS (, ) show
TBIS (b) show (2Y) ib6
TBS (=) show yyt cvsshow3x

-3400 iyT idyT 12 mul sub moveto
TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6
TBS (=) show xat cvsshow3x TBS (, ) show
TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6
TBS (=) show yat cvsshow3x

} bind def %END proc_tab2N

%**********************************************************
%%EndProlog
gsave

%lanindL2.EPS START  20000505
/lanind 0 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 1 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 1 def} ifelse
/xchart4f where {pop /xchart4 xchart4f def}
                {/xchart4 0 def} ifelse
/xchart5f where {pop /xchart5 xchart5f def} %new
                {/xchart5 2 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} if %colorm=0, deintp=0
colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1
colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0
colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1
xchart 0 eq {/Txx (-) def} if %always independent of intended output

gsave
%LANINDL2 END

%STOP1

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
%XCHA01.PS END

5 /Times-ISOL1 FS
%175 85 moveto (CE221-7N_16) show
%xchart 0 eq {(R) show}
%            {deintp colorm 2 mul add cvishow} ifelse

72 90 translate

0.01 MM dup scale
30 setlinewidth

%xchart3 0 def %with Munsell colours
%xchart3 1 def %with Ostwald colours
%xchart3 2 det %without any colour
/xchart3 1 def %diagram 0:Munsell colours, 1:Ostwald colours, 2:-

%xchart5 0 def %without marc illuminant and text
%xchart5 1 def %with marc illuminant
%xchart5 2 def %with marc illuminant and text
/xchart5 2 def %0:-, 1:illuminant, 2:illuminant and text

%xchart6 0 def %without chromaticity_lines
%xchart6 1 def %with chromaticity_lines
%xchart6 2 def %with chromaticity_lines and names
/xchart6 2 def %0:-, 1:chromaticity_lines 2:chromaticity_lines & names

%xchart7 0 def %Ostwald colours without Name or Y
%xchart7 1 def %Ostwald colours with Name
%xchart7 2 def %Ostwald colours with CIE Y
/xchart7 2 def %0:-, 1:Name, 2:Y 

%xchartl with          0    1    2    3    4    5    6    7
%xchart8 0 def %0:Pxx (P60, P55, P50, P45, P40, P35, P30, P25) colours
%xchart8 1 def %1:Dxx (D65, D50, P40, A00, E00, C00, P00, Q00) colours
/xchart8 0 def %0:Pxx, 1:Dxx colours

%xchart9 0 def %for Y10-7R.EPS -> Table XYZ, not used here
%xchart9 1 def %for Y10-7R.EPS -> Table CAB, not used here
%xchart9 2 def %for Y10-7R.EPS -> Table (a,b), not used here
/xchart9 0 def %Table 0:(XYZ), 1:(CAB), 2(ab)

%xchart10 0 def %for Y10E00NA.PS6.PS -> chromaticity coordinates (ai,bi)
%xchart10 1 def %for Y10E00NA.PS6.PS -> chromatic values (Ai,Bi)
%xchart10 2 def %for Y10E00NA.PS6.PS -> chroma (A*i,B*i)
/xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i)

/posax 2700 def /posay  0550 def
/posbx -275 def /posby -3150 def

/FL 0.00001 def
/Y18 18 def %grey background
%/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i)
/n1e 1.0000 def %allways
%/n1e 0.3333 def %very special (a', b')

xchart10 1 le {/n0e 1.0000 def}
              {/n0e 0.3333 def} ifelse
gsave

/xchartx xchart def
%0 1 7 {/xchartx exch def %xchartx=0,7 %8 illuminants
gsave

20 setlinewidth
%0 0 11550 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey

%0 0 11550 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz

%allways
proc_XYZ_colours
proc_DEF_colours


xchart3 0 eq {%BEG proc_Munsell_colours
proc_Munsell_colours
             } if %END proc_Munsell_colours

xchart3 1 eq {%BEG proc_Ostwald_colours
proc_Ostwald_colours
             } if %END proc_Ostwald_colours

/xchartl 05 def
00 1 07 {/xchartl exch def %xchartl=0,7
gsave

  xchartl   0 eq {  100 13000 translate} if
  xchartl   1 eq { 6100 13000 translate} if
  xchartl   2 eq {  100 08750 translate} if
  xchartl   3 eq { 6100 08750 translate} if

  xchartl   4 eq {  100  4500 translate} if
  xchartl   5 eq { 6100  4500 translate} if
  xchartl   6 eq {  100  0250 translate} if
  xchartl   7 eq { 6100  0250 translate} if

150 /Times-ISOL1 FS
0 setgray
300 -150 moveto
xchartl 7 le {(CE221-) show}
             {(CE221-) show} ifelse
xchartl 0 ge xchartl   7 le and {xchartl 1 add cvishow} if
xchartl 8 ge xchartl  15 le and {xchartl 7 sub cvishow} if
(A) show %A
(_) show xchart 1 add cvishow

/xwidth 5400 def
/ywidth 4000 def

0.0 0.0 0.0 0.3 setcmykcolor

0 0  moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto
closepath fill

0 setlinewidth
0 0 moveto xwidth 0 rlineto 0 ywidth rlineto
           xwidth neg 0 rlineto closepath clip

20 setlinewidth
0 0 xwidth ywidth 0.0 0.0 0.0 1.0 colrecst %frame black

/xtexti 96 array def
/ytexti 96 array def

%BEG INC Y11_XCHART10_0/1/2.PS
%line 5042
%********************************************************************
%BEG 'CL10'Y11_XCHART1A_1.PS FROM 'CL66'Y10-7R_66.EPS

xchart10 1 eq {%xchart10=1 long loop 1700 lines!

%/xxt -0.021 def /yyt -0.024 def
%/xat  0.031 def /yat  0.029 def
/xxt  0.000 def /yyt  0.000 def
/xat  0.000 def /yat  0.000 def

/proc_Yexp {%BEG proc_Yexp
xchart10 0 eq {%chromaticity
/Yexp 1 def
              } if %chromaticity

xchart10 1 eq {%chromatic value
               xchart3 0 eq {%Munsell colours
                             /Yexp YMi ikV40 get def
                            } if %Munsell colours
               xchart3 1 eq {%Ostwald colours
                             /Yexp YOi i     get def
                            } if %Ostwald colours
              } if %chromatic value

xchart10 2 eq {%chroma
               xchart3 0 eq {%Munsell colours
                             /Yexp Y18 YMi ikV40 get Y18 div n0e exp mul def
                            } if %Munsell colours
               xchart3 1 eq {%Ostwald colours
                             /Yexp Y18 YOi i     get Y18 div n0e exp mul def
                            } if %Ostwald colours
              } if %chroma

} bind def %END proc_Yexp

0 0 0 1 setcmykcolor
/xchart12 xchartl       12 mul def

xchart3 0 eq {%xchart3=0 %Munsell_colours
/xtexti [
%T00 T10  T20   T30   T40  T41   T50  T51   T60  T61  T70  T71
%0   1    2     3     4    5     6    7     8    9    10   11
1800 1800 1800  2800  2800 4000  2800 4000  2800 4000 2800 4000 %0
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %1
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %2
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %3
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %4
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %5
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %6
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %7
] def

/ytexti [
3800 3580 3360  3140  2920 2920  2700 2700  2480 2480 2260 2260 %0
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %1
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %2
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %3
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %4
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %5
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %6
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %7
] def

} if %xchart3=0 %Munsell_colours

xchart3 1 eq {%xchart3=1 %Ostwald_colours
/xtexti [
%T00 T10  T20   T30   T40  T41   T50  T51   T60  T61  T70  T71
%0   1    2     3     4    5     6    7     8    9    10   11
1800 1800 1800  2800  2800 4000  2800 4000  2800 4000 2800 4000 %0
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %1
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %2
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %3
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %4
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %5
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %6
0100 0100 0100  0100  0100 1300  0100 1300  0100 1300 0100 1300 %7
] def

/ytexti [
3800 3580 3360  3140  2920 2920  2700 2700  2480 2480 2260 2260 %0
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %1
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %2
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %3
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %4
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %5
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %6
0500 0280 0060  1600  1380 1380  1160 1160  0940 0940 0720 0720 %7
] def

} if %xchart3=1 %Ostwald_colours

xchart3 1 eq 
xchartl 0 eq and {%xchart3=1 only for Ostwald colours and (x,y)

xtexti xchart12 3 add get ytexti xchart12 3 add get moveto
TBS
(Name und Spektralbereich) showde                               %0CE221-7 00581
(Name and spectral range) showen                                %1CE221-7 00581
(Nombre y gama espectral) showes                                %2CE221-7 00581
(Nom et la gamma spectrale) showfr                              %3CE221-7 00581
(Nome e la gamma spettrale) showit                              %4CE221-7 00581
(Name and spectral range) showjp                                %5CE221-7 00581

xtexti xchart12 4 add get ytexti xchart12 4 add get moveto
TBIS FARBEO  0 get show
TBV  0 -40 rmoveto FARBEO  1 get show 0 40 rmoveto
TBIS FARBEO  2 get show

xtexti xchart12 5 add get ytexti xchart12 5 add get moveto
TBIS FARBEO  3 get show
TBV  0 -40 rmoveto FARBEO  4 get show 0 40 rmoveto
TBIS FARBEO  5 get show

xtexti xchart12 6 add get ytexti xchart12 6 add get moveto
TBIS FARBEO  6 get show
TBV  0 -40 rmoveto FARBEO  7 get show 0 40 rmoveto
TBIS FARBEO  8 get show

xtexti xchart12 7 add get ytexti xchart12 7 add get moveto
TBIS FARBEO  9 get show
TBV  0 -40 rmoveto FARBEO  10 get show 0 40 rmoveto
TBIS FARBEO  11 get show

xtexti xchart12 8 add get ytexti xchart12 8 add get moveto
TBIS FARBEO  12 get show
TBV  0 -40 rmoveto FARBEO  13 get show 0 40 rmoveto
TBIS FARBEO  14 get show

xtexti xchart12 9 add get ytexti xchart12 9 add get moveto
TBIS FARBEO  15 get show
TBV  0 -40 rmoveto FARBEO  16 get show 0 40 rmoveto
TBIS FARBEO  17 get show
                  } if %xchart3=1 only for Ostwald colours
                  
TBS
0 0 0 1 setcmykcolor
xchart3 0 eq {%xchart3=0 %Munsell_colours

xtexti xchart12 0 add get ytexti xchart12 0 add get moveto
TBIS (Munsell) show TBS
(-System) showde                                                %0CE221-7 02581
( System) showea                                                %1CE221-7 02581

TBIS (, Y) show (w) ib6
xcolor 1 eq {(,10) ib6} if
TBS K 0 eq {(=100, ) show}{(=88,6, ) show} ifelse
TELi xchartx get show

xtexti xchart12 1 add get ytexti xchart12 1 add get moveto
(C=2, V=1, 2, 5, 8 & 9, ) show                                  %0CE221-7 03581

TELi xchartx get show

} if %xchart3=0 %Munsell_colours

xchart3 1 eq {%xchart3=1 %Optimal Colours

xtexti xchart12 0 add get ytexti xchart12 0 add get moveto
TBIS (Ostwald) showde TBS ( Farben (o)) showde                  %0CE221-7 02581
TBIS (Ostwald) showen TBS ( colours (o)) showen                 %1CE221-7 02581
TBS (Colores) showes TBIS ( Ostwald (o)) showes                 %2CE221-7 02581
TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr                %3CE221-7 02581
TBS (Colori) showit TBIS ( Ostwald  (o)) showit                 %4CE221-7 02581
TBIS (Ostwald) showjp TBS ( colours (o)) showjp                 %5CE221-7 02581

TBIS (, Y) show 0 -60 rmoveto (W) show 0 60 rmoveto
TBS K 0 eq {(=100) show}{(=88,6) show} ifelse

xtexti xchart12 1 add get ytexti xchart12 1 add get moveto
(max (m) Buntwert, ) showde                                     %0CE221-7 03581
(max (m) chromatic value, ) showen                              %1CE221-7 03581
(chromatic m\341x (m),  ) showes                                %2CE221-7 03581
(max (m) chromatic valeur,  ) showfr                            %3CE221-7 03581
(max (m) chromatic value,  ) showit                             %4CE221-7 03581
(max (m) chromatic value,  ) showjp                             %5CE221-7 03581

TELi xchartx get show

} if %xchart3=1 %Optimal_colours

%BEG For All Colours last line
xtexti xchart12 2 add get ytexti xchart12 2 add get moveto

proc_diagram_xchartl_txt

%END For All Colours last line

%***********************************************************
/imM 199 def %maximum Munsell Colours
/imO 039 def %maximum Ostwald Colours

%*****************************************
0 setgray

xchartl 0 eq {%xchartl=0 %(x,y)

%only for xchartl=0
proc_chromaticity
proc_chromaticity_lines

/fakt 4000 def

/xtrans0 600 def
/ytrans0 400 def
xtrans0 ytrans0 translate %for scala and graphic

xchart3 0 eq {%xchart3=0 %BEG Munsell_colours C=2, V=1,2,5,8,9
0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9
       /kV40 kV 40 mul def
0 1 39 {/i exch def %i=0,39
        AnYi i
        XANMi i kV40 add get fakt mul put         %x
        BnYi i
        YANMi i kV40 add get fakt mul put         %y
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39
} for %kV=0,4

xchart5 1 ge {%xchart5>=1 %XANW,YANW
newpath
XANWL fakt mul YANWL fakt mul 40 0 360 arc stroke
xchart5 2 eq {%xchart5=2 %+TELi
              XANWL fakt mul 200 sub 150 add
              YANWL fakt mul 500 sub moveto
              TBS TELi xchartx get show
             } if %xchart5=2  %+TELi
xchart5 3 eq {%xchart5=3 %+V=1..9
              1250 550 add   1316 250 add moveto (1) show
              1250 350 add   1316 100 add moveto (2) show
              1250 200 add   1316 050 add moveto (5) show
             } if %xchart5=3  %+V=1..9
             } if %xchart5>=1 %XANW,YANW
} if %xchart3=0  %END Munsell_colours C=2, V=1,2,5,8,9

xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours
0 0 0 setrgbcolor
0 1 39 {/i exch def %i=0,39
        AnYi i
        XANOi i get fakt mul put            %x
        BnYi i
        YANOi i get fakt mul put            %y
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto stroke} if
       } for %i=0,39

/tab_Ocolors 64 array def %8*8
/tab_Ocolors %BEG tab_Ocolors
[%i rgb         Col Ind
 %0 01  02  03  04    05    06  07
 00 0.0 1.0 1.0 -0100 -0250 (C) (O)
 06 0.0 1.0 0.0  0100 -0050 (G) (O)
 09 0.8 1.0 0.0 -0100  0100 (Y) (x)
 13 1.0 1.0 0.0 -0100  0100 (Y) (O)

 20 1.0 0.0 0.0 -0100  0100 (R) (O)
 26 1.0 0.0 1.0 -0350 -0100 (M) (O)
 29 0.2 0.0 1.0 -0100 -0250 (V) (n)
 33 0.0 0.0 1.0 -0100 -0250 (B) (O)
] def %END tab_Ocolors

0 1 7 {/i exch def %i=0,7
       /i0 i 8 mul def
       /i1 i0 1 add def
       /i2 i0 2 add def
       /i3 i0 3 add def
       /i4 i0 4 add def
       /i5 i0 5 add def
       /i6 i0 6 add def
       /i7 i0 7 add def
       
       /k tab_Ocolors i0 get def
       tab_Ocolors i1 get
       tab_Ocolors i2 get
       tab_Ocolors i3 get setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc fill
       0 0 0 setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc stroke
       newpath
       AnYi k get tab_Ocolors i4 get add
       BnYi k get tab_Ocolors i5 get add moveto
       
       xchart7 1 eq {%xchart7=1 Name
       TBIS tab_Ocolors i6 get show 
        tab_Ocolors i7 get ib6 TBS
                    } if %xchart7=1 Name

       xchart7 2 eq {%xchart7=2 YOi
       TBIS YOi k get cvishow
                    } if %xchart7=2 Yoi
       newpath
      } for %i=0,7

         } if %xchart3=1 %END Ostwald_Colours

xtrans0 neg ytrans0 neg translate %for scala and graphi

} if %xchartl=0

%************************
%Special coordinate system for (Ax,Bx) digrams***************
%*****************
xchartl 1 ge {%xchartl>=1

/xtrans1 3500 def
/ytrans1 2000 def
xtrans1 ytrans1 translate %for scala and graphic

%axis and scales
0 0 0 1 setcmyk_olvcolor
-2250 0 moveto 3950  0 rlineto stroke
0 -1880  moveto 0 3600  rlineto stroke
1700 100 sub 50 moveto 100 -50 rlineto
                      -100 -50 rlineto closepath fill
0 50 sub 1800 100 sub moveto 50  100 rlineto
                             50 -100 rlineto closepath fill

/xt10x 5 array def
/yt10x 5 array def

/xt10x [(-40) ( ) ( ) ( ) (  40)] def
/yt10x [(-40) ( ) ( ) ( ) (40)] def

/fakt 40 def %default
xchart3 0 eq {/xt10x [(-10) ( ) ( ) ( ) (  10)] def
              /yt10x [(-10) ( ) ( ) ( ) (10)  ] def} if %xchart3=0 %Munsell

0 0 0 1 setcmyk_olvcolor
0 1 4 {/i exch def %i=0,4 x-axis
        -1600   i 800   mul add  -75 moveto 0 150 rlineto stroke
        -1800   i 800   mul add -250 moveto
        TBS xt10x i get show
        i 4 eq {%i=4
                -1600 i 800 mul add 0 moveto
                -100 150 rmoveto
                TBIM (A) show xchart10 2 eq {(*) show} if
                              TBS xchartl 1 sub cvicvs ib6
               } if %i=4
       } for %i=0,4

0 1 4 {/i exch def %i=0,4 y-axis
       -75 -1600 i 800 mul    add moveto 150 0 rlineto stroke
       100 -1600 i 800 mul    add 100 sub moveto
       TBS yt10x i get show
       i 4 eq {%i=4
               -100 -1600 i 800 mul add moveto
               -250 150 rmoveto
                TBIM (B) show xchart10 2 eq {(*) show} if
                              TBS xchartl 1 sub cvicvs ib6
             } if %i=4
       } for %i=0,4

xtrans1 neg ytrans1 neg translate %for scala and graphic

} if %xchartl>=1

%**********************************************************
xchartl 1 eq {%xchartl=1 %(A0,B0) (a=x/y, b=-0.4*z/y)

/fakt 40 def %default
xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours

/a2 1.00 def
/b2 -0.4 def

/xtrans1 3500 def
/ytrans1 2000 def
xtrans1 ytrans1 translate %for scala and graphic

proc_tab1N

-3400 iyT idyT 4 mul sub moveto
TBIS (a) show xchartl 1 sub cvicvs ib6
TBS ( = ) show
TBIS (a) show (20) ib6 
TBS ( [) show
TBIS (x/y) show
TBS (]) show

-3400 iyT idyT 5 mul sub moveto
TBIS (b) show xchartl 1 sub cvicvs ib6
TBS ( = ) show
TBIS (b) show (20) ib6 
TBS ( [) show
TBIS (z/y) show
TBS (]) show

-3400 iyT idyT 6 mul sub moveto
TBIS (a) show (20) ib6 
TBS ( = 1,  ) show
TBIS (b) show (20) ib6 
TBS ( = -0,4) show

xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9
0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9
       /kV40 kV 40 mul def
0 1 39 {/i exch def %i=0,39
        /ikV40 i kV40 add def
        proc_Yexp
        AnYi i
        XANMi ikV40 get YANMi ikV40 get FL add div n1e exp
        XANWL           YANWL           FL add div n1e exp sub
        xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub
        Yexp mul a2 mul fakt mul put          %A0
        BnYi i
        ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp 
        ZANWL           YANWL           FL add div n1e exp sub
        yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub
        Yexp mul b2 mul fakt mul put          %B0
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39
} for %kV=0,4

xchart5 1 ge {%xchart5>=1 %XANW,YANW
              newpath
              0
              0
              40 0 360 arc fill
xchart5 2 eq {%xchart5=2 %+TELi
              0 100 sub 350 add
              0 250 sub 150 sub moveto
              TBS TELi xchartx get show
             } if %xchart5=2  %+TELi
             } if %xchart5>=1 %XANW,YANW
} if %xchart3=0  %END Munsell_colours C=2, V=1,2,5,8,9

xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours

0 1 39 {/i exch def %i=0,39
        proc_Yexp
        AnYi i
        XANOi i get YANOi i get FL add div n1e exp
        XANWL       YANWL       FL add div n1e exp sub
        xxt YOi i get Y18 div 1 sub mul sub xat sub
        Yexp mul a2 mul fakt mul put         %A0
        BnYi i
        ZANOi i get YANOi i get FL add div n1e exp
        ZANWL       YANWL       FL add div n1e exp sub
        yyt YOi i get Y18 div 1 sub mul sub yat sub
        Yexp mul b2 mul fakt mul put         %B0
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39

/tab_Ocolors 64 array def %8*8
/tab_Ocolors %BEG tab_Ocolors
[%i rgb         Col Ind
 %0 01  02  03  04    05    06  07
 00 0.0 1.0 1.0 -0100 -0250 (C) (O)
 06 0.0 1.0 0.0  0100 -0050 (G) (O)
 09 0.8 1.0 0.0 -0100  0100 (Y) (x)
 13 1.0 1.0 0.0 -0100  0100 (Y) (O)

 20 1.0 0.0 0.0 -0100  0100 (R) (O)
 26 1.0 0.0 1.0 -0350 -0100 (M) (O)
 29 0.2 0.0 1.0 -0100 -0250 (V) (n)
 33 0.0 0.0 1.0 -0100 -0250 (B) (O)
] def %END tab_Ocolors

0 1 7 {/i exch def %i=0,7
       /i0 i 8 mul def
       /i1 i0 1 add def
       /i2 i0 2 add def
       /i3 i0 3 add def
       /i4 i0 4 add def
       /i5 i0 5 add def
       /i6 i0 6 add def
       /i7 i0 7 add def
       
       /k tab_Ocolors i0 get def
       tab_Ocolors i1 get
       tab_Ocolors i2 get
       tab_Ocolors i3 get setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc fill
       0 0 0 setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc stroke
       newpath
       AnYi k get tab_Ocolors i4 get add
       BnYi k get tab_Ocolors i5 get add moveto
       
       xchart7 1 eq {%xchart7=1 Name
       TBIS tab_Ocolors i6 get show 
        tab_Ocolors i7 get ib6 TBS
                    } if %xchart7=1 Name

       xchart7 2 eq {%xchart7=2 YOi
       TBIS YOi k get cvishow
                    } if %xchart7=2 Yoi
       newpath
      } for %i=0,7

         } if %xchart3=1 %END Ostwald_Colours

xtrans1 neg ytrans1 neg translate %for scala and graphic

} if %xchartl=1 %(A0,B0)

%*****************************************************************
xchartl 2 eq {%xchartl=2 %(A1,B1) (a1=[x-XANT]/y, b1=z/y)

/fakt 40 def %default
xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours
             
/a2 1.00 def
/b2 -0.4 def

/xtrans2 3500 def
/ytrans2 2000 def
xtrans2 ytrans2 translate %for scala and graphic

proc_tab1N

-3400 iyT idyT 4 mul sub moveto
TBIS (a) show xchartl 1 sub cvicvs ib6
TBS ( = ) show
TBIS (a) show (20) ib6 
TBS ( [) show
TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show
TBS (]) show

-3400 iyT idyT 5 mul sub moveto
TBIS (b) show xchartl 1 sub cvicvs ib6
TBS ( = ) show
TBIS (b) show (20) ib6 
TBS ( [) show
TBIS (z/y) show
TBS (]) show

-3400 iyT idyT 6 mul sub moveto
TBIS (a) show (20) ib6 
TBS ( = 1,  ) show
TBIS (b) show (20) ib6 
TBS ( = -0,4) show

-3400 iyT idyT 7 mul sub moveto
TBIS (m) show (T1) ib6 TBS (=) show 1.0 cvsshow3x (, ) show
TBIS (b) show (T1) ib6 TBS (=) show XANT cvsshow3x

xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9
0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9
       /kV40 kV 40 mul def
0 1 39 {/i exch def %i=0,39
        /ikV40 i kV40 add def
        proc_Yexp
        AnYi i
        XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp
        XANWL           XANT sub YANWL           FL add div n1e exp sub
        xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub
        Yexp mul a2 mul fakt mul put                 %A1
        BnYi i
        ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp 
        ZANWL           YANWL           FL add div n1e exp sub
        yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub
        Yexp mul b2 mul fakt mul put                 %B1
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39
} for %kV=0,4

xchart5 1 ge {%xchart5>=1 %XANW,YANW
              newpath
              0
              0
              40 0 360 arc fill
xchart5 2 eq {%xchart5=2 %+TELi
              0 100 sub 350 add
              0 250 sub 150 sub moveto
              TBS TELi xchartx get show
             } if %xchart5=2  %+TELi
             } if %xchart5>=1 %XANW,YANW
} if %xchart3=0  %END Munsell_colours C=2, V=1,2,5,8,9

xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours

0 1 39 {/i exch def %i=0,39
        proc_Yexp
        AnYi i
        XANOi i get XANT sub YANOi i get FL add div n1e exp
        XANWL       XANT sub YANWL       FL add div n1e exp sub
        xxt YOi i get Y18 div 1 sub mul sub xat sub
        Yexp mul a2 mul fakt mul put                %A1
        BnYi i
        ZANOi i get YANOi i get FL add div n1e exp
        ZANWL       YANWL       FL add div n1e exp sub
        yyt YOi i get Y18 div 1 sub mul sub yat sub
        Yexp mul b2 mul fakt mul put                %B1
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39

/tab_Ocolors 64 array def %8*8
/tab_Ocolors %BEG tab_Ocolors
[%i rgb         Col Ind
 %0 01  02  03  04    05    06  07
 00 0.0 1.0 1.0 -0100 -0250 (C) (O)
 06 0.0 1.0 0.0  0100 -0050 (G) (O)
 09 0.8 1.0 0.0 -0100  0100 (Y) (x)
 13 1.0 1.0 0.0 -0100  0100 (Y) (O)

 20 1.0 0.0 0.0 -0100  0100 (R) (O)
 26 1.0 0.0 1.0 -0350 -0100 (M) (O)
 29 0.2 0.0 1.0 -0100 -0250 (V) (n)
 33 0.0 0.0 1.0 -0100 -0250 (B) (O)
] def %END tab_Ocolors

0 1 7 {/i exch def %i=0,7
       /i0 i 8 mul def
       /i1 i0 1 add def
       /i2 i0 2 add def
       /i3 i0 3 add def
       /i4 i0 4 add def
       /i5 i0 5 add def
       /i6 i0 6 add def
       /i7 i0 7 add def
       
       /k tab_Ocolors i0 get def
       tab_Ocolors i1 get
       tab_Ocolors i2 get
       tab_Ocolors i3 get setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc fill
       0 0 0 setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc stroke
       newpath
       AnYi k get tab_Ocolors i4 get add
       BnYi k get tab_Ocolors i5 get add moveto
       
       xchart7 1 eq {%xchart7=1 Name
       TBIS tab_Ocolors i6 get show 
        tab_Ocolors i7 get ib6 TBS
                    } if %xchart7=1 Name

       xchart7 2 eq {%xchart7=2 YOi
       TBIS YOi k get cvishow
                    } if %xchart7=2 Yoi
       newpath
      } for %i=0,7

         } if %xchart3=1 %END Ostwald_Colours

xtrans2 neg ytrans2 neg translate %for scala and graphic

} if %xchartl=2 %(A1,B1)

%************************
xchartl 3 eq {%xchartl=1 %(A2,B2) (a2=x/y, b2=mP1*x+bP1)

/fakt 40 def %default
xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours

/a2 1.00 def
/b2 -0.4 def

/xtrans3 3500 def
/ytrans3 2000 def
xtrans3 ytrans3 translate %for scala and graphic

proc_tab1N

-3400 iyT idyT 4 mul sub moveto
TBIS (a) show xchartl 1 sub cvicvs ib6
TBS ( = ) show
TBIS (a) show (20) ib6 
TBS ( [) show
TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show
TBS (]) show

-3400 iyT idyT 5 mul sub moveto
TBIS (b) show xchartl 1 sub cvicvs ib6
%TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show
%TBS (+) show TBIS (b) show (P1) ib6
TBS (=) show
TBIS (b) show (20) ib6
TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show
TBS (+) show    TBIS (b) show (P1) ib6
TBS (\051) show TBIS (/y) show TBS (]) show

-3400 iyT idyT 6 mul sub moveto
TBIS (a) show (20) ib6 
TBS ( = 1,  ) show
TBIS (b) show (20) ib6 
TBS ( = -0,4) show

-3400 iyT idyT 7 mul sub moveto
TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show
TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x

xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9
0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9
       /kV40 kV 40 mul def
0 1 39 {/i exch def %i=0,39
        /ikV40 i kV40 add def
        proc_Yexp
        AnYi i
        XANMi ikV40 get                 YANMi ikV40 get FL add div n1e exp
        XANWL                           YANWL           FL add div n1e exp sub
        xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub
        Yexp mul a2 mul fakt mul put                         %A2
        BnYi i
        XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp
        XANWL           mP1 mul bP1 add YANWL           FL add div n1e exp sub
        yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub
        Yexp mul b2 mul fakt mul put                         %B2
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39
} for %kV=0,4

xchart5 1 ge {%xchart5>=1 %XANW,YANW
              newpath
              0
              0
              40 0 360 arc fill
xchart5 2 eq {%xchart5=2 %+TELi
              0 100 sub 350 add
              0 250 sub 150 sub moveto
              TBS TELi xchartx get show
             } if %xchart5=2  %+TELi
             } if %xchart5>=1 %XANW,YANW
} if %xchart3=0  %END Munsell_colours C=2, V=1,2,5,8,9

xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours

0 1 39 {/i exch def %i=0,39
        proc_Yexp
        AnYi i
        XANOi i get          YANOi i get FL add div n1e exp
        XANWL                YANWL       FL add div n1e exp sub
        xxt YOi i get Y18 div 1 sub mul sub xat sub
        Yexp mul a2 mul fakt mul put                     %A2
        BnYi i
        XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp
        XANWL       mP1 mul bP1 add YANWL       FL add div n1e exp sub
        yyt YOi i get Y18 div 1 sub mul sub yat sub
        Yexp mul b2 mul fakt mul put                     %B2
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39

/tab_Ocolors 64 array def %8*8
/tab_Ocolors %BEG tab_Ocolors
[%i rgb         Col Ind
 %0 01  02  03  04    05    06  07
 00 0.0 1.0 1.0 -0100 -0250 (C) (O)
 06 0.0 1.0 0.0  0100 -0050 (G) (O)
 09 0.8 1.0 0.0 -0100  0100 (Y) (x)
 13 1.0 1.0 0.0 -0100  0100 (Y) (O)

 20 1.0 0.0 0.0 -0100  0100 (R) (O)
 26 1.0 0.0 1.0 -0350 -0100 (M) (O)
 29 0.2 0.0 1.0 -0100 -0250 (V) (n)
 33 0.0 0.0 1.0 -0100 -0250 (B) (O)
] def %END tab_Ocolors

0 1 7 {/i exch def %i=0,7
       /i0 i 8 mul def
       /i1 i0 1 add def
       /i2 i0 2 add def
       /i3 i0 3 add def
       /i4 i0 4 add def
       /i5 i0 5 add def
       /i6 i0 6 add def
       /i7 i0 7 add def
       
       /k tab_Ocolors i0 get def
       tab_Ocolors i1 get
       tab_Ocolors i2 get
       tab_Ocolors i3 get setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc fill
       0 0 0 setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc stroke
       newpath
       AnYi k get tab_Ocolors i4 get add
       BnYi k get tab_Ocolors i5 get add moveto
       
       xchart7 1 eq {%xchart7=1 Name
       TBIS tab_Ocolors i6 get show 
        tab_Ocolors i7 get ib6 TBS
                    } if %xchart7=1 Name

       xchart7 2 eq {%xchart7=2 YOi
       TBIS YOi k get cvishow
                    } if %xchart7=2 Yoi
       newpath
      } for %i=0,7

         } if %xchart3=1 %END Ostwald_Colours

xtrans3 neg ytrans3 neg translate %for scala and graphic

} if %xchartl=3 %(A2,B2)

%************************
xchartl 4 eq {%xchartl=04 %(A3,B3) (a3=[x-XANT]/y, b3=mD1*x+bD1)

/fakt 40 def %default
xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours

/a2 1.00 def
/b2 -0.4 def

/xtrans4 3500 def
/ytrans4 2000 def
xtrans4 ytrans4 translate %for scala and graphic

proc_tab1N

-3400 iyT idyT 4 mul sub moveto
TBIS (a) show xchartl 1 sub cvicvs ib6
TBS ( = ) show
TBIS (a) show (20) ib6 
TBS ( [) show
TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show
TBS (]) show

-3400 iyT idyT 5 mul sub moveto
TBIS (b) show xchartl 1 sub cvicvs ib6
%TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show
%TBS (+) show TBIS (b) show (D1) ib6
TBS (=) show
TBIS (b) show (20) ib6
TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show
TBS (+) show    TBIS (b) show (D1) ib6
TBS (\051) show TBIS (/y) show TBS (]) show

-3400 iyT idyT 6 mul sub moveto
TBIS (a) show (20) ib6 
TBS ( = 1,  ) show
TBIS (b) show (20) ib6 
TBS ( = -0,4) show

-3400 iyT idyT 7 mul sub moveto
TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show
TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x

xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9
0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9
       /kV40 kV 40 mul def
0 1 39 {/i exch def %i=0,39
        /ikV40 i kV40 add def
        proc_Yexp
        AnYi i
        XANMi ikV40 get XANT sub        YANMi ikV40 get FL add div n1e exp
        XANWL           XANT sub        YANWL           FL add div n1e exp sub
        xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub
        Yexp mul a2 mul fakt mul put                         %A3
        BnYi i
        XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp
        XANWL           mD1 mul bD1 add YANWL           FL add div n1e exp sub
        yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub
        Yexp mul b2 mul fakt mul put                         %B3
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39
} for %kV=0,4

xchart5 1 ge {%xchart5>=1 %XANW,YANW
              newpath
              0
              0
              40 0 360 arc fill
xchart5 2 eq {%xchart5=2 %+TELi
              0 100 sub 350 add
              0 250 sub 150 sub moveto
              TBS TELi xchartx get show
             } if %xchart5=2  %+TELi
             } if %xchart5>=1 %XANW,YANW
} if %xchart3=0  %END Munsell_colours C=2, V=1,2,5,8,9

xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours

0 1 39 {/i exch def %i=0,39
        proc_Yexp
        AnYi i
        XANOi i get XANT sub YANOi i get FL add div n1e exp
        XANWL       XANT sub YANWL       FL add div n1e exp sub
        xxt YOi i get Y18 div 1 sub mul sub xat sub
        Yexp mul a2 mul fakt mul put                     %A3
        BnYi i
        XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp
        XANWL       mD1 mul bD1 add YANWL       FL add div n1e exp sub
        yyt YOi i get Y18 div 1 sub mul sub yat sub
        Yexp mul b2 mul fakt mul put                     %B3
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39

/tab_Ocolors 64 array def %8*8
/tab_Ocolors %BEG tab_Ocolors
[%i rgb         Col Ind
 %0 01  02  03  04    05    06  07
 00 0.0 1.0 1.0 -0100 -0250 (C) (O)
 06 0.0 1.0 0.0  0100 -0050 (G) (O)
 09 0.8 1.0 0.0 -0100  0100 (Y) (x)
 13 1.0 1.0 0.0 -0100  0100 (Y) (O)

 20 1.0 0.0 0.0 -0100  0100 (R) (O)
 26 1.0 0.0 1.0 -0350 -0100 (M) (O)
 29 0.2 0.0 1.0 -0100 -0250 (V) (n)
 33 0.0 0.0 1.0 -0100 -0250 (B) (O)
] def %END tab_Ocolors

0 1 7 {/i exch def %i=0,7
       /i0 i 8 mul def
       /i1 i0 1 add def
       /i2 i0 2 add def
       /i3 i0 3 add def
       /i4 i0 4 add def
       /i5 i0 5 add def
       /i6 i0 6 add def
       /i7 i0 7 add def
       
       /k tab_Ocolors i0 get def
       tab_Ocolors i1 get
       tab_Ocolors i2 get
       tab_Ocolors i3 get setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc fill
       0 0 0 setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc stroke
       newpath
       AnYi k get tab_Ocolors i4 get add
       BnYi k get tab_Ocolors i5 get add moveto
       
       xchart7 1 eq {%xchart7=1 Name
       TBIS tab_Ocolors i6 get show 
        tab_Ocolors i7 get ib6 TBS
                    } if %xchart7=1 Name

       xchart7 2 eq {%xchart7=2 YOi
       TBIS YOi k get cvishow
                    } if %xchart7=2 Yoi
       newpath
      } for %i=0,7

         } if %xchart3=1 %END Ostwald_Colours

xtrans4 neg ytrans4 neg translate %for scala and graphic

} if %xchartl=4 %(A3,B3)

%************************
xchartl 5 eq {%xchartl=5 %(A4,B4) (a4=(x-XANT)/y, b4=mP1*x+bP1)

/fakt 40 def %default
xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours

/a2 1.00 def
/b2 -0.4 def

/xtrans5 3500 def
/ytrans5 2000 def
xtrans5 ytrans5 translate %for scala and graphic

proc_tab1N

-3400 iyT idyT 4 mul sub moveto
TBIS (a) show xchartl 1 sub cvicvs ib6
TBS ( = ) show
TBIS (a) show (20) ib6 
TBS ( [) show
TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show
TBS (]) show

-3400 iyT idyT 5 mul sub moveto
TBIS (b) show xchartl 1 sub cvicvs ib6
%TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show
%TBS (+) show TBIS (b) show (P1) ib6
TBS (=) show
TBIS (b) show (20) ib6
TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show
TBS (+) show    TBIS (b) show (P1) ib6
TBS (\051) show TBIS (/y) show TBS (]) show

-3400 iyT idyT 6 mul sub moveto
TBIS (a) show (20) ib6 
TBS ( = 1,  ) show
TBIS (b) show (20) ib6 
TBS ( = -0,4) show

-3400 iyT idyT 7 mul sub moveto
TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show
TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x

xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9
0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9
       /kV40 kV 40 mul def
0 1 39 {/i exch def %i=0,39
        /ikV40 i kV40 add def
        proc_Yexp
        AnYi i
        XANMi ikV40 get XANT sub        YANMi ikV40 get FL add div n1e exp
        XANWL           XANT sub        YANWL           FL add div n1e exp sub
        xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub
        Yexp mul a2 mul fakt mul put                         %A4
        BnYi i
        XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp
        XANWL           mP1 mul bP1 add YANWL           FL add div n1e exp sub
        yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub
        Yexp mul b2 mul fakt mul put                         %B4
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39
} for %kV=0,4

xchart5 1 ge {%xchart5>=1 %XANW,YANW
              newpath
              0
              0
              40 0 360 arc fill
xchart5 2 eq {%xchart5=2 %+TELi
              0 100 sub 350 add
              0 250 sub 150 sub moveto
              TBS TELi xchartx get show
             } if %xchart5=2  %+TELi
             } if %xchart5>=1 %XANW,YANW
} if %xchart3=0  %END Munsell_colours C=2, V=1,2,5,8,9

xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours

0 1 39 {/i exch def %i=0,39
        proc_Yexp
        AnYi i
        XANOi i get XANT sub YANOi i get FL add div n1e exp
        XANWL       XANT sub YANWL       FL add div n1e exp sub
        xxt YOi i get Y18 div 1 sub mul sub xat sub
        Yexp mul a2 mul fakt mul put                     %A4
        BnYi i
        XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp
        XANWL       mP1 mul bP1 add YANWL       FL add div n1e exp sub
        yyt YOi i get Y18 div 1 sub mul sub yat sub
        Yexp mul b2 mul fakt mul put                     %B4
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39

/tab_Ocolors 64 array def %8*8
/tab_Ocolors %BEG tab_Ocolors
[%i rgb         Col Ind
 %0 01  02  03  04    05    06  07
 00 0.0 1.0 1.0 -0100 -0250 (C) (O)
 06 0.0 1.0 0.0  0100 -0050 (G) (O)
 09 0.8 1.0 0.0 -0100  0100 (Y) (x)
 13 1.0 1.0 0.0 -0100  0100 (Y) (O)

 20 1.0 0.0 0.0 -0100  0100 (R) (O)
 26 1.0 0.0 1.0 -0350 -0100 (M) (O)
 29 0.2 0.0 1.0 -0100 -0250 (V) (n)
 33 0.0 0.0 1.0 -0100 -0250 (B) (O)
] def %END tab_Ocolors

0 1 7 {/i exch def %i=0,7
       /i0 i 8 mul def
       /i1 i0 1 add def
       /i2 i0 2 add def
       /i3 i0 3 add def
       /i4 i0 4 add def
       /i5 i0 5 add def
       /i6 i0 6 add def
       /i7 i0 7 add def
       
       /k tab_Ocolors i0 get def
       tab_Ocolors i1 get
       tab_Ocolors i2 get
       tab_Ocolors i3 get setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc fill
       0 0 0 setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc stroke
       newpath
       AnYi k get tab_Ocolors i4 get add
       BnYi k get tab_Ocolors i5 get add moveto
       
       xchart7 1 eq {%xchart7=1 Name
       TBIS tab_Ocolors i6 get show 
        tab_Ocolors i7 get ib6 TBS
                    } if %xchart7=1 Name

       xchart7 2 eq {%xchart7=2 YOi
       TBIS YOi k get cvishow
                    } if %xchart7=2 Yoi
       newpath
      } for %i=0,7

         } if %xchart3=1 %END Ostwald_Colours

xtrans5 neg ytrans5 neg translate %for scala and graphic

} if %xchartl=5 %(A4,B4)

%************************
xchartl 6 eq {%xchartl=6 %(A5,B5) (a5=[x-XANT]/y, b5=mD1*x+bD1)

/fakt 40 def %default
xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours

/a2 1.00 def
/b2 -0.4 def

/A51  0.86120 def
/A52 -0.71966 def
/A53 -0.02689 def
/B51  0.19907 def
/B52  0.38617 def
/B53 -0.24046 def
%a=(a51*x+a52*y+a53)/y
%b=(b51*x+b52*y+b53)/y
/a2x 1.0 def
/b2x 1.0 def

/xtrans6 3500 def
/ytrans6 2000 def
xtrans6 ytrans6 translate %for scala and graphic

proc_tab1N

-3400 iyT idyT 4 mul sub moveto
TBIS (a) show xchartl 1 sub cvicvs ib6
TBS (=) show
TBIS (a) show (2x) ib6
TBS ([\050) show A51 cvsshow2x TBIS (x) show
TBS A52 cvsshow2x TBIS (y) show
TBS A53 cvsshow3x (\051/) show TBIS (y) show
TBS (]) show

-3400 iyT idyT 5 mul sub moveto
TBIS (b) show xchartl 1 sub cvicvs ib6
TBS (=) show
TBIS (b) show (2x) ib6
TBS ([\050) show B51 cvsshow2x TBIS (x) show
TBS (+) show B52 cvsshow2x TBIS (y) show
TBS B53 cvsshow3x (\051/) show TBIS (y) show
TBS (]) show

-3400 iyT idyT 6 mul sub moveto
TBIS (a) show (2x) ib6
TBS ( = ) show a2x cvsshow2x (, ) show
TBIS (b) show (2x) ib6
TBS ( = ) show b2x cvsshow2x

-3400 iyT idyT 7 mul sub moveto
SS (l) show (B,G,Y,R) ib6 TBS (=475,503,574,494c,E nm) show

xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9
0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9
       /kV40 kV 40 mul def
0 1 39 {/i exch def %i=0,39
        /ikV40 i kV40 add def
        proc_Yexp
        AnYi i
        XANMi ikV40 get A51 mul YANMi ikV40 get A52 mul add A53 add
        YANMi ikV40 get FL add div n1e exp
        XANWL           A51 mul YANWL           A52 mul add A53 add
        YANWL           FL add div n1e exp sub
        xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub        
        Yexp mul a2x mul fakt mul put                         %A5
        BnYi i
        XANMi ikV40 get B51 mul YANMi ikV40 get B52 mul add B53 add
        YANMi ikV40 get FL add div n1e exp
        XANWL           B51 mul YANWL           B52 mul add B53 add
        YANWL           FL add div n1e exp sub
        yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub
        Yexp mul b2x mul fakt mul put                         %B5
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39
} for %kV=0,4

xchart5 1 ge {%xchart5>=1 %XANW,YANW
              newpath
              0
              0
              40 0 360 arc fill
xchart5 2 eq {%xchart5=2 %+TELi
              0 100 sub 350 add
              0 250 sub 150 sub moveto
              TBS TELi xchartx get show
             } if %xchart5=2  %+TELi
             } if %xchart5>=1 %XANW,YANW
} if %xchart3=0  %END Munsell_colours C=2, V=1,2,5,8,9

xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours

0 1 39 {/i exch def %i=0,39
        proc_Yexp
        AnYi i
        XANOi i get A51 mul YANOi i get A52 mul add A53 add
        YANOi i get FL add div n1e exp
        XANWL       A51 mul YANWL       A52 mul add A53 add
        YANWL       FL add div n1e exp sub
        xxt YOi i get Y18 div 1 sub mul sub xat sub
        Yexp mul a2x mul fakt mul put                         %A5
        BnYi i
        XANOi i get B51 mul YANOi i get B52 mul add B53 add
        YANOi i get FL add div n1e exp
        XANWL       B51 mul YANWL       B52 mul add B53 add
        YANWL       FL add div n1e exp sub
        yyt YOi i get Y18 div 1 sub mul sub yat sub
        Yexp mul b2x mul fakt mul put                         %B5
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39

/tab_Ocolors 64 array def %8*8
/tab_Ocolors %BEG tab_Ocolors
[%i rgb         Col Ind
 %0 01  02  03  04    05    06  07
 00 0.0 1.0 1.0 -0100 -0250 (C) (O)
 06 0.0 1.0 0.0  0100 -0050 (G) (O)
 09 0.8 1.0 0.0 -0100  0100 (Y) (x)
 13 1.0 1.0 0.0 -0100  0100 (Y) (O)

 20 1.0 0.0 0.0 -0100  0100 (R) (O)
 26 1.0 0.0 1.0 -0350 -0100 (M) (O)
 29 0.2 0.0 1.0 -0100 -0250 (V) (n)
 33 0.0 0.0 1.0 -0100 -0250 (B) (O)
] def %END tab_Ocolors

0 1 7 {/i exch def %i=0,7
       /i0 i 8 mul def
       /i1 i0 1 add def
       /i2 i0 2 add def
       /i3 i0 3 add def
       /i4 i0 4 add def
       /i5 i0 5 add def
       /i6 i0 6 add def
       /i7 i0 7 add def
       
       /k tab_Ocolors i0 get def
       tab_Ocolors i1 get
       tab_Ocolors i2 get
       tab_Ocolors i3 get setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc fill
       0 0 0 setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc stroke
       newpath
       AnYi k get tab_Ocolors i4 get add
       BnYi k get tab_Ocolors i5 get add moveto
       
       xchart7 1 eq {%xchart7=1 Name
       TBIS tab_Ocolors i6 get show 
        tab_Ocolors i7 get ib6 TBS
                    } if %xchart7=1 Name

       xchart7 2 eq {%xchart7=2 YOi
       TBIS YOi k get cvishow
                    } if %xchart7=2 Yoi
       newpath
      } for %i=0,7
    
         } if %xchart3=1 %END Ostwald_Colours

xtrans6 neg ytrans6 neg translate %for scala and graphic

} if %xchartl=6 %(A5,B5)

%************************
xchartl 7 eq {%xchartl=7 %(A6,B6) (a6=x/y, b6=mD1*x+bD1)

/fakt 40 def %default
xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours

/a2 1.00 def
/b2 -0.4 def

/xtrans7 3500 def
/ytrans7 2000 def
xtrans7 ytrans7 translate %for scala and graphic

proc_tab1N

-3400 iyT idyT 4 mul sub moveto
TBIS (a) show xchartl 1 sub cvicvs ib6
TBS ( = ) show
TBIS (a) show (20) ib6 
TBS ( [) show
TBIS (x/y) show
TBS (]) show

-3400 iyT idyT 5 mul sub moveto
TBIS (b) show xchartl 1 sub cvicvs ib6
%TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show
%TBS (+) show TBIS (b) show (D1) ib6
TBS (=) show
TBIS (b) show (20) ib6
TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show
TBS (+) show    TBIS (b) show (D1) ib6
TBS (\051) show TBIS (/y) show TBS (]) show

-3400 iyT idyT 6 mul sub moveto
TBIS (a) show (20) ib6 
TBS ( = 1,  ) show
TBIS (b) show (20) ib6 
TBS ( = -0,4) show

xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9
0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9
       /kV40 kV 40 mul def
0 1 39 {/i exch def %i=0,39
        /ikV40 i kV40 add def
        proc_Yexp
        AnYi i
        XANMi ikV40 get                 YANMi ikV40 get FL add div n1e exp
        XANWL                           YANWL           FL add div n1e exp sub
        xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub
        Yexp mul a2 mul fakt mul put                      %A6
        BnYi i 
        XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp
        XANWL           mD1 mul bD1 add YANWL           FL add div n1e exp sub
        yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub
        Yexp mul b2 mul fakt mul put                      %B6
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39
} for %kV=0,4

xchart5 1 ge {%xchart5>=1 %XANW,YANW
              newpath
              0
              0
              40 0 360 arc fill
xchart5 2 eq {%xchart5=2 %+TELi
              0 100 sub 350 add
              0 250 sub 150 sub moveto
              TBS TELi xchartx get show
             } if %xchart5=2  %+TELi
             } if %xchart5>=1 %XANW,YANW
} if %xchart3=0  %END Munsell_colours C=2, V=1,2,5,8,9

xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours

0 1 39 {/i exch def %i=0,39
        proc_Yexp
        AnYi i
        XANOi i get          YANOi i get FL add div n1e exp
        XANWL                YANWL       FL add div n1e exp sub
        xxt YOi i get Y18 div 1 sub mul sub xat sub
        Yexp mul a2 mul fakt mul put                    %A6
        BnYi i
        XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp
        XANWL       mD1 mul bD1 add YANWL       FL add div n1e exp sub
        yyt YOi i get Y18 div 1 sub mul sub yat sub
        Yexp mul b2 mul fakt mul put                    %B6
        AnYi i get BnYi i get
        i 0 eq {moveto} if
        i 1 ge i 38 le and {lineto} if
        i 39 eq {lineto closepath stroke} if
       } for %i=0,39

/tab_Ocolors 64 array def %8*8
/tab_Ocolors %BEG tab_Ocolors
[%i rgb         Col Ind
 %0 01  02  03  04    05    06  07
 00 0.0 1.0 1.0 -0100 -0250 (C) (O)
 06 0.0 1.0 0.0  0100 -0050 (G) (O)
 09 0.8 1.0 0.0 -0100  0100 (Y) (x)
 13 1.0 1.0 0.0 -0100  0100 (Y) (O)

 20 1.0 0.0 0.0 -0100  0100 (R) (O)
 26 1.0 0.0 1.0 -0350 -0100 (M) (O)
 29 0.2 0.0 1.0 -0100 -0250 (V) (n)
 33 0.0 0.0 1.0 -0100 -0250 (B) (O)
] def %END tab_Ocolors

0 1 7 {/i exch def %i=0,7
       /i0 i 8 mul def
       /i1 i0 1 add def
       /i2 i0 2 add def
       /i3 i0 3 add def
       /i4 i0 4 add def
       /i5 i0 5 add def
       /i6 i0 6 add def
       /i7 i0 7 add def
       
       /k tab_Ocolors i0 get def
       tab_Ocolors i1 get
       tab_Ocolors i2 get
       tab_Ocolors i3 get setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc fill
       0 0 0 setrgbcolor
       AnYi k get BnYi k get 50 0 360 arc stroke
       newpath
       AnYi k get tab_Ocolors i4 get add
       BnYi k get tab_Ocolors i5 get add moveto
       
       xchart7 1 eq {%xchart7=1 Name
       TBIS tab_Ocolors i6 get show 
        tab_Ocolors i7 get ib6 TBS
                    } if %xchart7=1 Name

       xchart7 2 eq {%xchart7=2 YOi
       TBIS YOi k get cvishow
                    } if %xchart7=2 Yoi
       newpath
      } for %i=0,7
    
         } if %xchart3=1 %END Ostwald_Colours

xtrans7 neg ytrans7 neg translate %for scala and graphic

} if %xchartl=7

} if %xchart10=1 long loop 1700 lines!

%END 'CL10'Y11_XCHART1A_1.PS
%***************************************************************

%END INC Y11_XCHART10_0/1/2.PS

%************************
%special space for 'xm03'PROZ0.COM 2x before/after xchartl
  xchartl   0 eq {  100 neg 13000 neg translate} if
  xchartl   1 eq { 6100 neg 13000 neg translate} if
  xchartl   2 eq {  100 neg 08750 neg translate} if
  xchartl   3 eq { 6100 neg 08750 neg translate} if

  xchartl   4 eq {  100 neg  4500 neg translate} if
  xchartl   5 eq { 6100 neg  4500 neg translate} if
  xchartl   6 eq {  100 neg  0250 neg translate} if
  xchartl   7 eq { 6100 neg  0250 neg translate} if

%} for %xchart3=0,1 %0=Munsell, 1=Ostwald

%showpage %XA
grestore
} for %xchartl=0,7 %8 chromaticity diagrams

showpage %7R&7N
grestore

%} for %xchartx=0,7 %8 illuminants

%%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
%!PS-Adobe-3.0 EPSF-3.0 CE221-8,
%%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     (CE221-8,) 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 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 20070101
%%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
/showea {1 lanind le {show} {pop} ifelse} bind def

/lanind1 01 def /lanind2 01 def /lanindd 01 def
/colorm1 00 def /colorm2 00 def /colormd 01 def
/deintp1 00 def /deintp2 00 def /deintpd 01 def
/xcolor1 00 def /xcolor2 00 def /xcolord 01 def
/xchart1 00 def /xchart2 00 def /xchartd 01 def
/pchart1 00 def /pchart2 00 def /pchartd 01 def
/colsep1 00 def /colsep2 00 def /colsepd 01 def
/pmetam1 00 def /pmetam2 00 def /pmetamd 01 def

/lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def
                    /lanindd laninddf def} if
/colormf where {pop /colorm1 colormf def /colorm2 colormf def
                    /colormd colormdf def} if
/deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def
                    /deintpd deintpdf def} if
/xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def
                    /xcolord xcolordf def} if
/xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def
                    /xchartd xchartdf def
                    /xchartm xchart2f xchart1f sub 1 add def}
               {/xchartm 1 def} ifelse
/xchart3f where {pop /xchart3 xchart3f def}
                {/xchart3 1 def} ifelse
/xchart4f where {pop /xchart4 xchart4f def}
                {/xchart4 0 def} ifelse
/xchart5f where {pop /xchart5 xchart5f def}
                {/xchart5 0 def} ifelse
/pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def
                    /pchartd pchartdf def} if
/colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def
                    /colsepd colsepdf def} if
/pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def
                    /pmetamd pmetamdf def} if

/lanind lanind1 def %
/colorm colorm1 def %
/deintp deintp1 def %
/xcolor xcolor1 def %
/xchart xchart1 def %
/pchart pchart1 def %
/colsep colsep1 def %
/pmetam pmetam1 def %

/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 0 def
/i*ptrsc 0 def

gsave

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

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 xchart3 lt {/Txx (-) def /Fxx (-) def} if

xchart xchart3 ge {%xchart>=xchart3

/i0 12 def
/i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def
2.5 MM /Times-ISOL1 FS
x i0 get MM 40 MM add y i0 get MM 1 MM sub moveto
lanind cvishow (-) show
colorm cvishow
deintp cvishow
xcolor cvishow
xchart cvishow
pchart cvishow
colsep cvishow (-F) show pmetam cvishow

} if %xchart>=xchart3

/xt 1 def
xchart 1 eq {/xt 1 def} if

xt 0 eq {%xt=0,1 ifelse

/i0 12 def
/i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def
2.5 MM /Times-ISOL1 FS
x i0 get MM 110 MM add y i0 get MM 1 MM sub moveto
(http://130.149.60.45/~farbmetrik/CE22/CE22) show
colorm cvishow deintp cvishow
colorm 0 eq {(N) show} {(F) show} ifelse (P.PDF  & ) show
(http://130.149.60.45/~farbmetrik/CE22/CE22) show
colorm cvishow deintp cvishow
colorm 0 eq {(N) show} {(F) show} ifelse (P.TXT  & ) show
(http://130.149.60.45/~farbmetrik/CE22/CE22.HTM) show

} %xt=0

{ %xt=1
/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 -16 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

%xchart3 0 def %with Munsell colours
%xchart3 1 def %with Ostwald colours
%xchart3 2 det %without any colour
%steered: xchart3 2 def %diagram 0:Munsell colours, 1:Ostwald colours, 2:-

%xchart5 0 def %without marc illuminant and text
%xchart5 1 def %with marc illuminant
%xchart5 2 def %with marc illuminant and text
%steered: xchart5 2 def %0:-, 1:illuminant, 2:illuminant and text

%xchart6 0 def %without chromaticity_lines
%xchart6 1 def %with chromaticity_lines
%xchart6 2 def %with chromaticity_lines and names
/xchart6 2 def %0:-, 1:chromaticity_lines 2:chromaticity_lines & names

%xchart7 0 def %Ostwald colours without Name or Y
%xchart7 1 def %Ostwald colours with Name
%xchart7 2 def %Ostwald colours with CIE Y
/xchart7 2 def %0:-, 1:Name, 2:Y 

%xchartl with          0    1    2    3    4    5    6    7
%xchart8 0 def %0:Pxx (P60, P55, P50, P45, P40, P35, P30, P25) colours
%xchart8 1 def %1:Dxx (D65, D50, P40, A00, E00, C00, P00, Q00) colours
/xchart8 0 def %0:Pxx, 1:Dxx colours

%xchart9 0 def %for Y10-7R.EPS -> Table XYZ, not used here
%xchart9 1 def %for Y10-7R.EPS -> Table CAB, not used here
%xchart9 2 def %for Y10-7R.EPS -> Table (a,b), not used here
/xchart9 0 def %Table 0:(XYZ), 1:(CAB), 2(ab)

%xchart10 0 def %for Y10E00NA.PS6.PS -> chromaticity coordinates (ai,bi)
%xchart10 1 def %for Y10E00NA.PS6.PS -> chromatic values (Ai,Bi)
%xchart10 2 def %for Y10E00NA.PS6.PS -> chroma (A*i,B*i)
/xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i)

/TELi 8 array def
xchart8 0 eq {%xchart8=0
/TELi [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def
             }%xchart8=0
             {%xchart8=1
/TELi [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def
             } ifelse %xchart8=1

/10TIN {10 /Times-ISOL1 FS} def
/10TRN {10 /Times-Roman FS} def
/12TIN {12 /Times-ISOL1 FS} def
/12TRN {12 /Times-Roman FS} def

/10TII {10 /TimesI-ISOL1 FS} def
/10TRI {10 /Times-Italic FS} def
/12TII {12 /TimesI-ISOL1 FS} def
/12TRI {12 /Times-Italic FS} def

/10TIB {10 /TimesB-ISOL1 FS} def
/10TRB {10 /Times-Bold FS} def
/12TIB {12 /TimesB-ISOL1 FS} def
/12TRB {12 /Times-Bold FS} def

/10TIBI {10 /TimesBI-ISOL1 FS} def
/10TRBI {10 /Times-BoldItalic FS} def
/12TIBI {12 /TimesBI-ISOL1 FS} def
/12TRBI {12 /Times-BoldItalic FS} def

%special
/10TIN10  {10TIN 0 -3 rmoveto 
           xcolor 1 eq {(10) show} if 0 3 rmoveto} def
/10TINi10 {10TIN 0 -3 rmoveto (i) show
           xcolor 1 eq {(,10) show} if 0 3 rmoveto} def

0 setgray
12TIN
61 MM 14 MM  moveto
(TUB\255Pr\374fvorlage CE22; ) showde                           %0CE22X-Y 0000#
(TUB\255test chart CE22; ) showen                               %1CE22X-Y 0000#
(gr\341fico TUB\255CE22; ) showes                               %2CE22X-Y 0000#
(TUB\255test graphique CE22; ) showfr                           %3CE22X-Y 0000#
(grafico TUB\255CE22; ) showit                                  %4CE22X-Y 0000#
(TUB\255test chart CE22; ) showjp                               %5CE22X-Y 0000#

12TIN
(CIE ) show
12TII (\050x) show 10TIN10
12TII (, y) show 10TIN10 12TIN (\051) show
12TIN
( und ) showde
( and ) showea

12TIN
xchart10 0 eq {%xchart10=0
               (Farbarten) showde
               (chromaticities) showea
               12TIN ( \050) show 12TII (a) show 10TINi10
               12TIN (, ) show 12TII (b) show 10TINi10
               12TIN (\051) show
               } if %xchart10=0

xchart10 1 eq {%xchart10=1
               (Buntwerte) showde
               (chromatic values) showea
               12TIN ( \050) show 12TII (A) show 10TINi10
               12TIN (, ) show 12TII (B) show 10TINi10
               12TIN (\051) show
               } if %xchart10=1

xchart10 2 eq {%xchart10=2
               (Buntheiten) showde
               (chroma) showea
               12 /TimesI-ISOL1 FS
               12TIN ( \050) show 12TII (A*) show 10TINi10
               12TIN (, ) show 12TII (B*) show 10TINi10
               12TIN (\051) show
               } if %xchart10=2
    
61 MM 09.5 MM  moveto
xchart3 0 eq {%xchart3=0
12TII (Munsell Chroma) show
12TIN (=2, ) showde
      (=2, ) showea
12TII(Value) show 12TIN (=1,2,5,8 &9 ) show
12TIN (f\374r CIE\255Lichtart C) showde
      (for CIE illuminant C) showea
             } if %xchart3=0
xchart3 1 eq {%xchart3=1
12TII (Ostwald) show 12TIN
(\255Optimalfarben ) showde
( optimal colours ) showea
12TIN (f\374r Lichtart ) showde
      (for illuminant ) showea
TELi xchart get show
             } if %xchart3=1

(; Diagramm f\374r Lichtart ) showde
(; diagram for illuminant ) showea
TELi xchart get show

12TIN (, ) show 12TII (Y) show
10TIN 0 -2 rmoveto (w) show
xcolor 0 eq {() show}{(,10) show} ifelse
0 2 rmoveto
12TIN (=100) show

12TIN
180 MM 14 MM moveto
(Eingabe: ) showde                                              %0CE22X-Y 0500#
(input: ) showen                                                %1CE22X-Y 0500#
(entrada: ) showes                                              %2CE22X-Y 0500#
(entr\351e: ) showfr                                            %3CE22X-Y 0500#
(immettere: ) showit                                            %4CE22X-Y 0500#
(input: ) showjp                                                %5CE22X-Y 0500#
12TII
(w/rgb/cmyk -> rgb) show

/iout 0 def
iout 1 eq {%iout=1

xchart xchart3 lt {(w/rgb/cmyk) show
                  } if
xchart xchart3 ge {%xchart>=xchart3
                   (rgb) show
                  } if %xchart>=xchart3
10TIN 0 -2 rmoveto Txx show 0 2 rmoveto 12TIN

12TIN
165 MM 9 MM moveto
(Ausgabe: ) showde                                              %0CE22X-Y 0600#
(output: ) showen                                               %1CE22X-Y 0600#
(salida: ) showes                                               %2CE22X-Y 0600#
(sortie: ) showfr                                               %3CE22X-Y 0600#
(uscita: ) showit                                               %4CE22X-Y 0600#
(output: ) showjp                                               %5CE22X-Y 0600#

%colorm=0,1!
xchart xchart3 lt {%xchart<xchart3,>=xchart3
                   12TIN
(keine \304nderung) showde                                      %0CE22X-Y 0700#
(no change) showen                                              %1CE22X-Y 0700#
(ning\372n cambio) showes                                       %2CE22X-Y 0700#
(aucun changement) showfr                                       %3CE22X-Y 0700#
(nessun cambiamento) showit                                     %4CE22X-Y 0700#
(no change compared) showjp                                     %5CE22X-Y 0700#
            }%xchart<xchart3

            {%xchart>=xchart3
             12TIN
             colorm 0 eq {%colorm=0
(Transfer nach ) showde                                         %0CE22X-Y 0800#
(transfer to ) showen                                           %1CE22X-Y 0800#
(transfiera a ) showes                                          %2CE22X-Y 0800#
(transf\351rer \340 ) showfr                                    %3CE22X-Y 0800#
(trasferire a ) showit                                          %4CE22X-Y 0800#
(transfer to ) showjp                                           %5CE22X-Y 0800#
                         }%colorm=0
                         {%colorm=1
(3D\255Linearisierung ) showde                                  %0CE22X-Y 0900#
(3D\255linearization to ) showen                                %1CE22X-Y 0900#
(3D\255linealizaci\363n a ) showes                              %2CE22X-Y 0900#
(linearisation 3D selon ) showfr                                %3CE22X-Y 0900#
(3D\255linearizzazione a ) showit                               %4CE22X-Y 0900#
(3D\255linearization to ) showjp                                %5CE22X-Y 0900#
                         } ifelse %colorm=1
12TII
xchart5f 0 eq {(rgb)  show} if
xchart5f 1 eq {(cmyk) show} if
xchart5f 2 eq {(cmy0) show} if
xchart5f 3 eq {(cmyk) show} if
colorm 1 eq {(*) show} if
10TIN 0 -2 rmoveto Txx show 0 2 rmoveto 12TIN
} ifelse %xchart<xchart3,>=xchart3

} if %iout=1

%0 setgray %end white and unvisible

 62 MM 198.5 MM  moveto
12TRN (http://farbe.li.tu-berlin.de/CE22/CE22) show 12TIN
(L0) show
LSC$ show LEX$ show

iout 1 eq {%iout=1
%1 setgray %start white and unvisible
(; ) show
xchart xchart3 lt {
(Start\255Ausgabe) showde                                       %0CE22X-Y 1000#
(start output) showen                                           %1CE22X-Y 1000#
(comience salida) showes                                        %2CE22X-Y 1000#
(sortie de production) showfr                                   %3CE22X-Y 1000#
(cominciare l'uscita) showit                                    %4CE22X-Y 1000#
(start output) showjp                                           %5CE22X-Y 1000#
           } if
LSC$ (C) eq {
(Start\255Ausgabe) showde                                       %0CE22X-Y 1100#
(start output) showen                                           %1CE22X-Y 1100#
(comience salida) showes                                        %2CE22X-Y 1100#
(sortie de production) showfr                                   %3CE22X-Y 1100#
(cominciare l'uscita) showit                                    %4CE22X-Y 1100#
(start output) showjp                                           %5CE22X-Y 1100#
           } if
xchart xchart3 ge {%xchart>=xchart3
colorm 0 eq {%colorm=0,1
(Transfer Ausgabe) showde                                       %0CE22X-Y 1200#
(transfer output) showen                                        %1CE22X-Y 1200#
(salida de transferencia) showes                                %2CE22X-Y 1200#
(sortie de transfert) showfr                                    %3CE22X-Y 1200#
(uscita di trasferimento) showit                                %4CE22X-Y 1200#
(transfer output) showjp                                        %5CE22X-Y 1200#
            }%colorm=0
            {%colorm=1
(3D\255Linearisierung) showde                                   %0CE22X-Y 1300#
(3D\255linearization) showen                                    %1CE22X-Y 1300#
(3D\255linealizaci\363n) showes                                 %2CE22X-Y 1300#
(linearisation 3D) showfr                                       %3CE22X-Y 1300#
(3D\255linearizzzazione) showit                                 %4CE22X-Y 1300#
(3D\255linearization) showjp                                    %5CE22X-Y 1300#
            } ifelse %colorm=0,1
            } if %xchart>=xchart3
} if %iout=1

 62 MM 194 MM  moveto
12TIN
LSC$ (N) eq LSC$ (C) eq or {
(N: Keine 3D\255Linearisierung (OL) ) showde                    %0CE22X-Y 1400#
(N: no 3D\255linearization (OL) ) showen                        %1CE22X-Y 1400#
(N: ninguna 3D\255linealizaci\363n (OL) ) showes                %2CE22X-Y 1400#
(N: aucun linearisation 3D (OL) ) showfr                        %3CE22X-Y 1400#
(N: nessun 3D\255linearizzazione (OL) ) showit                  %4CE22X-Y 1400#
(N: no 3D\255linearization (OL) ) showjp                        %5CE22X-Y 1400#

(in Datei (F) oder PS\255Startup (S)) showde                    %0CE22X-Y 1500#
(in file (F) or PS\255startup (S)) showen                       %1CE22X-Y 1500#
(en archivo (F) o PS\255startup (S)) showes                     %2CE22X-Y 1500#
(dans fichier (F) ou PS\255startup (S)) showfr                  %3CE22X-Y 1500#
(nel file (F) o PS\255startup (S)) showit                       %4CE22X-Y 1500#
(in file (F) or PS\255startup (S)) showjp                       %5CE22X-Y 1500#
           }
           {LSC$ show (: ) show
(3D\255Linearisierung) showde                                   %0CE22X-Y 1600#
(3D\255linearization) showen                                    %1CE22X-Y 1600#
(3D\255linealizaci\363n) showes                                 %2CE22X-Y 1600#
(linearisation 3D) showfr                                       %3CE22X-Y 1600#
(3D\255linearizzzazione) showit                                 %4CE22X-Y 1600#
(3D\255linearization) showjp                                    %5CE22X-Y 1600#
( CE22/CE22L) show
LSS$ show LSX$ show (0) show
LSC$ show LEY$ show
          } ifelse
LSC$ (F) eq {
( in Datei (F)) showde                                          %0CE22X-Y 1700#
( in file (F)) showen                                           %1CE22X-Y 1700#
( en archivo (F)) showes                                        %2CE22X-Y 1700#
( dans fichier (F)) showfr                                      %3CE22X-Y 1700#
( nel file (F)) showit                                          %4CE22X-Y 1700#
( in file (F)) showjp                                           %5CE22X-Y 1700#
           } if
LSC$ (S) eq {
( im Distiller Startup (S) Directory) showde                    %0CE22X-Y 1800#
( in Distiller Startup (S) Directory) showen                    %1CE22X-Y 1800#
( en el Distiller Startup (S) Directory) showes                 %2CE22X-Y 1800#
( dans le Distiller Startup (S) Directory) showfr               %3CE22X-Y 1800#
( nel Distiller Startup (S) Directory) showit                   %4CE22X-Y 1800#
( in Distiller Startup (S) Directory) showjp                    %5CE22X-Y 1800#
           } if
LSC$ (D) eq {
( in PS\255Device (D)) showde                                   %0CE22X-Y 1900#
( in PS\255device (D)) showen                                   %1CE22X-Y 1900#
( en el PS\255device (D)) showes                                %2CE22X-Y 1900#
( dans l'appareil PS (D)) showfr                                %3CE22X-Y 1900#
( nel PS\255dispositivo (D)) showit                             %4CE22X-Y 1900#
( in PS\255Device (D)) showjp                                   %5CE22X-Y 1900#
           } if
LSC$ (T) eq {
( im Distiller Startup (S) Directory) showde                    %0CE22X-Y 2000#
( in Distiller Startup (S) Directory) showen                    %1CE22X-Y 2000#
( en el Distiller Startup (S) Directory) showes                 %2CE22X-Y 2000#
( dans le Distiller Startup (S) Directory) showfr               %3CE22X-Y 2000#
( nel Distiller Startup (S) Directory) showit                   %4CE22X-Y 2000#
( in Distiller Startup (S) Directory) showjp                    %5CE22X-Y 2000#
           } if
LSC$ (E) eq {
( in PS\255Device (D)) showde                                   %0CE22X-Y 2100#
( in PS\255device (D)) showen                                   %1CE22X-Y 2100#
( en el PS\255device (D)) showes                                %2CE22X-Y 2100#
( dans appareil PS (D)) showfr                                  %3CE22X-Y 2100#
( nel PS\255dispositivo (D)) showit                             %4CE22X-Y 2100#
( in PS\255Device (D)) showjp                                   %5CE22X-Y 2100#
           } if
%0 setgray %end white and unvisible

(, Seite ) showde                                               %0CE22X-Y 2200#
(, page ) showen                                                %1CE22X-Y 2200#
(, p\341gina ) showes                                           %2CE22X-Y 2200#
(, page ) showfr                                                %3CE22X-Y 2200#
(, pagina ) showit                                              %4CE22X-Y 2200#
(, page ) showjp                                                %5CE22X-Y 2200#
xchart 1 add cvishow (/) show
xchartm cvishow

 16 MM 185 MM moveto
12TIN
-90 rotate
(Siehe \344hnliche Dateien: ) showde                            %0CE22X-Y 2300#
(see similar files: ) showen                                    %1CE22X-Y 2300#
(vea archivos semejantes: ) showes                              %2CE22X-Y 2300#
(voir des fichiers similaires: ) showfr                         %3CE22X-Y 2300#
(vedere dei file simili: ) showit                               %4CE22X-Y 2300#
(see similar files: ) showjp                                    %5CE22X-Y 2300#
12TRN (http://farbe.li.tu-berlin.de/CE22/CE22.HTM) show 12TIN
%(0) show
%LSC$ show LEX$ show
90 rotate

 12 MM 185 MM moveto
12TIN
-90 rotate
(Technische Information: ) showde                               %0CE22X-Y 2400#
(technical information: ) showen                                %1CE22X-Y 2400#
(informaci\363n t\351cnica: ) showes                            %2CE22X-Y 2400#
(informations techniques: ) showfr                              %3CE22X-Y 2400#
(informazioni tecniche: ) showit                                %4CE22X-Y 2400#
(technical information: ) showjp                                %5CE22X-Y 2400#
12TRN (http://farbe.li.tu-berlin.de) show 12TIN
( oder ) showde                                                 %0CE22X-Y 2500#
( or ) showen                                                   %1CE22X-Y 2500#
( o ) showes                                                    %2CE22X-Y 2500#
( ou ) showfr                                                   %3CE22X-Y 2500#
( o ) showit                                                    %4CE22X-Y 2500#
( or ) showjp                                                   %5CE22X-Y 2500#
12TRN (http://130.149.60.45/~farbmetrik) show 12TIN
 90 rotate

281 MM 185 MM moveto
12TIN
-90 rotate
(TUB\255Registrierung: 20170801\255CE22/CE22L) showde           %0CE22X-Y 2600#
(TUB registration: 20170801\255CE22/CE22L) showen               %1CE22X-Y 2600#
(TUB matr\355cula: 20170801\255CE22/CE22L) showes               %2CE22X-Y 2600#
(TUB enregistrement: 20170801\255CE22/CE22L) showfr             %3CE22X-Y 2600#
(TUB iscrizione: 20170801\255CE22/CE22L) showit                 %4CE22X-Y 2600#
(TUB registration: 20170801\255CE22/CE22L) showjp               %5CE22X-Y 2600#
(0) show
LSC$ show LEX$ show
90 rotate

281 MM 74 MM moveto
12TIN
-90 rotate
(TUB\255Material: Code=rha4ta) showde                           %0CE22X-Y 2700#
(TUB material: code=rha4ta) showen                              %1CE22X-Y 2700#
(TUB material: code=rha4ta) showes                              %2CE22X-Y 2700#
(TUB mat\351riel: code=rha4ta) showfr                           %3CE22X-Y 2700#
(TUB materiale: code=rha4ta) showit                             %4CE22X-Y 2700#
(TUB material: code=rha4ta) showjp                              %5CE22X-Y 2700#
90 rotate

277 MM 185 MM moveto
12TIN
-90 rotate
( Anwendung f\374r Messung ) showde                             %0CE22X-Y 2800#
( application for measurement ) showen                          %1CE22X-Y 2800#
( aplicaci\363n para la medida ) showes                         %2CE22X-Y 2800#
( application pour la mesure ) showfr                           %3CE22X-Y 2800#
( la domanda per la misura ) showit                             %4CE22X-Y 2800#
( application for measurement ) showjp                          %5CE22X-Y 2800#

xchart5f 0 eq {%xchart5f=0
(von Display-Ausgabe) showde                                    %0CE22X-Y 2900#
(of display output) showen                                      %1CE22X-Y 2900#
(de display output) showes                                      %2CE22X-Y 2900#
(de sortie sur \350cran) showfr                                 %3CE22X-Y 2900#
(di stampa di display) showit                                   %4CE22X-Y 2900#
(of display output) showjp                                      %5CE22X-Y 2900#
} if %xchart5f=0

xchart5f 1 eq xchart5f 2 eq or {%xchart5f=1,2
(von Offsetdruck\255Ausgabe) showde                             %0CE22X-Y 3000#
(of offset print output) showen                                 %1CE22X-Y 3000#
(salida en la impressi\363n offset) showes                      %2CE22X-Y 3000#
(des sorties sur offset) showfr                                 %3CE22X-Y 3000#
(uscita nella stampa di offset) showit                          %4CE22X-Y 3000#
(of offset print output) showjp                                 %5CE22X-Y 3000#
} if %xchart5f=1,2

xchart5f 3 eq {%xchart5f=3
(von Laserdrucker\255Ausgabe) showde                            %0CE22X-Y 3100#
(of laser printer output) showen                                %1CE22X-Y 3100#
(salida de impresora l\341ser) showes                           %2CE22X-Y 3100#
(des sorties sur imprimante laser) showfr                       %3CE22X-Y 3100#
(di uscita della stampante laser) showit                        %4CE22X-Y 3100#
(of laser printer output) showjp                                %5CE22X-Y 3100#
} if %xchart5f=3

iout 1 eq {%iout=1
xchart xchart3 ge {%xchart>=xchart3
xchart5f 0 eq {%xchart5f=0
(, keine Separation) showde                                     %0CE22X-Y 3200#
(, no separation) showen                                        %1CE22X-Y 3200#
(, ninguna separaci\363n) showes                                %2CE22X-Y 3200#
(, aucune s\351paration) showfr                                 %3CE22X-Y 3200#
(, nessuna separazione) showit                                  %4CE22X-Y 3200#
(, no separation) showjp                                        %5CE22X-Y 3200#
} if %chart5f=0

xchart5f 1 ge {%xchart5f>=1
(, Separation) showde                                           %0CE22X-Y 3300#
(, separation) showen                                           %1CE22X-Y 3300#
(, separaci\363n) showes                                        %2CE22X-Y 3300#
(, s\351paration) showfr                                        %3CE22X-Y 3300#
(, separazione) showit                                          %4CE22X-Y 3300#
(, separation) showjp                                           %5CE22X-Y 3300#
xchart5f 1 eq xchart5f 3 eq or {(cmyn6) show} if
xchart5f 2 eq                  {(cmy0)  show} if
colorm 1 eq {(*) show} if
colsep 0 eq {( (CMYK))}{( (CMY0))} ifelse show
} if %xchart5f>=1
            } if %xchart>=xchart3
} if %iout=1

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

%/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
} ifelse %xt=1

grestore
gsave

%**********************************************************

%%Trailer

%%EndDocument
EndEPSF grestore gsave

showpage
grestore

%} for %colsepf=0,1

%} for %pchartf=0,0

} for %xchartf=0,7

} for %xcolorf=0,1

%} for %deintpf=0,1

%} for %colormf=0,1

%} for %lanindf=0,0

%%Trailer