%!PS-Adobe-3.0 EPSF-3.0 QG820-7N.EPS
%%BoundingBox: 70 82 786 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://130.149.60.45/~farbmetrik/QG82/)
  /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, colour vision)
  /Creator (klaus.richter@mac.com)
  /CreationDate (D:2012030112000)
  /ModDate (D:2012030112000)
/DOCINFO pdfmark07
[ /View [ /FitB ]
/DOCVIEW pdfmark07
%END  PDFDE011
%line 20
/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def
/A4quer {598 0 translate 90 rotate} 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

/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-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

/TK0 {250 /Times-ISOL1 FS} bind def
/TM0 {300 /Times-ISOL1 FS} bind def
/TG0 {350 /Times-ISOL1 FS} bind def

/TIK0 {250 /TimesI-ISOL1 FS} bind def
/TIM0 {300 /TimesI-ISOL1 FS} bind def
/TIG0 {350 /TimesI-ISOL1 FS} bind def

/TBK0 {250 /TimesB-ISOL1 FS} bind def
/TBM0 {300 /TimesB-ISOL1 FS} bind def
/TBG0 {350 /TimesB-ISOL1 FS} bind def

/TBIK0 {250 /TimesBI-ISOL1 FS} bind def
/TBIM0 {300 /TimesBI-ISOL1 FS} bind def
/TBIG0 {350 /TimesBI-ISOL1 FS} bind def

/CKK0 {200 /Courier-ISOL1 FS} bind def
/CK0 {250 /Courier-ISOL1 FS} bind def
/CM0 {300 /Courier-ISOL1 FS} bind def
/CG0 {350 /Courier-ISOL1 FS} bind def

/CBKK0 {200 /CourierB-ISOL1 FS} bind def
/CBK0 {250 /CourierB-ISOL1 FS} bind def
/CBM0 {300 /CourierB-ISOL1 FS} bind def
/CBG0 {350 /CourierB-ISOL1 FS} bind def

/TV1 {160 /Times-ISOL1 FS} bind def
/TS1 {200 /Times-ISOL1 FS} bind def
/TK1 {250 /Times-ISOL1 FS} bind def
/TM1 {300 /Times-ISOL1 FS} bind def
/TG1 {350 /Times-ISOL1 FS} bind def

/TIV1 {160 /TimesI-ISOL1 FS} bind def
/TIS1 {200 /TimesI-ISOL1 FS} bind def
/TIK1 {250 /TimesI-ISOL1 FS} bind def
/TIM1 {300 /TimesI-ISOL1 FS} bind def
/TIG1 {350 /TimesI-ISOL1 FS} bind def

/TBV1 {160 /TimesB-ISOL1 FS} bind def
/TBS1 {200 /TimesB-ISOL1 FS} bind def
/TBK1 {250 /TimesB-ISOL1 FS} bind def
/TBM1 {300 /TimesB-ISOL1 FS} bind def
/TBG1 {350 /TimesB-ISOL1 FS} bind def

/TBIV1 {080 /TimesBI-ISOL1 FS} bind def
/TBIS1 {100 /TimesBI-ISOL1 FS} bind def
/TBIK1 {250 /TimesBI-ISOL1 FS} bind def
/TBIM1 {300 /TimesBI-ISOL1 FS} bind def
/TBIG1 {350 /TimesBI-ISOL1 FS} bind def

/CBKK {200 /CourierB-ISOL1 FS} bind def
/CBK {250 /CourierB-ISOL1 FS} bind def
/CBM {300 /CourierB-ISOL1 FS} bind def
/CBG {350 /CourierB-ISOL1 FS} bind def
/CBKKK {160 /CourierB-ISOL1 FS} bind def

/TV {080 /Times-ISOL1 FS} bind def
/TS {100 /Times-ISOL1 FS} bind def
/TK {125 /Times-ISOL1 FS} bind def
/TM {140 /Times-ISOL1 FS} bind def
/TG {175 /Times-ISOL1 FS} bind def

/TIV {080 /TimesI-ISOL1 FS} bind def
/TIS {100 /TimesI-ISOL1 FS} bind def
/TIK {125 /TimesI-ISOL1 FS} bind def
/TIM {140 /TimesI-ISOL1 FS} bind def
/TIG {175 /TimesI-ISOL1 FS} bind def

/TBV {080 /TimesB-ISOL1 FS} bind def
/TBS {100 /TimesB-ISOL1 FS} bind def
/TBK {125 /TimesB-ISOL1 FS} bind def
/TBM {140 /TimesB-ISOL1 FS} bind def
/TBG {175 /TimesB-ISOL1 FS} bind def

/TBIV {080 /TimesBI-ISOL1 FS} bind def
/TBIS {100 /TimesBI-ISOL1 FS} bind def
/TBIK {125 /TimesBI-ISOL1 FS} bind def
/TBIM {140 /TimesBI-ISOL1 FS} bind def
/TBIG {175 /TimesBI-ISOL1 FS} bind 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

/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

%************************************************************
/RGB54CR_L 162 array def %54x3=162
/RGB54CR_L [%54 colours of colour rendering (CR) test chart
1.000   0.000   0.000  %01 R00Yd %RGB54CR
1.000   0.250   0.000  %02 R25Yd
1.000   0.500   0.000  %03 R50Yd
1.000   0.750   0.000  %04 R75Yd
1.000   1.000   0.000  %05 Y00Gd
0.750   1.000   0.000  %06 Y25Gd
0.500   1.000   0.000  %07 Y50Gd
0.250   1.000   0.000  %08 Y75Gd
0.000   1.000   0.000  %09 G00Bd = 10

0.000   1.000   0.000  %10 G00Bd
0.000   1.000   0.500  %11 G25Bd
0.000   1.000   1.000  %12 G50Bd
0.000   0.500   1.000  %13 G75Bd
0.000   0.000   1.000  %14 B00Rd
0.500   0.000   1.000  %15 B25Rd
1.000   0.000   1.000  %16 B50Rd
1.000   0.000   0.500  %17 B75Rd
1.000   0.000   0.000  %18 R00Yd = 01

1.000   0.500   0.500  %19 R00Yd %lcolors
1.000   0.750   0.500  %20 R50Yd
1.000   1.000   0.500  %21 Y00Gd
0.750   1.000   0.500  %22 Y50Gd
0.500   1.000   0.500  %23 G00Bd
0.500   1.000   1.000  %24 G50Bd
0.500   0.500   1.000  %25 B00Rd
1.000   0.500   1.000  %26 B50Rd
1.000   0.500   0.500  %27 R00Yd = 19

0.750   0.250   0.250  %28 R00Yd %zcolors
0.750   0.500   0.250  %29 R50Yd
0.750   0.750   0.250  %30 Y00Gd
0.500   0.750   0.250  %31 Y50Gd
0.250   0.750   0.250  %32 G00Bd
0.250   0.750   0.750  %33 G50Bd
0.250   0.250   0.750  %34 B00Rd
0.750   0.250   0.750  %35 B50Rd
0.750   0.250   0.250  %36 R00Yd = 28

0.500   0.000   0.000  %37 R00Yd %dcolors
0.500   0.250   0.000  %38 R50Yd
0.500   0.500   0.000  %38 Y00Gd
0.250   0.500   0.000  %40 Y50Gd
0.000   0.500   0.000  %41 G00Bd
0.000   0.500   0.500  %42 G50Bd
0.000   0.000   0.500  %43 B00Rd
0.500   0.000   0.500  %44 B50Rd
0.500   0.000   0.000  %45 R00Yd = 37

0.000   0.000   0.000  %46 N00Wd %ncolors
0.125   0.125   0.125  %47 N13Wd
0.250   0.250   0.250  %48 N25Md
0.375   0.375   0.375  %49 N38Wd
0.500   0.500   0.500  %50 N50Wd
0.625   0.625   0.625  %51 N63Wd
0.750   0.750   0.750  %52 N75Wd
0.875   0.875   0.875  %53 N88Wd
1.000   1.000   1.000  %54 W00Nd = W
] def %54 colours of colour rendering test chart

/RGB54CRt_L 54 array def
/RGB54CRt_L [%high chromatic series:
%relative hue h*, brillance i*, and chroma c*, range 0 ... 100
(R00Y_100_100) (R25Y_100_100) (R50Y_100_100) (R75Y_100_100)
(Y00G_100_100) (Y25G_100_100) (Y50G_100_100) (Y75G_100_100)
(G00B_100_100)
(G00B_100_100) (G25B_100_100) (G50B_100_100) (G75B_100_100)
(B00R_100_100) (B25R_100_100) (B50R_100_100) (B75R_100_100)
(R00Y_100_100)
%whitetish series
(R00Y_100_050) (R50Y_100_050) (Y00G_100_050) (Y50G_100_050)
(G00B_100_050) (G50B_100_050) (B00R_100_050) (B50R_100_050) 
(R00Y_100_050)
%grayish series
(R00Y_075_050) (R50Y_075_050) (Y00G_075_050) (Y50G_075_050)
(G00B_075_050) (G50B_075_050) (B00R_075_050) (B50R_075_050) 
(R00Y_075_050)
%blackish series
(R00Y_050_050) (R50Y_050_050) (Y00G_050_050) (Y50G_050_050)
(G00B_050_050) (G50B_050_050) (B00R_050_050) (B50R_050_050) 
(R00Y_050_050)
%gray series
(NW_000) (NW_013) (NW_025) (NW_038)
(NW_050) (NW_063) (NW_075) (NW_088)
(NW_100)
] def

/RGB54CM_L 162 array def %54x3=162
/RGB54CM_L [%54 colours of colour rendering metamers (CM) test chart
0.750   0.250   0.250  %01 R00Yd %RGB54CM, zcolors
0.750   0.500   0.250  %02 R50Yd
0.750   0.750   0.250  %03 Y00Gd
0.500   0.750   0.250  %04 Y50Gd
0.250   0.750   0.250  %05 G00Bd
0.250   0.750   0.750  %06 G50Bd
0.250   0.250   0.750  %07 B00Rd
0.750   0.250   0.750  %08 B50Rd
0.750   0.250   0.250  %09 R00Yd = 28

0.750   0.250   0.250  %10 R00Yd %RGB54CM, zcolors
0.750   0.500   0.250  %11 R50Yd
0.750   0.750   0.250  %12 Y00Gd
0.500   0.750   0.250  %13 Y50Gd
0.250   0.750   0.250  %14 G00Bd
0.250   0.750   0.750  %15 G50Bd
0.250   0.250   0.750  %16 B00Rd
0.750   0.250   0.750  %17 B50Rd
0.750   0.250   0.250  %18 R00Yd = 28

0.750   0.250   0.250  %19 R00Yd %RGB54CM, zcolors
0.750   0.500   0.250  %20 R50Yd
0.750   0.750   0.250  %21 Y00Gd
0.500   0.750   0.250  %22 Y50Gd
0.250   0.750   0.250  %23 G00Bd
0.250   0.750   0.750  %24 G50Bd
0.250   0.250   0.750  %25 B00Rd
0.750   0.250   0.750  %26 B50Rd
0.750   0.250   0.250  %27 R00Yd = 28

0.000   0.000   0.000  %28 N00Wd %ncolors
0.125   0.125   0.125  %29 N13Wd
0.250   0.250   0.250  %30 N25Md
0.375   0.375   0.375  %31 N38Wd
0.500   0.500   0.500  %32 N50Wd
0.625   0.625   0.625  %33 N63Wd
0.750   0.750   0.750  %34 N75Wd
0.875   0.875   0.875  %35 N88Wd
1.000   1.000   1.000  %36 W00Nd = W

0.000   0.000   0.000  %37 N00Wd %ncolors
0.125   0.125   0.125  %38 N13Wd
0.250   0.250   0.250  %39 N25Md
0.375   0.375   0.375  %40 N38Wd
0.500   0.500   0.500  %41 N50Wd
0.625   0.625   0.625  %42 N63Wd
0.750   0.750   0.750  %43 N75Wd
0.875   0.875   0.875  %44 N88Wd
1.000   1.000   1.000  %45 W00Nd = W

0.000   0.000   0.000  %46 N00Wd %ncolors
0.125   0.125   0.125  %47 N13Wd
0.250   0.250   0.250  %48 N25Md
0.375   0.375   0.375  %49 N38Wd
0.500   0.500   0.500  %50 N50Wd
0.625   0.625   0.625  %51 N63Wd
0.750   0.750   0.750  %52 N75Wd
0.875   0.875   0.875  %53 N88Wd
1.000   1.000   1.000  %54 W00Nd = W
] def %54 colours of colour rendering test chart

/RGB54CMt_L 54 array def
/RGB54CMt_L [%3 times chromatic grayish series, 3 times gray series
%relative hue h*, brillance i*, and chroma c*, range 0 ... 100
%grayish series
(R00Y_075_050) (R50Y_075_050) (Y00G_075_050) (Y50G_075_050)
(G00B_075_050) (G50B_075_050) (B00R_075_050) (B50R_075_050) 
(R00Y_075_050)
%grayish series
(R00Y_075_050) (R50Y_075_050) (Y00G_075_050) (Y50G_075_050)
(G00B_075_050) (G50B_075_050) (B00R_075_050) (B50R_075_050)
(R00Y_075_050)
%grayish series
(R00Y_075_050) (R50Y_075_050) (Y00G_075_050) (Y50G_075_050)
(G00B_075_050) (G50B_075_050) (B00R_075_050) (B50R_075_050)
(R00Y_075_050)
%gray series
(NW_000) (NW_013) (NW_025) (NW_038)
(NW_050) (NW_063) (NW_075) (NW_088)
(NW_100)
%gray series
(NW_000) (NW_013) (NW_025) (NW_038)
(NW_050) (NW_063) (NW_075) (NW_088)
(NW_100)
%gray series
(NW_000) (NW_013) (NW_025) (NW_038)
(NW_050) (NW_063) (NW_075) (NW_088)
(NW_100)
] def

%******************************************************
/F49col00 147 array def %48+1x3
/F49col00 [%Hue circle no. 0 to 47+1; hue circle de
1.000 0.000 0.000 %00 r00ye r00yd %standard e or d interpretation
1.000 0.125 0.000 %01 r12ye r12yd
1.000 0.250 0.000 %02 r25ye r25yd
1.000 0.375 0.000 %03 r37ye r37yd
1.000 0.500 0.000 %04 r50ye r50yd
1.000 0.625 0.000 %05 r62ye r62yd
1.000 0.750 0.000 %06 r75ye r75yd
1.000 0.875 0.000 %07 r87ye r87yd

1.000 1.000 0.000 %08 y00ge y00gd
0.875 1.000 0.000 %09 y12ge y12gd
0.750 1.000 0.000 %10 y25ge y25gd
0.625 1.000 0.000 %11 y37ge y37gd
0.500 1.000 0.000 %12 y50ge y50gd
0.375 1.000 0.000 %13 y62ge y62gd
0.250 1.000 0.000 %14 y75ge y75gd
0.125 1.000 0.000 %15 y87ge y87gd

0.000 1.000 0.000 %16 g00be g00cd
0.000 1.000 0.125 %17 g06be g12cd
0.000 1.000 0.250 %18 g12be g25cd
0.000 1.000 0.375 %19 g18be g37cd
0.000 1.000 0.500 %20 g25be g50cd
0.000 1.000 0.625 %21 g31be g62cd
0.000 1.000 0.750 %22 g37be g75cd
0.000 1.000 0.875 %23 g43be g87cd

0.000 1.000 1.000 %24 g50be c00bd
0.000 0.875 1.000 %25 g56be c12bd
0.000 0.750 1.000 %26 g62be c25bd
0.000 0.625 1.000 %27 g68be c37bd
0.000 0.500 1.000 %28 g75be c50bd
0.000 0.375 1.000 %29 g81be c62bd
0.000 0.250 1.000 %30 g87be c75bd
0.000 0.125 1.000 %31 g93be c87bd

0.000 0.000 1.000 %32 b00re b00md
0.125 0.000 1.000 %33 b06re b12md
0.250 0.000 1.000 %34 b12re b25md
0.375 0.000 1.000 %35 b18re b37md
0.500 0.000 1.000 %36 b24re b50md
0.625 0.000 1.000 %37 b31re b67md
0.750 0.000 1.000 %38 b37re b75md
0.875 0.000 1.000 %39 b43re b87md

1.000 0.000 1.000 %40 b50re m00rd
1.000 0.000 0.875 %41 b56re m12rd
1.000 0.000 0.750 %42 b62re m25rd
1.000 0.000 0.625 %43 b68re m37rd
1.000 0.000 0.500 %44 b75re m50rd
1.000 0.000 0.375 %45 b81re m62rd
1.000 0.000 0.250 %46 b87re m75rd
1.000 0.000 0.125 %47 b93re m87rd

1.000 0.000 0.000 %48 r00ye r00yd no. 0
] def

/cvishow {cvi 6 string cvs show} def
/cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show ( ) show} def
/cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show ( ) show} def
/cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show ( ) show} def

/tfn {0.00 0.00 0.00 setrgbcolor} bind def
/tfd {0.25 0.25 0.25 setrgbcolor} bind def
/tfz {0.50 0.50 0.50 setrgbcolor} bind def
/tfh {0.75 0.75 0.75 setrgbcolor} bind def
/tfw {1.00 1.00 1.00 setrgbcolor} bind 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

/rem %x0, y0 width heigth
  {/heigth exch def /width exch def /y0 exch def /x0 exch def
   x0 width 0.5 mul add y0 heigth 0.5 mul add moveto
   width 0 rlineto 0 heigth rlineto width neg 0 rlineto
   closepath } bind def
   
/outrecfi { %x y width heigth c m y k
   rec fill} bind def

/outrecst { %x y width heigth c m y k
   rec stroke} bind def

%****************************************************************************
/XYZ*system54 { %BEG procedure XYZ*system54

/XYZrx089   162 array def %54*3=162
/XYZrx100   162 array def
/LAB*rx089  162 array def %54*3=162

/IM0 54 def
/IM1 IM0       1 sub def
/IM3 IM0 3 mul 1 sub def
/IM4 IM0 4 mul 1 sub def

/RGB0_L 162 array def

0 1 IM3 {/i exch def %i=0,IM3
         RGB0_L i RGB54CR_L i get 1000 mul put
        } for %i=0,IM3
        
0 1 IM1 {/i exch def %i=0,IM1
         /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def
         /j30 i 3 mul def /j31 j30 1 add def /j32 j30 2 add def

         RGB0_L j30 get 0.04045 le           %equations of IEC 61966-2-1:2003
         {/RsRGB RGB0_L j30 get 12.92 div def}
         {/RsRGB RGB0_L j30 get 0.001 mul 0.055 add
                         1.055 div 2.4 exp def} ifelse
         RGB0_L j31 get 0.04045 le
         {/GsRGB RGB0_L j31 get 12.92 div def}
         {/GsRGB RGB0_L j31 get 0.001 mul 0.055 add
                         1.055 div 2.4 exp def} ifelse
         RGB0_L j32 get 0.04045 le
         {/BsRGB RGB0_L j32 get 12.92 div def}
         {/BsRGB RGB0_L j32 get 0.001 mul 0.055 add
                                1.055 div 2.4 exp def} ifelse

         XYZrx100 i30 0.4124 RsRGB mul 
                      0.3576 GsRGB mul add
                      0.1805 BsRGB mul add 100 mul put
         XYZrx100 i31 0.2126 RsRGB mul
                      0.7152 GsRGB mul add
                      0.0722 BsRGB mul add 100 mul put
         XYZrx100 i32 0.0193 RsRGB mul
                      0.1192 GsRGB mul add
                      0.9505 BsRGB mul add 100 mul put
        } for %i=0,IM1

0 1 IM3 {/i exch def %i=0,IM3
         XYZrx089 i XYZrx100 i get 0.8859 mul put
        } for %i=0,IM3

/iN 45 3 mul def
/iW 53 3 mul def

/XLN100 XYZrx100 iN get def
/YLN100 XYZrx100 iN 1 add get def
/ZLN100 XYZrx100 iN 2 add get def

/XLW100 XYZrx100 iW get def
/YLW100 XYZrx100 iW 1 add get def
/ZLW100 XYZrx100 iW 2 add get def

/XLN089 XYZrx089 iN get def
/YLN089 XYZrx089 iN 1 add get def
/ZLN089 XYZrx089 iN 2 add get def

/XLW089 XYZrx089 iW get def
/YLW089 XYZrx089 iW 1 add get def
/ZLW089 XYZrx089 iW 2 add get def

% achromatic (D65) colours
/XLWD65100  95.04 def
/YLWD65100 100.00 def
/ZLWD65100 108.88 def

/XLWD65089 XLWD65100 0.8859 mul def
/YLWD65089 YLWD65100 0.8859 mul def
/ZLWD65089 ZLWD65100 0.8859 mul def

/XLN001 XLWD65100 100 div def
/YLN001 YLWD65100 100 div def
/ZLN001 ZLWD65100 100 div def

%achromatic (D50) colours
/XLWD50100  96.42 def
/YLWD50100 100.00 def
/ZLWD50100  82.51 def

/XLWD50089 XLWD50100 0.8859 mul def
/YLWD50089 YLWD50100 0.8859 mul def
/ZLWD50089 ZLWD50100 0.8859 mul def

/XLN001 XLWD50100 100 div def
/YLN001 YLWD50100 100 div def
/ZLN001 ZLWD50100 100 div def

%achromatic (A) colours
/XLWDA0100 109.85 def
/YLWDA0100 100.00 def
/ZLWDA0100  35.58 def

/XLWDA0089 XLWDA0100 0.8859 mul def
/YLWDA0089 YLWDA0100 0.8859 mul def
/ZLWDA0089 ZLWDA0100 0.8859 mul def

/XLN001 XLWDA0100 100 div def
/YLN001 YLWDA0100 100 div def
/ZLN001 ZLWDA0100 100 div def

%achromatic (P4000) colours to be corrected
/XLWDP4100 109.85 def
/YLWDP4100 100.00 def
/ZLWDP4100  35.58 def

/XLWDP4089 XLWDP4100 0.8859 mul def
/YLWDP4089 YLWDP4100 0.8859 mul def
/ZLWDP4089 ZLWDP4100 0.8859 mul def

/XLN001 XLWDP4100 100 div def
/YLN001 YLWDP4100 100 div def
/ZLN001 ZLWDP4100 100 div def

0 1 IM1 {/i exch def %i=0,57%
         /i30 i 3 mul def /i31 i 3 mul 1 add def /i32 i 3 mul 2 add def
         /XQ XYZrx089 i30 get XLWD65100 div def
         /YQ XYZrx089 i31 get YLWD65100 div def
         /ZQ XYZrx089 i32 get ZLWD65100 div def
         XQ 0 lt {/XQ 0.00000001 def} if
         YQ 0 lt {/YQ 0.00000001 def} if
         ZQ 0 lt {/ZQ 0.00000001 def} if
         LAB*rx089 i30 YQ 0.008856 lt {903.3 YQ mul}
                    {YQ 0.33333333 exp 116 mul 16 sub} ifelse put
         LAB*rx089 i31 XQ 0.008856 lt {7.787 XQ mul 16 116 div add}
                    {XQ 0.33333333 exp} ifelse
                    YQ 0.008856 lt {7.787 YQ mul 16 116 div add}
                    {YQ 0.33333333 exp} ifelse sub 500 mul put
         LAB*rx089 i32 YQ 0.008856 lt {7.787 YQ mul 16 116 div add}
                    {YQ 0.33333333 exp} ifelse
                    ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add}
                    {ZQ 0.33333333 exp} ifelse sub 200 mul put

       } for %i=0,IM1

} bind def %END procedure XYZ*system54

%*******************************************************************
/proc_rgb_dyF_LAB*'dyF
{%BEG proc_rgb_dyF_LAB*'dyF

/R01000 r_dyF 1000 mul def
/G01000 g_dyF 1000 mul def
/B01000 b_dyF 1000 mul def

R01000 0.04045 le  %equations of IEC 61966-2-1:2003
{/RsRGB R01000 12.92 div def}
{/RsRGB R01000 0.001 mul 0.055 add
  1.055 div 2.4 exp def} ifelse
G01000 0.04045 le
{/GsRGB G01000 12.92 div def}
{/GsRGB G01000 0.001 mul 0.055 add
  1.055 div 2.4 exp def} ifelse
B01000 0.04045 le
{/BsRGB B01000 12.92 div def}
{/BsRGB B01000 0.001 mul 0.055 add
  1.055 div 2.4 exp def} ifelse

/X*'dyF 0.4124 RsRGB mul 
        0.3576 GsRGB mul add
        0.1805 BsRGB mul add 88.59 mul def
/Y*'dyF 0.2126 RsRGB mul
        0.7152 GsRGB mul add
        0.0722 BsRGB mul add 88.59 mul def
/Z*'dyF 0.0193 RsRGB mul
        0.1192 GsRGB mul add
        0.9505 BsRGB mul add 88.59 mul def

% achromatic (D65) colours
/XLWD65100  95.04 def
/YLWD65100 100.00 def
/ZLWD65100 108.88 def

/XQ X*'dyF XLWD65100 div def
/YQ Y*'dyF YLWD65100 div def
/ZQ Z*'dyF ZLWD65100 div def
XQ 0 lt {/XQ 0.00000001 def} if
YQ 0 lt {/YQ 0.00000001 def} if
ZQ 0 lt {/ZQ 0.00000001 def} if
/L*'dyF YQ 0.008856 lt {903.3 YQ mul}
        {YQ 0.33333333 exp 116 mul 16 sub} ifelse def
/a*'dyF XQ 0.008856 lt {7.787 XQ mul 16 116 div add}
        {XQ 0.33333333 exp} ifelse
        YQ 0.008856 lt {7.787 YQ mul 16 116 div add}
        {YQ 0.33333333 exp} ifelse sub 500 mul def
/b*'dyF YQ 0.008856 lt {7.787 YQ mul 16 116 div add}
        {YQ 0.33333333 exp} ifelse
        ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add}
        {ZQ 0.33333333 exp} ifelse sub 200 mul def
/C*'dyF a*'dyF dup mul
        b*'dyF dup mul add 0.0001 add sqrt def
/h*'dyF b*'dyF a*'dyF 0.0001 add atan def

} bind def %END proc_rgb_dyF_LAB*'dyF

%********************************************************
/proc_rgb'*dyF_LAB'*dyF
{%BEG proc_rgb'*dyF_LAB'*dyF

/R01000 r'*dyF 1000 mul def
/G01000 g'*dyF 1000 mul def
/B01000 b'*dyF 1000 mul def

R01000 0.04045 le  %equations of IEC 61966-2-1:2003
{/RsRGB R01000 12.92 div def}
{/RsRGB R01000 0.001 mul 0.055 add
  1.055 div 2.4 exp def} ifelse
G01000 0.04045 le
{/GsRGB G01000 12.92 div def}
{/GsRGB G01000 0.001 mul 0.055 add
  1.055 div 2.4 exp def} ifelse
B01000 0.04045 le
{/BsRGB B01000 12.92 div def}
{/BsRGB B01000 0.001 mul 0.055 add
  1.055 div 2.4 exp def} ifelse

/X'*dyF 0.4124 RsRGB mul 
        0.3576 GsRGB mul add
        0.1805 BsRGB mul add 88.59 mul def
/Y'*dyF 0.2126 RsRGB mul
        0.7152 GsRGB mul add
        0.0722 BsRGB mul add 88.59 mul def
/Z'*dyF 0.0193 RsRGB mul
        0.1192 GsRGB mul add
        0.9505 BsRGB mul add 88.59 mul def

% achromatic (D65) colours
/XLWD65100  95.04 def
/YLWD65100 100.00 def
/ZLWD65100 108.88 def

/XQ X'*dyF XLWD65100 div def
/YQ Y'*dyF YLWD65100 div def
/ZQ Z'*dyF ZLWD65100 div def
XQ 0 lt {/XQ 0.00000001 def} if
YQ 0 lt {/YQ 0.00000001 def} if
ZQ 0 lt {/ZQ 0.00000001 def} if
/L'*dyF YQ 0.008856 lt {903.3 YQ mul}
        {YQ 0.33333333 exp 116 mul 16 sub} ifelse def
/a'*dyF XQ 0.008856 lt {7.787 XQ mul 16 116 div add}
        {XQ 0.33333333 exp} ifelse
        YQ 0.008856 lt {7.787 YQ mul 16 116 div add}
        {YQ 0.33333333 exp} ifelse sub 500 mul def
/b'*dyF YQ 0.008856 lt {7.787 YQ mul 16 116 div add}
        {YQ 0.33333333 exp} ifelse
        ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add}
        {ZQ 0.33333333 exp} ifelse sub 200 mul def

/C'*dyF a'*dyF dup mul
        b'*dyF dup mul add 0.0001 add sqrt def
/h'*dyF b'*dyF a'*dyF 0.0001 add atan def

} bind def %END proc_rgb'*dyF_LAB'*dyF

%*************************************************************
/proc_LAB*ioL {%BEG Procedure proc_LAB*ioL

%requires ISRL*ioL=0,1,3

/RJGBLAB* 12 array def
/RJGBLAB*[
  39.92  58.74  27.99 % R CIE No.09 elementary colours in LAB, D65
  81.26  -2.89  71.56 % J CIE No.10
  52.23 -42.42  13.60 % G CIE No.11
  30.57   1.41 -46.47 % B CIE No.12
] def

/LAB*  132 array def %12x3=36 including N,W + 16x3=48 elementary system + 16x3=48 device system
/LAB*a 132 array def
/LAB*Hx 13 array def %0_to_6 8_to_12 for device and elemetary colours

/LAB*00 24 array def
/LAB*01 24 array def
/LAB*02 24 array def
/LAB*03 24 array def
/LAB*04 24 array def
/LAB*05 24 array def
/LAB*06 24 array def
/LAB*07 24 array def

/LAB*TE %used in file and frame
[(ORS18) (TLS00) (FRS06) (TSL18) (NLS00) (NLS18) (SRS18) (TLS70)
 (TLS00) (TLS06) (TLS11) (TLS18) (TLS27) (TLS38) (TLS52) (TLS70)
 (OLS00) (OLS06) (OLS11) (OLS18) (OLS27) (OLS38) (OLS52) (OLS70)] def

%FRS09_92.DAT: measured data are not dapated here; 55 lines, 141:195
ISRL*ioL 0 eq { %ISRL*ioL=0
/LAB*00 [%D=Device OYLCVMO+NW %for Offset Reflective System (ORS18)
47.94  65.31  52.07 %O   0
90.37 -11.16  96.17 %Y   1
50.90 -62.97  36.71 %L   2
58.62 -30.63 -42.75 %C   3  %see TABle 1 of ISO/IEC 15775:1999-12
25.72  31.45 -44.36 %V   4 
48.13  75.20 -6.80  %M   5
18.01  0.50  -0.47  %N   7 
95.41 -0.99   4.76  %W   8

%ZE45N_CM_OF_080602_1080.TXT, 1080 colours, 20080602, Matching OFF $ (FRS09_92)
%100 x LAB* %#1000 x (r g b c m y 0) %nr. pos $
%0035.06 0060.53 0039.66 %#1000 0000 0000 0000 1000 1000 0000 %0648 S19 %O1 0 $
%0083.77 -004.50 0103.15 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y1 1 $
%0044.13 -062.11 0043.56 %#0000 1000 0000 1000 0000 1000 0000 %0072 I01 %L1 2 $
%0052.66 -028.56 -036.99 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C1 3 $
%0014.15 0050.78 -062.60 %#0000 0000 1000 1000 1000 0000 0000 %0008 A09 %V1 4 $
%0037.37 0079.18 -037.93 %#1000 0000 1000 0000 1000 0000 0000 %0656 S27 %M1 5 $
%0008.58 0000.46 -003.35 %#0000 0000 0000 1000 1000 1000 0000 %0000 A01 %N1 6 $
%0092.02 0000.69 -006.48 %#1000 1000 1000 0000 0000 0000 0000 %0728 a27 %W1 7 $
%$
%0035.87 0060.76 0039.80 %#1000 0000 0000 0000 1000 1000 0000 %0801 j01 %O2 0 $
%0083.76 -004.64 0102.56 %#1000 1000 0000 0000 0000 1000 0000 %0882 j10 %Y2 1 $
%0043.65 -062.07 0043.08 %#0000 1000 0000 1000 0000 1000 0000 %0963 j19 %L2 2 $
%0052.82 -028.73 -036.80 %#0000 1000 1000 1000 0000 0000 0000 %0737 b09 %C2 3 $
%0013.33 0052.23 -063.40 %#0000 0000 1000 1000 1000 0000 0000 %0818 b18 %V2 4 $
%0037.56 0079.25 -037.75 %#1000 0000 1000 0000 1000 0000 0000 %0899 b27 %M2 5 $
%0008.16 0000.62 -003.84 %#0000 0000 0000 1000 1000 1000 0000 %0809 j09 %N2 6 $
%0092.07 0000.62 -006.26 %#1000 1000 1000 0000 0000 0000 0000 %0729 b01 %W2 7 $
%$

%ZE45N_CM_OF_080602_1080.TXT, 1080 colours, 20080602, Matching OFF $ (FRS09_92a)
%100 x LAB*a %#1000 x (r g b c m y 0) %nr. pos $
%0035.06 0059.99 0044.01 %#1000 0000 0000 0000 1000 1000 0000 %0648 S19 %O1 0 $
%0083.77 -005.16 0109.32 %#1000 1000 0000 0000 0000 1000 0000 %0720 a19 %Y1 1 $
%0044.13 -062.67 0048.25 %#0000 1000 0000 1000 0000 1000 0000 %0072 I01 %L1 2 $
%0052.66 -029.15 -031.98 %#0000 1000 1000 1000 0000 0000 0000 %0080 I09 %C1 3 $
%0014.15 0050.30 -059.03 %#0000 0000 1000 1000 1000 0000 0000 %0008 A09 %V1 4 $
%0037.37 0078.64 -033.49 %#1000 0000 1000 0000 1000 0000 0000 %0656 S27 %M1 5 $
%0008.58 0000.00 0000.00 %#0000 0000 0000 1000 1000 1000 0000 %0000 A01 %N1 6 $
%0092.02 0000.00 0000.00 %#1000 1000 1000 0000 0000 0000 0000 %0728 a27 %W1 7 $
%$
%0035.87 0060.13 0044.44 %#1000 0000 0000 0000 1000 1000 0000 %0801 j01 %O2 0 $
%0083.76 -005.27 0108.59 %#1000 1000 0000 0000 0000 1000 0000 %0882 j10 %Y2 1 $
%0043.65 -062.69 0047.95 %#0000 1000 0000 1000 0000 1000 0000 %0963 j19 %L2 2 $
%0052.82 -029.35 -031.67 %#0000 1000 1000 1000 0000 0000 0000 %0737 b09 %C2 3 $
%0013.33 0051.60 -059.41 %#0000 0000 1000 1000 1000 0000 0000 %0818 b18 %V2 4 $
%0037.56 0078.62 -033.06 %#1000 0000 1000 0000 1000 0000 0000 %0899 b27 %M2 5 $
%0008.16 0000.00 0000.00 %#0000 0000 0000 1000 1000 1000 0000 %0809 j09 %N2 6 $
%0092.07 0000.00 0000.00 %#1000 1000 1000 0000 0000 0000 0000 %0729 b01 %W2 7 $
%$

] def %OYLCVMO+NW

/LAB*01 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS00)
50.50  76.92  64.55 %O   0
92.66 -20.70  90.75 %Y   1
83.63 -82.76  79.90 %L   2
86.88 -46.17 -13.56 %C   3  %see TABle 1 of ISO/IEC 15775:1999-12
30.39  76.06 -103.6 %V   4 corected
57.30  94.35 -58.42 %M   5 corected
00.01   0.00   0.00 %N   7 corected
95.41   0.00   0.00 %W   8
] def %OYLCVMO+NW

/LAB*02 [%D=Device OYLCVMO+NW %for Device Reflective System (FRS06. FUJI)
32.57  61.14  43.72 %8-0-0 O-W 0 olv* setrgbcolor  64
82.73  -3.51 109.24 %8-8-0 Y-W 1 olv* setrgbcolor  32
39.43 -62.87  42.80 %0-8-0 L-W 2 olv* setrgbcolor  80
47.86 -27.73 -37.62 %0-8-8 C-W 3 olv* setrgbcolor   0 actual printer
10.16  53.56 -62.92 %0-0-8 V-W 4 olv* setrgbcolor  96
34.50  79.53 -36.77 %8-0-8 M-W 5 olv* setrgbcolor  16
06.25  -1.63  -1.73 %0-0-0 N-W 6 olv* setrgbcolor  48
91.97  -0.18  -5.11 %8-8-8 A-W 7 olv* setrgbcolor
] def %OYLCVMO+NW

/LAB*03 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS18)
52.76  71.63  49.88 %O   0
92.74 -20.03  84.97 %Y   1
84.00 -78.99  73.94 %L   2
87.14 -44.42 -13.12 %C   3 %see TABle 1 of ISO/IEC 15775:1999-12
35.47  64.92 -95.07 %V   4 %see TABle X of ISO/IEC TR 24705:2005-10
59.01  89.33 -55.68 %M   5 %see Annex A, www.ps.bam.de/RLABE.PDF
18.01   0.00   0.00 %N   6 Yr=2.52
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*04 [%Natural symmetric Luminous System OYLCVMO+NW (NLS00)
31.81  82.62  47.70 %O   0 95.40/2 = 47.70
63.61  00.00  95.40 %Y   1 C*ab = 95.40
31.81 -82.62  47.70 %L   2 0.866 C*ab = 0.866 * 95.40 = 82.62
63.61 -82.62 -47.70 %C   3 delta L*=25.8
31.81  00.00 -95.40 %V   4 43.81=00.01+31.80
63.61  82.62 -47.70 %M   5 69.61=00.01+2*31.80
00.01   0.00   0.00 %N   6 95.40/3 = 31.80
95.41   0.00   0.00 %W   7 95.40*(2/3) = 63.60
] def %CVMOYLC+NW

/LAB*05 [%Natural symmetric Luminous System OYLCVMO+NW (NLS18)
43.81  67.03  38.70 %O   0 77.40/2 = 38.70
69.61  00.00  77.40 %Y   1 C*ab = 77.40
43.81 -67.03  38.70 %L   2 0.866 C*ab = 67.03
69.61 -67.03 -38.70 %C   3 delta L*=25.8
43.81  00.00 -77.40 %V   4 43.81=18.01+25.80
69.61  67.03 -38.70 %M   5 69.61=18.01+2*25.80
18.01   0.00   0.00 %N   6 18.01+77.40/3 = 18.01+25.80=43.81
95.41   0.00   0.00 %W   7 18.01+77.40*(2/3) = 18.01+51.60=69.61
] def %CVMOYLC+NW

/LAB*06 [%Symmetric Reflective System OYLCVMO+NW (SRS18) 
56.71  67.03  38.70 %O   0 18.01 + 77.40*0.5 = 18.01 + 38.70 = 56.71
56.71  00.00  77.40 %Y   1 C*ab = 77.40
56.71 -67.03  38.70 %L   2 0.866 C*ab = 67.03
56.71 -67.03 -38.70 %C   3 delta L*=25.8
56.71  00.00 -77.40 %V   4 43.81=18.01+25.80
56.71  67.03 -38.70 %M   5 69.61=18.01+2*25.80
18.01   0.00   0.00 %N   6
95.41   0.00   0.00 %W   7 95.41=18.01+3*25.80
] def %CVMOYLC+NW

/LAB*07 [%D=Device OYLCVMO+NW %for Television Luminous System (TLS70)
76.43  26.27  10.57 %O   0
93.93 -10.77  34.63 %Y   1
89.32 -35.81  27.64 %L   2
90.93 -21.96  -7.08 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
72.10  15.76 -35.64 %V   4
78.50  37.52 -25.24 %M   5
69.70   0.00   0.00 %N   6 Yr=40.32
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

} if %ISRL*ioL=0

ISRL*ioL 1 eq { %ISRL*ioL=1

/LAB*00 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS00)
50.50  76.91  64.55 %O   0
92.66 -20.68  90.75 %Y   1
83.62 -82.74  79.90 %L   2
86.88 -46.15 -13.54 %C   3 %see TABle 1 of ISO/IEC 15775:1999-12
30.39  76.06 -103.6 %V   4 %see TABle X of ISO/IEC TR 24705:2005-10
57.31  94.35 -58.40 %M   5 %see Annex A, www.ps.bam.de/RLABE.PDF
00.01   0.00   0.00 %N   6 Yr=0.00
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*01 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS06)
51.08  75.54  59.69 %O   0
92.68 -20.51  89.24 %Y   1
83.72 -81.79  78.32 %L   2
86.94 -45.72 -13.43 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
31.77  72.91 -101.3 %V   4
57.74  93.06 -57.71 %M   5 
05.69   0.00   0.00 %N   6 Yr=0.63
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*02 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS11)
51.65  74.20  55.83 %O   0
92.70 -20.35  87.77 %Y   1
83.81 -80.85  76.81 %L   2
87.01 -45.28 -13.33 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
33.06  70.03 -99.09 %V   4
58.17  91.80 -57.03 %M   5 
10.99   0.00   0.00 %N   6 Yr=1.26
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*03 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS18)
52.76  71.63  49.88 %O   0
92.74 -20.03  84.97 %Y   1
84.00 -78.99  73.94 %L   2
87.14 -44.42 -13.12 %C   3 %see TABle 1 of ISO/IEC 15775:1999-12
35.47  64.92 -95.07 %V   4 %see TABle X of ISO/IEC TR 24705:2005-10
59.01  89.33 -55.68 %M   5 %see Annex A, www.ps.bam.de/RLABE.PDF
18.01   0.00   0.00 %N   6 Yr=2.52
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*04 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS27)
54.88  66.84  41.69 %O   0
92.82 -19.39  79.81 %Y   1
84.37 -75.39  68.76 %L   2
87.40 -42.72 -12.70 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
39.70  56.66 -88.02 %V   4
60.64  84.61 -53.08 %M   5 
26.85   0.00   0.00 %N   6 Yr=5.04
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*05 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS38)
58.77  58.45  31.73 %O   0
92.98 -18.11  70.81 %Y   1
85.11 -68.58  60.02 %L   2
87.92 -39.42 -11.87 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
46.64  44.93 -76.56 %V   4
63.71  75.92 -48.22 %M   5 
37.99   0.00   0.00 %N   6 Yr=10.08
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*06 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS52)
65.53  45.06  20.98 %O   0
93.30 -15.61  56.27 %Y   1
86.55 -56.31  46.52 %L   2
88.94 -33.19 -10.24 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
57.17  30.66 -59.40 %V   4
69.22  60.95 -39.57 %M   5
52.02   0.00   0.00 %N   6 Yr=20.16
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

/LAB*07 [%D=Device CVMOYLC+NW %for Television Luminous System (TLS70)
76.43  26.27  10.57 %O   0
93.93 -10.77  34.63 %Y   1
89.32 -35.81  27.64 %L   2
90.93 -21.96  -7.08 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
72.10  15.76 -35.64 %V   4
78.50  37.52 -25.24 %M   5 
69.70   0.00   0.00 %N   6 Yr=40.32
95.41   0.00   0.00 %W   7
] def %CVMOYLC+NW

} if %ISRL*ioL=1

ISRL*ioL 2 eq { %ISRL*ioL=2

/LAB*00 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS00)
45.14  71.37  75.54 %O   0
90.22 -10.60  99.51 %Y   1
48.45 -73.19  42.21 %L   2
56.88 -33.11 -47.41 %C   3 %see TABle 1 of ISO/IEC 15775:1999-12
16.48  45.84 -56.22 %V   4 %see TABle X of ISO/IEC TR 24705:2005-10
45.36  81.85  -9.29 %M   5 %see Annex A, www.ps.bam.de/RLABE.PDF
00.01   0.00   0.00 %N   6 Yr=0.00
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*01 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS06)
45.87  69.79  66.99 %O   0
90.25 -10.51  97.42 %Y   1
49.08 -70.28  40.08 %L   2
57.33 -32.38 -46.80 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
19.26  40.73 -52.47 %V   4
46.07  80.12  -9.04 %M   5
05.69   0.00   0.00 %N   6 Yr=0.63
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*02 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS11)
46.57  68.27  59.62 %O   0
90.29 -10.43  95.45 %Y   1
49.70 -67.60  38.19 %L   2
57.76 -31.68 -46.19 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
21.67  36.81 -49.37 %V   4
46.77  78.45  -8.80 %M   5
10.99   0.00   0.00 %N   6 Yr=1.26
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*03 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS18)
47.94  65.39  50.52 %O   0
90.37 -10.26  91.75 %Y   1
50.90 -62.83  34.96 %L   2
58.62 -30.34 -45.01 %C   3 %see TABle 1 of ISO/IEC 15775:1999-12
25.72  31.10 -44.40 %V   4 %see TABle X of ISO/IEC TR 24705:2005-10
48.13  75.28  -8.36 %M   5 %see Annex A, www.ps.bam.de/RLABE.PDF
18.01   0.00   0.00 %N   6 Yr=2.52
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*04 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS27)
50.51  60.17  40.13 %O   0
90.52  -9.92  85.20 %Y   1
53.18 -55.04  30.00 %L   2
60.28 -27.91 -42.75 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
32.06  24.02 -37.32 %V   4
50.68  69.50  -7.57 %M   5 
26.85   0.00   0.00 %N   6 Yr=5.04
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*05 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS38)
55.13  51.42  29.16 %O   0
90.83  -9.25  74.37 %Y   1
57.35 -43.84  23.35 %L   2
63.39 -23.83 -38.56 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
41.26  16.67 -28.49 %V   4
55.27  59.74  -6.32 %M   5 
37.99   0.00   0.00 %N   6 Yr=10.08
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*06 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS52)
62.90  38.38  18.55 %O   0
91.44  -7.95  57.91 %Y   1
64.49 -30.06  15.67 %L   2
68.98 -17.74 -31.24 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
53.87  10.09 -18.84 %V   4
63.00  44.96  -4.56 %M   5
52.02   0.00   0.00 %N   6 Yr=20.16
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

/LAB*07 [%D=Device OYLCVMO+NW %for Offset Luminous System (OLS70)
75.01  21.53   9.07 %O   0
92.64  -5.45  34.85 %Y   1
75.86 -15.50   7.96 %L   2
78.37  -9.90 -19.51 %C   3 %see Annex A, www.ps.bam.de/RLABE.PDF
70.54   4.74  -9.47 %V   4
75.07  25.47  -2.46 %M   5 
69.70   0.00   0.00 %N   6 Yr=40.32
95.41   0.00   0.00 %W   7
] def %OYLCVMO+NW

} if %ISRL*ioL=2

0 1 11 {/sISO exch def %sISO=0,11
        /i30 sISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def
        sISO 7 le { %sISO=0,7
        ISIO*ioL 0 eq { %ORS18/TLS00/OLS00
        LAB* i30 LAB*00 i30 get put
        LAB* i31 LAB*00 i31 get put
        LAB* i32 LAB*00 i32 get put
                    } if
        ISIO*ioL 1 eq { %TLS00/TLS06/OLS06
        LAB* i30 LAB*01 i30 get put
        LAB* i31 LAB*01 i31 get put
        LAB* i32 LAB*01 i32 get put
                    } if
        ISIO*ioL 2 eq { %FRS06/TLS11/OLS11
        LAB* i30 LAB*02 i30 get put
        LAB* i31 LAB*02 i31 get put
        LAB* i32 LAB*02 i32 get put
                    } if
        ISIO*ioL 3 eq { %TLS18/TLS18/OLS18
        LAB* i30 LAB*03 i30 get put
        LAB* i31 LAB*03 i31 get put
        LAB* i32 LAB*03 i32 get put
                    } if
        ISIO*ioL 4 eq { %NLS00/TSL28/OLS28
        LAB* i30 LAB*04 i30 get put
        LAB* i31 LAB*04 i31 get put
        LAB* i32 LAB*04 i32 get put
                    } if
        ISIO*ioL 5 eq { %NRS18/TLS38/OLS38
        LAB* i30 LAB*05 i30 get put
        LAB* i31 LAB*05 i31 get put
        LAB* i32 LAB*05 i32 get put
                    } if
        ISIO*ioL 6 eq { %SRS18/TLS50/OLS50
        LAB* i30 LAB*06 i30 get put
        LAB* i31 LAB*06 i31 get put
        LAB* i32 LAB*06 i32 get put
                    } if
        ISIO*ioL 7 eq { %TLS70/TLS70/OLS70
        LAB* i30 LAB*07 i30 get put
        LAB* i31 LAB*07 i31 get put
        LAB* i32 LAB*07 i32 get put
                    } if
       } %sISO=0,7
       {%sISO=8,11
        %Definition 8 to 11 (24 to 35=33+2)
        /jISO sISO 8 sub def /j30 jISO 3 mul def 
        /j31 j30 1 add def /j32 j30 2 add def
        LAB* i30 RJGBLAB* j30 get put
        LAB* i31 RJGBLAB* j31 get put
        LAB* i32 RJGBLAB* j32 get put
        LAB*a i30 LAB* i30 get put
        LAB*a i31 LAB* i31 get put
        LAB*a i32 LAB* i32 get put
       } ifelse
       } for %sISO=0,11

% possible change of LAB*a according to reduced gamut
%LAB* = 20 for Black N
%LAB* = 95 for White W
%cfakt = (95 - 20)/(95.41 - 18.01) = 0.969
%LAB*L*Nn = 20 for Black N instead of LAB*L*N = 18,01
%LAB*L*Wn = 95 for White W instead of LAB*L*W = 95,41
%LAB*L*Zn = 20+(95-20)/2=57,5 for Grey Z instead of
%LAB*L*Z  = 18,01+(95,41-18,01)/2=56,71
%L*neu = L*alt + (1 - cfakt
%For achromatic
%deltaLmean = 57,5 (1-c*neu); 56,71 (1-c*alt)
%deltaLmimu = 20,0 (1-c*neu); 18,01 (1-c*alt)
%deltaLplus = 95,0 (1-c*neu); 95,41 (1-c*alt)
%For chromatic M
%deltaLmean = L*Ma,neu; L*Ma,alt = known
%C*Ma,alt known, C*Ma,neu known

/L*Nio LAB* 18 get def
/A*Nio LAB* 19 get def
/B*Nio LAB* 20 get def
/L*Wio LAB* 21 get def
/A*Wio LAB* 22 get def
/B*Wio LAB* 23 get def

/L*Wioref L*Wio def
/L*Nioref L*Nio def
/cfakt 1 def
%/cfakt L*Wioref L*Nioref sub L*Wio L*Nio sub div def

cfakt 1 ne {%cfakt#1
%change of lightness for Maximum colour
/l*CIEN L*Nioref L*Nio sub L*Wio L*Nio sub div def
/l*CIEW L*Wioref L*Nio sub L*Wio L*Nio sub div def
%LAB* 18 L*Nioref put %defined change of lightness and chroma a*,b* for N
LAB* 19 A*Nio A*Wio A*Nio sub l*CIEN  mul add put
LAB* 20 B*Nio B*Wio B*Nio sub l*CIEN  mul add put
%LAB* 21 L*Wioref put %defined change of lightness and chroma a*,b* for W
LAB* 22 A*Nio A*Wio A*Nio sub l*CIEW  mul add put
LAB* 23 B*Nio B*Wio B*Nio sub l*CIEW  mul add put

%change of chroma by factor cfakt
0 1 07 {/iISO exch def
        /i30 iISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def
        /l*CIEL LAB* i30 get L*Nio sub L*Wio L*Nio sub div def
        LAB* i30 L*Nioref L*Wioref L*Nioref sub l*CIEL mul add put
        LAB* i31 LAB* i31 get cfakt mul put
        LAB* i32 LAB* i32 get cfakt mul put
       } for
} if %cfakt#1
/L*Nior LAB* 18 get def %r=reference for reverse transform
/A*Nior LAB* 19 get def
/B*Nior LAB* 20 get def
/L*Wior LAB* 21 get def
/A*Wior LAB* 22 get def
/B*Wior LAB* 23 get def

0 1 7 {/iISO exch def %iISO=0,7
       /i30 iISO 3 mul def /i31 i30 1 add def /i32 i30 2 add def
       /l*CIE LAB* i30 get L*Nior sub L*Wior L*Nior sub div def
       /a*sr A*Wior A*Nior sub l*CIE mul def
       /b*sr B*Wior B*Nior sub l*CIE mul def
       LAB*a i30 LAB* i30 get put
       LAB*a i31 LAB* i31 get A*Nior sub a*sr sub put
       LAB*a i32 LAB* i32 get B*Nior sub b*sr sub put
      } for

/L*Nio LAB*a 18 get def %=18.01
/A*Nio LAB*a 19 get def %=0
/B*Nio LAB*a 20 get def %=0

/L*Wio LAB*a 21 get def %=95.41
/A*Wio LAB*a 22 get def %=0
/B*Wio LAB*a 23 get def %=0

/A*Dio A*Wio A*Nio sub def %=0
/B*Dio B*Wio B*Nio sub def %=0

/cLAB*s0 3 array def %C cyan blue
/vLAB*s0 3 array def %V violet blue
/mLAB*s0 3 array def %M magenta red
/oLAB*s0 3 array def %O orange red
/yLAB*s0 3 array def %Y yellow
/lLAB*s0 3 array def %L leaf green
/nLAB*s0 3 array def %N black
/wLAB*s0 3 array def %W white
/rLAB*s0 3 array def %R elementary red
/jLAB*s0 3 array def %J elementary yellow
/gLAB*s0 3 array def %G elementary green
/bLAB*s0 3 array def %B elementary blue

%Determine Matrix data input or output data
oLAB*s0 0 LAB*a  0 get L*Nio sub put
oLAB*s0 1 LAB*a  1 get put
oLAB*s0 2 LAB*a  2 get put

yLAB*s0 0 LAB*a  3 get L*Nio sub put
yLAB*s0 1 LAB*a  4 get put
yLAB*s0 2 LAB*a  5 get put

lLAB*s0 0 LAB*a  6 get L*Nio sub put
lLAB*s0 1 LAB*a  7 get put
lLAB*s0 2 LAB*a  8 get put

cLAB*s0 0 LAB*a  9 get L*Nio sub put
cLAB*s0 1 LAB*a 10 get put 
cLAB*s0 2 LAB*a 11 get put 

vLAB*s0 0 LAB*a 12 get L*Nio sub put
vLAB*s0 1 LAB*a 13 get put 
vLAB*s0 2 LAB*a 14 get put 

mLAB*s0 0 LAB*a 15 get L*Nio sub put 
mLAB*s0 1 LAB*a 16 get put 
mLAB*s0 2 LAB*a 17 get put 

nLAB*s0 0 LAB*a 18 get L*Nio sub put 
nLAB*s0 1 LAB*a 19 get put 
nLAB*s0 2 LAB*a 20 get put 

wLAB*s0 0 LAB*a 21 get L*Nio sub put 
wLAB*s0 1 LAB*a 22 get put 
wLAB*s0 2 LAB*a 23 get put

rLAB*s0 0 LAB*a 24 get L*Nio sub put
rLAB*s0 1 LAB*a 25 get put 
rLAB*s0 2 LAB*a 26 get put 

jLAB*s0 0 LAB*a 27 get L*Nio sub put 
jLAB*s0 1 LAB*a 28 get put 
jLAB*s0 2 LAB*a 29 get put 

gLAB*s0 0 LAB*a 30 get L*Nio sub put 
gLAB*s0 1 LAB*a 31 get put 
gLAB*s0 2 LAB*a 32 get put 

bLAB*s0 0 LAB*a 33 get L*Nio sub put 
bLAB*s0 1 LAB*a 34 get put 
bLAB*s0 2 LAB*a 35 get put

% Determine the input or output angle in the A* B* plane
% of each of the colours defined above
/C*Ang cLAB*s0 2 get cLAB*s0 1 get 0.0001 add atan def
/V*Ang vLAB*s0 2 get vLAB*s0 1 get 0.0001 add atan def
/M*Ang mLAB*s0 2 get mLAB*s0 1 get 0.0001 add atan def
/O*Ang oLAB*s0 2 get oLAB*s0 1 get 0.0001 add atan def
/Y*Ang yLAB*s0 2 get yLAB*s0 1 get 0.0001 add atan def
/L*Ang lLAB*s0 2 get mLAB*s0 1 get 0.0001 add atan def
/N*Ang 0 def
/W*Ang 0 def
/R*Ang rLAB*s0 2 get rLAB*s0 1 get 0.0001 add atan def
/J*Ang jLAB*s0 2 get jLAB*s0 1 get 0.0001 add atan def
/G*Ang gLAB*s0 2 get gLAB*s0 1 get 0.0001 add atan def
/B*Ang bLAB*s0 2 get bLAB*s0 1 get 0.0001 add atan def

%6+1 hue angles for 6 device colour      (index 0 to 06)
%4+1 hue angles for 4 elementary colours (index 8 to 12)
%no. 6 and 7 originaly achromatic
0 1 11 {/iHx exch def
        /i1x iHx 3 mul 1 add def
        /i2x i1x 1 add def
        LAB*Hx iHx LAB*a i2x get LAB*a i1x get 0.000001 add atan put
       } for
LAB*Hx 06 LAB*Hx 00 get 360 add put
LAB*Hx 12 LAB*Hx 08 get 360 add put

%6 Hue angles of elementary and intermediate colours e=RJGCgbBMbr
/LAB*He 7 array def
LAB*He 0 LAB*Hx 08 get put %R
LAB*He 1 LAB*Hx 09 get put %J
LAB*He 2 LAB*Hx 10 get put %G
LAB*He 3 LAB*Hx 10 get LAB*Hx 11 get add 0.5 mul put %Cgb
LAB*He 4 LAB*Hx 11 get put %B
LAB*He 5 LAB*Hx 11 get LAB*Hx 08 get 360 add add 0.5 mul put %Mbr
LAB*He 6 LAB*Hx 08 get 360 add put %R(+360)

%6 Hue angles of device and intermediate colours d=OYLCVMO
/LAB*Hd 7 array def
LAB*Hd 0 LAB*Hx 00 get put %O
LAB*Hd 1 LAB*Hx 01 get put %Y
LAB*Hd 2 LAB*Hx 02 get put %L
LAB*Hd 3 LAB*Hx 03 get put %C
LAB*Hd 4 LAB*Hx 04 get put %V
LAB*Hd 5 LAB*Hx 05 get put %M
LAB*Hd 6 LAB*Hx 00 get 360 add put %O(+360)

/COLhNam16 16 array def
/COLhNam16 [(R00Y) (R25Y) (R50Y) (R75Y)
            (Y00G) (Y25G) (Y50G) (Y75G)
            (G00B) (G25B) (G50B) (G75B)
            (B00R) (B25R) (B50R) (B75R)
            ] def

} bind def %END Procedure proc_LAB*ioL

%***********************************************************
%%EndProlog
gsave
/lanind 1 def
/lantex [(G) (E) (S) (F) (I) (J) (M)] def
/showde {0 lanind eq {show} {pop} ifelse} bind def
/showen {1 lanind eq {show} {pop} ifelse} bind def
/showes {2 lanind eq {show} {pop} ifelse} bind def
/showfr {3 lanind eq {show} {pop} ifelse} bind def
/showit {4 lanind eq {show} {pop} ifelse} bind def
/showjp {5 lanind eq {show} {pop} ifelse} bind def
/showm  {6 lanind eq {show} {pop} ifelse} bind def
/showea {1 lanind ge {show} {pop} ifelse} bind def
 
/nshow {iyt /Times-ISOL1 FS show} def
/nishow {-30 -50 rmoveto iyt 50 sub /Times-ISOL1 FS show 30 50 rmoveto} def
/nishow0 {-00 -50 rmoveto iyt 20 sub /Times-ISOL1 FS show 00 50 rmoveto} def
/nishowx {-00 -50 rmoveto iyt 50 sub /Times-ISOL1 FS show 00 50 rmoveto} def
/kshow {iyt /TimesI-ISOL1 FS show} def
/bshow {iyt /TimesB-ISOL1 FS show} def
/jshow {iyt /TimesBI-ISOL1 FS show} def
/ishow {-30 -50 rmoveto iyt 50 sub /TimesB-ISOL1 FS show 30 50 rmoveto} def
/ishow0 {-00 -50 rmoveto iyt 50 sub /TimesB-ISOL1 FS show 00 50 rmoveto} def
/eshow { 00 070 rmoveto iyt 50 sub /TimesB-ISOL1 FS show 00 -070 rmoveto} def
/neshow { 00 070 rmoveto iyt 50 sub /Times-ISOL1 FS show 00 -070 rmoveto} def

/F25col00 75 array def %24+1x3
0 1 24 {/i exch def %i=0,24
        /j i 2 mul def
        /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def
        /j30 j 3 mul def /j31 j30 1 add def /j32 j30 2 add def
        F25col00 i30       F49col00 j30 get put
        F25col00 i30 1 add F49col00 j31 get put
        F25col00 i30 2 add F49col00 j32 get put
       } for %i=0,24

/F17col00 51 array def %16+1x3
0 1 7 {/i exch def %i=0,7
        /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def
        F17col00 i30 F25col00 i30 get put
        F17col00 i31 F25col00 i31 get put
        F17col00 i32 F25col00 i32 get put
       } for %i=0,7
8 2 24 {/i exch def %i=8,24
        /j 8 i 8 sub 2 idiv add def
        /i30 i 3 mul def /i31 i30 1 add def /i32 i30 2 add def
        /j30 j 3 mul def /j31 j30 1 add def /j32 j30 2 add def
        F17col00 j30 F25col00 i30 get put
        F17col00 j31 F25col00 i31 get put
        F17col00 j32 F25col00 i32 get put
       } for %i=8,24

/RGB54CC17_L 17 array def
/RGB54CC17_L
[%high chromatic series:
 %relative hue h*, brillance i*, and chroma c*, range 0 ... 100
 (R00Y_100_100) 1.00 0.00 0.00 %00
 (R25Y_100_100) 1.00 0.25 0.00 %01
 (R50Y_100_100) 1.00 0.50 0.00 %02
 (R75Y_100_100) 1.00 0.75 0.00 %03

 (Y00G_100_100) 1.00 1.00 0.00 %04
 (Y25G_100_100) 0.75 1.00 0.00 %05
 (Y50G_100_100) 0.50 1.00 0.00 %06
 (Y75G_100_100) 0.25 1.00 0.00 %07

 (G00B_100_100) 0.00 1.00 0.00 %08
 (G25B_100_100) 0.00 1.00 0.50 %09
 (G50B_100_100) 0.00 1.00 1.00 %10
 (G75B_100_100) 0.00 0.50 1.00 %11

 (B00R_100_100) 0.00 0.00 1.00 %12
 (B25R_100_100) 0.50 0.00 1.00 %13
 (B50R_100_100) 1.00 0.00 1.00 %14
 (B75R_100_100) 1.00 0.00 0.50 %15

 (R00Y_100_100) 1.00 0.00 0.00 %16 repeat for circle
] def

/LAB*ee 12 array def %2x3=12 Lab* for D65
/LAB*ee [39.92  58.74  27.99 %0 00_04 R CIE No.09 elementary in LAB
         81.26  -2.89  71.56 %1 05_09 J CIE No.10
         52.23 -42.42  13.60 %2 10_14 G CIE No.11
         30.57   1.41 -46.47 %3 20_24 B CIE No.12
        ] def

/rgb_12 12 array def %RYGCBMd, NWd,e, RYGBe
/rgb_12
[1.0 0.0 0.0  1.0 1.0 0.0  0.0 1.0 0.0             %RYGd
 0.0 1.0 1.0  0.0 0.0 1.0  1.0 0.0 1.0             %CBMd
 0.0 0.0 0.0  1.0 1.0 1.0                          %NWd,e
 1.0 0.0 0.0  1.0 1.0 0.0  0.0 1.0 0.0 0.0 0.0 1.0 %RYGBe
] def

%************************************************************
/proc_CIELAB_D {%BEG proc_CIELAB_D

25 setlinewidth
1.0 setgray
0 0  moveto 2800 0 rlineto 0 2800 rlineto
           -2800 0 rlineto
closepath fill
0.0 setgray
0 0  moveto 2800 0 rlineto 0 2800 rlineto
           -2800 0 rlineto
closepath stroke
 
1200 1300 translate
-1000 0 moveto 1000 0 lineto stroke
0 -1000 moveto 0 1000 lineto stroke

1100 0 moveto (a*) kshow (a) ishow
0 1100 moveto (b*) kshow (a) ishow

/rx 774 def %standard hexagon gamut
0.0 setgray
rx 030 cos mul rx 030 sin mul moveto
0 rx lineto
rx 150 cos mul rx 150 sin mul lineto
rx 210 cos mul rx 210 sin mul lineto
0 rx neg lineto
rx 330 cos mul rx 330 sin mul lineto closepath stroke

/r*x 1 def /g*x 0 def /b*x 0 def r*x g*x b*x setrgbcolor
rx 030 cos mul rx 030 sin mul 100 0 360 arc fill
/r*x 1 def /g*x 1 def /b*x 0 def r*x g*x b*x setrgbcolor
0 rx 100 0 360 arc fill
/r*x 0 def /g*x 1 def /b*x 0 def r*x g*x b*x setrgbcolor
rx 150 cos mul rx 150 sin mul 100 0 360 arc fill
/r*x 0 def /g*x 1 def /b*x 1 def r*x g*x b*x setrgbcolor
rx 210 cos mul rx 210 sin mul 100 0 360 arc fill
/r*x 0 def /g*x 0 def /b*x 1 def r*x g*x b*x setrgbcolor
0 rx neg 100 0 360 arc fill
/r*x 1 def /g*x 0 def /b*x 1 def r*x g*x b*x setrgbcolor
rx 330 cos mul rx 330 sin mul 100 0 360 arc fill

%plot hexagon in device (d) space
45 setlinewidth
0 setgray
0 1 5 {/i exch def %i=0,5
       /A*Ma LAB*a i 3 mul 1 add get def
       /B*Ma LAB*a i 3 mul 2 add get def
       i 0 eq {A*Ma 10 mul B*Ma 10 mul moveto}
              {A*Ma 10 mul B*Ma 10 mul lineto} ifelse
       i 5 eq {closepath stroke} if
       } for %i=0,5

xchart 1 ge {%xchart>=1, always only for device space
             %plot hexagon in actual device (d) space
             45 setlinewidth

             /deintpd deintp def %attention change of deintp to device d!
             /deintp 0 def       %draws allways device space gamut!
             
             0 1 5 {/i exch def %i=0,5
                    /r*x r*dd08M i get def
                    /g*x g*dd08M i get def
                    /b*x b*dd08M i get def
                    r*x g*x b*x setrgbcolor %default for calculation of LAB*
                    /LAB*axF LAB*adyF def
                    /LAB*bxF LAB*bdyF def
                    /A*Ma LAB*axF def
                    /B*Ma LAB*bxF def
                    1 0 0 setrgbcolor
                    i 0 eq {A*Ma 10 mul B*Ma 10 mul moveto}
                           {A*Ma 10 mul B*Ma 10 mul lineto} ifelse
                    i 5 eq {closepath stroke} if
                    } for %i=0,5

             /deintp deintpd def %change back to deintp!
             
            } if %xchart>=1

%plot line of actual hue
50 setlinewidth
xcharts 0 eq {/r*x 1 def /g*x 0 def /b*x 0 def} if
xcharts 1 eq {/r*x 1 def /g*x 1 def /b*x 0 def} if
xcharts 2 eq {/r*x 0 def /g*x 1 def /b*x 0 def} if
xcharts 3 eq {/r*x 0 def /g*x 1 def /b*x 1 def} if
xcharts 4 eq {/r*x 0 def /g*x 0 def /b*x 1 def} if
xcharts 5 eq {/r*x 1 def /g*x 0 def /b*x 1 def} if
xcharts 5 le {%xcharts<=5
              r*x g*x b*x setrgbcolor
              0 0 moveto
              /A*Ma LAB*a xcharts 3 mul 1 add get def
              /B*Ma LAB*a xcharts 3 mul 2 add get def
              A*Ma 10 mul B*Ma 10 mul lineto stroke
             } if %xcharts<=5

xcharts 6 ge {%xcharts>=6

xchart 0 eq {%xchart=0,>0

xcharts 9 eq {/i1 0 def /i2 5 def

              i1 1 i2 {/i exch def %i=i1,i2
              
              /L*Ma0 LAB*a i 3 mul 0 add get def %produces ORS18
              /A*Ma0 LAB*a i 3 mul 1 add get def
              /B*Ma0 LAB*a i 3 mul 2 add get def

              rgb_12 i 3 mul 0 add get
              rgb_12 i 3 mul 1 add get
              rgb_12 i 3 mul 2 add get
              setrgbcolor
              0 0 moveto
              A*Ma0 10 mul B*Ma0 10 mul lineto stroke
              A*Ma0 10 mul B*Ma0 10 mul moveto
              -100 -100 rlineto 200 200 rlineto stroke
              A*Ma0 10 mul B*Ma0 10 mul moveto
              -100  100 rlineto 200 -200 rlineto stroke
              
              } for %i=i1,i2
              
              } if     %one or 6 lines
              
xcharts 10 ge xcharts 25 le and {%xcharts>=10,<=25

%16 measured data, see PE54L0NP.pdf, page 11/24
%PE540-7N, Page 11/24 HIC*Fd rgb*Fd LabCh*Fd
/LAB*a48 432 array def %48x9=432
/LAB*a48 [%HIC rgb              LabCh                    nr
(R00Y_100_100d) 1.000 0.000 0.000 48.4 66.1 40.2 77.4 31.3 %00
(R13Y_100_100d) 1.000 0.116 0.000 52.5 57.3 45.5 73.2 38.4 %01
(R25Y_100_100d) 1.000 0.233 0.000 56.8 48.0 50.5 69.8 46.4 %02
(R38Y_100_100d) 1.000 0.366 0.000 62.5 36.5 57.1 67.8 57.3 %03
(R50Y_100_100d) 1.000 0.500 0.000 68.6 25.0 63.9 68.7 68.6 %04
(R63Y_100_100d) 1.000 0.633 0.000 74.9 14.1 71.1 72.5 78.7 %05
(R75Y_100_100d) 1.000 0.766 0.000 80.6  4.8 77.2 77.4 86.4 %06
(R88Y_100_100d) 1.000 0.883 0.000 85.4 -2.5 82.3 82.3 91.7 %07

(Y00G_100_100d) 1.000 1.000 0.000 90.2  -9.6 88.2 88.7  96.2 %08
(Y13G_100_100d) 0.883 1.000 0.000 86.7 -14.2 83.5 84.7  99.6 %09
(Y25G_100_100d) 0.766 1.000 0.000 83.2 -18.4 79.9 82.0 102.9 %10
(Y38G_100_100d) 0.633 1.000 0.000 77.9 -25.1 69.5 74.0 109.8 %11
(Y50G_100_100d) 0.500 1.000 0.000 73.3 -31.7 62.7 70.3 116.8 %12
(Y63G_100_100d) 0.366 1.000 0.000 68.2 -39.5 55.9 68.5 125.2 %13
(Y75G_100_100d) 0.233 1.000 0.000 62.0 -49.7 43.2 65.9 138.9 %14
(Y88G_100_100d) 0.116 1.000 0.000 59.1 -57.1 38.5 68.9 145.9 %15

(G00C_100_100d) 0.000 1.000 0.000 55.8 -65.2  33.8 73.5 152.5 %16
(G13C_100_100d) 0.000 1.000 0.116 56.6 -62.9  24.0 67.3 159.0 %17
(G25C_100_100d) 0.000 1.000 0.233 57.4 -59.7  13.9 61.3 166.8 %18
(G38C_100_100d) 0.000 1.000 0.366 58.5 -54.9   1.5 55.0 178.4 %19
(G50C_100_100d) 0.000 1.000 0.500 59.3 -50.3  -9.0 51.1 190.2 %20
(G63C_100_100d) 0.000 1.000 0.633 60.1 -45.6 -18.7 49.3 202.3 %21
(G75C_100_100d) 0.000 1.000 0.766 61.1 -40.3 -27.8 49.0 214.6 %22
(G88C_100_100d) 0.000 1.000 0.883 62.0 -35.8 -34.7 49.9 224.0 %23

(C00B_100_100d) 0.000 1.000 1.000 63.0 -30.5 -42.0 51.9 234.0 %24
(C13B_100_100d) 0.000 0.883 1.000 59.4 -25.3 -42.7 49.7 239.2 %25
(C25B_100_100d) 0.000 0.766 1.000 55.8 -20.3 -43.2 47.7 244.7 %26
(C38B_100_100d) 0.000 0.633 1.000 50.8 -13.3 -43.9 45.9 253.0 %27
(C50B_100_100d) 0.000 0.500 1.000 45.7  -5.7 -44.6 45.0 262.6 %28
(C63B_100_100d) 0.000 0.366 1.000 40.4   2.6 -45.2 45.2 273.3 %29
(C75B_100_100d) 0.000 0.233 1.000 36.0  10.1 -46.1 47.2 282.3 %30
(C88B_100_100d) 0.000 0.116 1.000 32.1  17.3 -46.7 49.8 290.3 %31

(B00M_100_100d) 0.000 0.000 1.000 27.5 25.9 -47.3 54.0 298.7 %32
(B13M_100_100d) 0.116 0.000 1.000 29.5 33.4 -43.1 54.6 307.7 %33
(B25M_100_100d) 0.233 0.000 1.000 31.0 39.9 -38.5 55.5 315.9 %34
(B38M_100_100d) 0.366 0.000 1.000 35.1 44.5 -34.7 56.5 322.0 %35
(B50M_100_100d) 0.500 0.000 1.000 38.3 52.6 -28.5 59.9 331.5 %36
(B63M_100_100d) 0.633 0.000 1.000 41.2 59.3 -22.0 63.3 339.6 %37
(B75M_100_100d) 0.766 0.000 1.000 45.2 63.8 -18.2 66.4 344.0 %38
(B88M_100_100d) 0.883 0.000 1.000 47.5 68.6 -13.8 69.9 348.5 %39

(M00R_100_100d) 1.000 0.000 1.000 49.5 73.5 -9.0 74.1 352.9 %40
(M13R_100_100d) 1.000 0.000 0.883 49.4 72.4 -4.0 72.5 356.7 %41
(M25R_100_100d) 1.000 0.000 0.766 49.3 71.4  0.4 71.4   0.3 %42
(M38R_100_100d) 1.000 0.000 0.633 49.3 69.8  6.6 70.1   5.4 %43
(M50R_100_100d) 1.000 0.000 0.500 48.9 69.3 12.9 70.5  10.5 %44
(M63R_100_100d) 1.000 0.000 0.366 48.9 68.1 19.6 70.9  16.1 %45
(M75R_100_100d) 1.000 0.000 0.233 48.8 67.1 27.9 72.7  22.6 %46
(M88R_100_100d) 1.000 0.000 0.116 48.6 66.5 34.1 74.8  27.1 %47
] def

/indFa16 16 array def
/indFa16 [%0  1  2  3  4  5  6  7 %0=R and xchart4=1, 4=Y and xchart4=5
          00 02 04 06 08 10 12 14
          %8  9 10 11 12 13 14 15 %8=G and xchart4=9, 12=B and xchart4=13
          16 20 24 28 32 36 40 44] def

/ix xchart4 1 sub def %i=0,15

/indx indFa16 ix get def
/i90 indx 9 mul 4 add def /i91 i90 1 add def /i92 i90 2 add def
/A*Ma0 LAB*a48 i91 get def
/B*Ma0 LAB*a48 i92 get def
/i90r indx 9 mul 1 add def /i91r i90r 1 add def /i92r i90r 2 add def
/r_*Ma LAB*a48 i90r get def
/g_*Ma LAB*a48 i91r get def
/b_*Ma LAB*a48 i92r get def              
r_*Ma g_*Ma b_*Ma
setrgbcolor
              0 0 moveto
              A*Ma0 10 mul B*Ma0 10 mul lineto stroke
              A*Ma0 10 mul B*Ma0 10 mul moveto
              -100 -100 rlineto 200 200 rlineto stroke
              A*Ma0 10 mul B*Ma0 10 mul moveto
              -100  100 rlineto 200 -200 rlineto stroke

} if %xcharts>=10,<=25
              
             }%xchart=0

             {%xchart>0

xcharts 9 eq {/i1 0 def /i2 15 def}     %one or 16 lines
             {/i1 xcharts 10 sub def /i2 i1 def} ifelse
             
i1 1 i2 {/i exch def %i=i1,i2

        /r*x r*dd18M i get def
        /g*x g*dd18M i get def
        /b*x b*dd18M i get def

        r*x g*x b*x setrgbcolor %default to create data

%setrgbcolor calculates data for output in "FF_LM_de_setrgbcolor_F"
%colorm=0 calculates: rgb_dyF, rgb*dyF, LAB*dyF,      ,cmyk*dyF      and more
%colorm=1 calculates: rgb_dyF, rgb*dyF, LAB*dyF', rgb'*dyF, cmyk*dyF and more

       /LAB*LxF LAB*LdyF def
       /LAB*axF LAB*adyF def
       /LAB*bxF LAB*bdyF def

       /A*Ma0 LAB*axF def
       /B*Ma0 LAB*bxF def

       r*x g*x b*x setrgbcolor
       0 0 moveto
       A*Ma0 10 mul B*Ma0 10 mul lineto stroke
       A*Ma0 10 mul B*Ma0 10 mul moveto
       -100 -100 rlineto 200 200 rlineto stroke
       A*Ma0 10 mul B*Ma0 10 mul moveto
       -100  100 rlineto 200 -200 rlineto stroke

      } for %i=i1,i2

            } ifelse %xchart=0,>0

            } if %xcharts>=6

-1200 -1300 translate

} bind def %END proc_CIELAB_D

%************************************************************
/proc_CIELAB_T16 {%BEG proc_CIELAB_T16

/yhoe 6300 def

ibild 0 eq {/xmi0 0 def /ymi0 -50 def}
           {/xmi0 700 def /ymi0 -1400 def} ifelse

15 setlinewidth
1.0 setgray
0 ymi0  moveto 5300 xmi0 add 0 rlineto 0 4800 ymi0 sub rlineto
              -5300 xmi0 sub 0 rlineto
closepath fill
0.0 setgray
0 ymi0  moveto 5300 xmi0 add 0 rlineto 0 4800 ymi0 sub rlineto
              -5300 xmi0 sub 0 rlineto
closepath stroke
 
/nshow {300 /Times-ISOL1 FS  show} bind def
/kshow {300 /TimesI-ISOL1 FS  show} bind def
/bshow {300 /TimesB-ISOL1 FS  show} bind def
/jshow {300 /TimesBI-ISOL1 FS  show} bind def
/sshow {300 /Symbol FS  show} bind def
/ishow {220 /Times-ISOL1 FS -00 -50 rmoveto show 00 50 rmoveto} bind def
/eshow {220 /Times-ISOL1 FS 0 100 rmoveto show 0 -100 rmoveto} bind def

/yd 340 def %y-Zeilenabstand
%Spalten
/S1 20 def
/S2 450 def
/S3 1550 def
/S4 2650 def
/S5 3750 def
/S6 4800 def

/yu1 4650 def
/yu2 3800 def

0 4100 moveto ibild 0 eq {5300}{6000} ifelse 0 rlineto stroke

%Titeltext
S1t 4550 moveto
xchart 0 eq {ibild 1 eq {(ORS20a) bshow}{TSYSIOa bshow} ifelse}
            {Devicea bshow} ifelse

(;) bshow
xcharti 12 lt
ibild 0 ne or {TBM0
( adapted (a) CIELAB data) showen
( adaptierte CIELAB\255Daten) showde
( datos adaptados CIELAB (a)) showes
( donn\351es CIELAB (a) adapt\351es) showfr
( dati atti CIELAB (a)) showit
( adapted (a) CIELAB data) showjp
              } if

ibild 0 eq {%BEG ibild=0

S11 4250 moveto
TM0
(Name) showde
(name) showen
(name) showes
(nom) showfr
(name) showit
(name) showjp

() kshow
S21 200 sub 4250 moveto (L*=L*) kshow xcharti 12 lt ibild 0 ne or {(a) ishow} if
S31 4250 moveto (a*) kshow xcharti 12 lt ibild 0 ne or {(a) ishow} if
S41 4250 moveto (b*) kshow xcharti 12 lt ibild 0 ne or {(a) ishow} if
S51 100 sub 4250 moveto (C*) kshow (ab) ishow
xcharti 12 lt ibild 0 ne or {(,a) ishow} if
S61 100 sub 4250 moveto (h*) kshow (ab) ishow
xcharti 12 lt ibild 0 ne or {(,a) ishow} if

0 1 11 {/i exch def %i=0,11
        /ya yu2 yd i mul sub def

        S11 ya moveto ColNames i get nshow Fxx ishow (,) ishow
        i 8 ge {(CIE) ishow}
               {(M) ishow xcharti 12 lt {(a) ishow} if} ifelse
        ( ) nshow

        xcharti 12 lt {%xcharti<=12,>12

        i 7 le {%i<=7
        xchart 0 eq {%xchart=0,1

                     /L*Fax LAB*a i 3 mul get def
                     /A*Fax LAB*a i 3 mul 1 add get def
                     /B*Fax LAB*a i 3 mul 2 add get def
                     /C*Fax A*Fax dup mul B*Fax dup mul add sqrt def
                     /H*Fax B*Fax A*Fax 0.0001 add atan def
                    }%xchart=0

                    {%xchart=1
                     /r*x r*dd08M i get def
                     /g*x g*dd08M i get def
                     /b*x b*dd08M i get def
                     r*x g*x b*x setrgbcolor %default to create data
%setrgbcolor calculates data for output in "FF_LM_de_setrgbcolor_F"
%colorm=0 calculates: rgb_dyF, rgb*dyF, LAB*dyF,      ,cmyk*dyF      and more
%colorm=1 calculates: rgb_dyF, rgb*dyF, LAB*dyF', rgb'*dyF, cmyk*dyF and more

                     /LAB*LxF LAB*LdyF def
                     /LAB*axF LAB*adyF def
                     /LAB*bxF LAB*bdyF def

                     /L*Fax LAB*LxF def
                     /A*Fax LAB*axF def
                     /B*Fax LAB*bxF def

                    } ifelse %xchart=0,1

              } if %i<=7

        i 8 ge {%i>=8 TYGB
                /L*Fax LAB*ee i 8 sub 3 mul       get def
                /A*Fax LAB*ee i 8 sub 3 mul 1 add get def
                /B*Fax LAB*ee i 8 sub 3 mul 2 add get def
               } if %i>=8
        
                    /C*Fax A*Fax dup mul B*Fax dup mul add sqrt def
                    /H*Fax B*Fax A*Fax 0.0001 add atan def

                    0 setgray
                    S21 ya moveto L*Fax cvsshow1 
                    S31 ya moveto A*Fax cvsshow1
                    S41 ya moveto B*Fax cvsshow1
                    S51 ya moveto C*Fax cvsshow1
                    S61 ya moveto H*Fax cvishow

                    }%xcharti<=12

                    {%xcharti>12

        xchart 0 eq {%xchart=0,1

                     /L*Fax LAB*a i 3 mul get def
                     /A*Fax LAB*a i 3 mul 1 add get def
                     /B*Fax LAB*a i 3 mul 2 add get def
                     /C*Fax A*Fax dup mul B*Fax dup mul add sqrt def
                     /H*Fax B*Fax A*Fax 0.0001 add atan def

                    }%xchart=0

                    {%xchart=1

                     /L*Fax LAB*Ldd08M i get def
                     /A*Fax LAB*add08M i get def
                     /B*Fax LAB*bdd08M i get def

                    } ifelse %xchart=0,1

        /C*Fax A*Fax dup mul B*Fax dup mul add sqrt def
        /H*Fax B*Fax A*Fax 0.0001 add atan def
       
       0 setgray
        S21 ya moveto L*Fax cvsshow1 
        S31 ya moveto A*Fax cvsshow1
        S41 ya moveto B*Fax cvsshow1
        S51 ya moveto C*Fax cvsshow1
        S61 ya moveto H*Fax cvishow

       /L*Fx LAB* i 3 mul get def
       /A*Fx LAB* i 3 mul 1 add get def
       /B*Fx LAB* i 3 mul 2 add get def
       /C*Fx A*Fx dup mul B*Fx dup mul add sqrt def
       /H*Fx B*Fx A*Fx 0.0001 add atan def
       S2 350 add ya moveto L*Fx cvsshow2
       S3 100 add ya moveto A*Fx cvsshow2
       S4 100 add ya moveto B*Fx cvsshow2
       S5 ya moveto C*Fx cvsshow2
       S6 ya moveto H*Fx cvishow

                    } ifelse %xcharti=12,#12

       } for %i=0,11

       }%END ibild=0
       {%BEG ibild=1

S1t 4250 moveto (H*) kshow Fxx ishow () nshow
S2t 200 sub 4250 moveto (L*=L*) kshow xcharti 12 lt ibild 0 ne or {(a) ishow} if
S3t 4250 moveto (a*) kshow xcharti 12 lt ibild 0 ne or {(a) ishow} if
S4t 4250 moveto (b*) kshow xcharti 12 lt ibild 0 ne or {(a) ishow} if
S5t 150 sub 4250 moveto (C*) kshow (ab) ishow
xcharti 12 lt ibild 0 ne or {(,a) ishow} if
S6t 150 sub 4250 moveto (h*) kshow (ab) ishow
xcharti 12 lt ibild 0 ne or {(,a) ishow} if

%16 measured data, see PE54L0NP.pdf, page 11/24
%PE540-7N, Page 11/24 HIC*Fd rgb*Fd LabCh*Fd
/LAB*a48 432 array def %48x9=432
/LAB*a48 [%HIC rgb              LabCh                    nr
(R00Y_100_100d) 1.000 0.000 0.000 48.4 66.1 40.2 77.4 31.3 %00
(R13Y_100_100d) 1.000 0.116 0.000 52.5 57.3 45.5 73.2 38.4 %01
(R25Y_100_100d) 1.000 0.233 0.000 56.8 48.0 50.5 69.8 46.4 %02
(R38Y_100_100d) 1.000 0.366 0.000 62.5 36.5 57.1 67.8 57.3 %03
(R50Y_100_100d) 1.000 0.500 0.000 68.6 25.0 63.9 68.7 68.6 %04
(R63Y_100_100d) 1.000 0.633 0.000 74.9 14.1 71.1 72.5 78.7 %05
(R75Y_100_100d) 1.000 0.766 0.000 80.6  4.8 77.2 77.4 86.4 %06
(R88Y_100_100d) 1.000 0.883 0.000 85.4 -2.5 82.3 82.3 91.7 %07

(Y00G_100_100d) 1.000 1.000 0.000 90.2  -9.6 88.2 88.7  96.2 %08
(Y13G_100_100d) 0.883 1.000 0.000 86.7 -14.2 83.5 84.7  99.6 %09
(Y25G_100_100d) 0.766 1.000 0.000 83.2 -18.4 79.9 82.0 102.9 %10
(Y38G_100_100d) 0.633 1.000 0.000 77.9 -25.1 69.5 74.0 109.8 %11
(Y50G_100_100d) 0.500 1.000 0.000 73.3 -31.7 62.7 70.3 116.8 %12
(Y63G_100_100d) 0.366 1.000 0.000 68.2 -39.5 55.9 68.5 125.2 %13
(Y75G_100_100d) 0.233 1.000 0.000 62.0 -49.7 43.2 65.9 138.9 %14
(Y88G_100_100d) 0.116 1.000 0.000 59.1 -57.1 38.5 68.9 145.9 %15

(G00C_100_100d) 0.000 1.000 0.000 55.8 -65.2  33.8 73.5 152.5 %16
(G13C_100_100d) 0.000 1.000 0.116 56.6 -62.9  24.0 67.3 159.0 %17
(G25C_100_100d) 0.000 1.000 0.233 57.4 -59.7  13.9 61.3 166.8 %18
(G38C_100_100d) 0.000 1.000 0.366 58.5 -54.9   1.5 55.0 178.4 %19
(G50C_100_100d) 0.000 1.000 0.500 59.3 -50.3  -9.0 51.1 190.2 %20
(G63C_100_100d) 0.000 1.000 0.633 60.1 -45.6 -18.7 49.3 202.3 %21
(G75C_100_100d) 0.000 1.000 0.766 61.1 -40.3 -27.8 49.0 214.6 %22
(G88C_100_100d) 0.000 1.000 0.883 62.0 -35.8 -34.7 49.9 224.0 %23

(C00B_100_100d) 0.000 1.000 1.000 63.0 -30.5 -42.0 51.9 234.0 %24
(C13B_100_100d) 0.000 0.883 1.000 59.4 -25.3 -42.7 49.7 239.2 %25
(C25B_100_100d) 0.000 0.766 1.000 55.8 -20.3 -43.2 47.7 244.7 %26
(C38B_100_100d) 0.000 0.633 1.000 50.8 -13.3 -43.9 45.9 253.0 %27
(C50B_100_100d) 0.000 0.500 1.000 45.7  -5.7 -44.6 45.0 262.6 %28
(C63B_100_100d) 0.000 0.366 1.000 40.4   2.6 -45.2 45.2 273.3 %29
(C75B_100_100d) 0.000 0.233 1.000 36.0  10.1 -46.1 47.2 282.3 %30
(C88B_100_100d) 0.000 0.116 1.000 32.1  17.3 -46.7 49.8 290.3 %31

(B00M_100_100d) 0.000 0.000 1.000 27.5 25.9 -47.3 54.0 298.7 %32
(B13M_100_100d) 0.116 0.000 1.000 29.5 33.4 -43.1 54.6 307.7 %33
(B25M_100_100d) 0.233 0.000 1.000 31.0 39.9 -38.5 55.5 315.9 %34
(B38M_100_100d) 0.366 0.000 1.000 35.1 44.5 -34.7 56.5 322.0 %35
(B50M_100_100d) 0.500 0.000 1.000 38.3 52.6 -28.5 59.9 331.5 %36
(B63M_100_100d) 0.633 0.000 1.000 41.2 59.3 -22.0 63.3 339.6 %37
(B75M_100_100d) 0.766 0.000 1.000 45.2 63.8 -18.2 66.4 344.0 %38
(B88M_100_100d) 0.883 0.000 1.000 47.5 68.6 -13.8 69.9 348.5 %39

(M00R_100_100d) 1.000 0.000 1.000 49.5 73.5 -9.0 74.1 352.9 %40
(M13R_100_100d) 1.000 0.000 0.883 49.4 72.4 -4.0 72.5 356.7 %41
(M25R_100_100d) 1.000 0.000 0.766 49.3 71.4  0.4 71.4   0.3 %42
(M38R_100_100d) 1.000 0.000 0.633 49.3 69.8  6.6 70.1   5.4 %43
(M50R_100_100d) 1.000 0.000 0.500 48.9 69.3 12.9 70.5  10.5 %44
(M63R_100_100d) 1.000 0.000 0.366 48.9 68.1 19.6 70.9  16.1 %45
(M75R_100_100d) 1.000 0.000 0.233 48.8 67.1 27.9 72.7  22.6 %46
(M88R_100_100d) 1.000 0.000 0.116 48.6 66.5 34.1 74.8  27.1 %47
] def

/indFa16 16 array def
/indFa16 [00 02 04 06 08 10 12 14
          16 20 24 28 32 36 40 44] def

 0 1 15 {/i exch def %i=0,15
         /ya yu2 yd i mul sub def
         
         xchart 0 eq {%xchart=0,>0

         /indx indFa16 i get def
         /i90 indx 9 mul 4 add def /i91 i90 1 add def /i92 i90 2 add def
         /L*Ma LAB*a48 i90 get def
         /A*Ma LAB*a48 i91 get def
         /B*Ma LAB*a48 i92 get def
         /C*Ma A*Ma dup mul B*Ma dup mul add 0.0001 add sqrt def
         /H*Ma B*Ma A*Ma 0.0001 add atan def

                     }%xchart=0

                     {%xchart>0
         /r*x r*dd18M i get def
         /g*x g*dd18M i get def
         /b*x b*dd18M i get def

         r*x g*x b*x setrgbcolor %default to create data
%setrgbcolor calculates data for output in "FF_LM_de_setrgbcolor_F"
%colorm=0 calculates: rgb_dyF, rgb*dyF, LAB*dyF,      ,cmyk*dyF      and more
%colorm=1 calculates: rgb_dyF, rgb*dyF, LAB*dyF', rgb'*dyF, cmyk*dyF and more

         /r*xF r*dyF def
         /g*xF g*dyF def
         /b*xF b*dyF def

         /LAB*LxF LAB*LdyF def
         /LAB*axF LAB*adyF def
         /LAB*bxF LAB*bdyF def
         /LAB*CxF LAB*adyF dup mul
                  LAB*bdyF dup mul add 0.0001 add sqrt def
         /LAB*hxF LAB*bdyF LAB*adyF 0.0001 add atan def

         /L*Ma LAB*LxF def
         /A*Ma LAB*axF def
         /B*Ma LAB*bxF def
         /C*Ma LAB*CxF def
         /H*Ma LAB*hxF def

                     } ifelse %xchart=0,>0

         0 setgray
         S1t ya moveto () nshow
         S1t ya moveto RGB54CC17_L i 4 mul get show Fxx ishow () nshow
         S2t 60 add ya moveto L*Ma cvsshow1 
         S3t ya moveto A*Ma cvsshow1
         S4t ya moveto B*Ma cvsshow1
         S5t ya moveto C*Ma cvsshow1
         S6t ya moveto H*Ma cvishow

        } for %i=0,15

        } ifelse %END ibild=1

} bind def %END proc_CIELAB_T16

%******************************************************************
/proc_CIELAB_G {%BEG CIELAB_G

/u* 0 def
/H*MGam 6 array def
/C*MGam 6 array def
0 1 5 {/i exch def %i=0,5
       /A*Ma LAB*a i 3 mul 1 add get def
       /B*Ma LAB*a i 3 mul 2 add get def
       /C*MGama A*Ma dup mul B*Ma dup mul add sqrt def
       H*MGam i B*Ma A*Ma 0.0001 add atan put
       C*MGam i C*MGama put
       /u* u* C*MGama L*Wio L*Nio sub mul add def
       } for %i=0,5
/u*r u* 77.4 77.4 mul 6 mul div 100 mul def
1 1 1 setrgbcolor

/xmtext 2200 def /xms 0 def
xmtext xms sub 11500 moveto TBG0
(%Gamut) showen
(%Umfang) showde
(%Gama) showes
(%Gamme) showfr
(%Gamma) showit
(%Gamut) showjp

xmtext xms sub 11100 moveto TBG0
(u*) show 
TBM0 -20 -50 rmoveto (rel) show 0 50 rmoveto
TBG0 ( = ) show u*r cvishow

0 1 4 {/i exch def %i=0,4
       /H*dif H*MGam i 1 add get H*MGam i get sub def
       i 0 eq {/H*MGamin H*dif def /H*MGamax H*dif def} if
       H*dif H*MGamin lt {/H*MGamin H*dif def} if
       H*dif H*MGamax gt {/H*MGamax H*dif def} if
       } for %i=0,4
/g*Hr H*MGamin H*MGamax div 100 mul def
xmtext xms sub 10700 moveto TBG0
(%Regularity) showen
(%Regularit\344t) showde
(%Regularidad) showes
(%R\351gularit\351) showfr
(%Regularit\340) showit
(%Regularity) showjp

xmtext 10300 moveto TBG0
(g*) show 
TBM0 -20 -50 rmoveto (H,rel) show 0 50 rmoveto
TBG0 ( = ) show g*Hr cvishow
0 1 4 {/i exch def %i=0,4
       /C*akt C*MGam i get def
       i 0 eq {/C*MGamin C*akt def /C*MGamax C*akt def} if
       C*akt C*MGamin lt {/C*MGamin C*akt def} if
       C*akt C*MGamax gt {/C*MGamax C*akt def} if
       } for %i=0,4
/g*Cr C*MGamin C*MGamax div 100 mul def
xmtext 09900 moveto TBG0
(g*) show
TBM0 -20 -50 rmoveto (C,rel) show 0 50 rmoveto
TBG0 ( = ) show g*Cr cvishow

} bind def %CIELAB_G

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

/ilf 8 array def
/ilf [0.00 0.25 0.50 1.00 2.00 4.00 8.00 16.00] def

/Lrefl 11 array def
/Lrefl [(0%) (0%) (0%)
        (0%) (0,6%) (1,2%) (2,5%)
        (5%) (10%) (20%) (40%)] def

/cvishowb {cvi 6 string cvs show ( ) show} def
/cvsshow1b {10 mul cvi 0.1 mul 7 string cvs show ( ) show} def
/cvsshow2b {100 mul cvi 0.01 mul 7 string cvs show ( ) show} def
/cvsshow3b {1000 mul cvi 0.001 mul 7 string cvs show ( ) show} def

/cvsshow1r {0.05 add 10 mul cvi 0.1 mul 7 string cvs show} def
/cvsshow2r {0.005 add 100 mul cvi 0.01 mul 7 string cvs show} def
/cvsshow3r {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show} def

/cvsshow1br {0.05 add 10 mul cvi 0.1 mul 7 string cvs show ( ) show} def
/cvsshow2br {0.005 add 100 mul cvi 0.01 mul 7 string cvs show ( ) show} def
/cvsshow3br {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show ( ) show} def

/cvi100 {100 mul cvi /xi exch def
         xi 0 lt {/vorz -1 def} {/vorz 1 def} ifelse
         /xia xi abs def
         vorz -1 eq {(\255) show} {(0) show} ifelse
         xia    0 ge xia    9 le     {(0000) show} if
         xia   10 ge xia   99 le and {(000) show} if
         xia  100 ge xia  999 le and {(00) show} if
         xia 1000 ge xia 9999 le and {(0) show} if
         xia cvishow
         } bind def
         
%************************************************
%******BEG RGB_48_16_6.PS default rgb data for 48/16/6 steps for device colours
/r*dd64M 64 array def
/r*dd64M [1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 %R
          1.000 0.875 0.750 0.625 0.500 0.375 0.250 0.125 %J
          0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 %G
          0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 %C
          0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 %B
          1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 %M
          1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 %R
          1.000 0.875 0.750 0.625 0.500 0.375 0.250 0.125 %J
         ] def
/g*dd64M 64 array def
/g*dd64M [0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 %R
          1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 %J
          1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 %G
          1.000 0.875 0.750 0.625 0.500 0.375 0.250 0.125 %C
          0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 %B
          0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 %M
          0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 %R
          1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 %J
         ] def
/b*dd64M 64 array def
/b*dd64M [0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 %R
          0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 %J
          0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 %G
          1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 %C
          1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 %B
          1.000 0.875 0.750 0.625 0.500 0.375 0.250 0.125 %M
          0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 %R
          0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 %J
         ] def

%calculate all data of 16+1=17 step elementary colour circle
/ind64M 17 array def
/ind64M 
%R00Y R25Y R50Y R75Y Y00G Y25G Y50G Y75G
[0    2    4    6    8    10   12   14
%G00B G25B G50B G75G B00R B25R B50R B75R R00Y
 16   20   24   28   32   36   40   44   0
] def

%actual 16 step device circle + N + W
/r*dd18M 18 array def
/g*dd18M 18 array def
/b*dd18M 18 array def

0 1 15 {/i exch def %i=0,15
        /indi ind64M i get def
        r*dd18M i r*dd64M indi get put %16 device colours
        g*dd18M i g*dd64M indi get put
        b*dd18M i b*dd64M indi get put
       } for %i=0,15

r*dd18M 16 0 put %N
g*dd18M 16 0 put
b*dd18M 16 0 put

r*dd18M 17 1 put %W
g*dd18M 17 1 put
b*dd18M 17 1 put

%actual 6 step device circle + N + W
/r*dd08M 08 array def
/g*dd08M 08 array def
/b*dd08M 08 array def

0 1 5 {/i exch def %i=0,5
        r*dd08M i r*dd64M i 8 mul get put %6 device colours
        g*dd08M i g*dd64M i 8 mul get put
        b*dd08M i b*dd64M i 8 mul get put
       } for %i=0,5

r*dd08M 6 0 put %N
g*dd08M 6 0 put
b*dd08M 6 0 put
r*dd08M 7 1 put %W
g*dd08M 7 1 put
b*dd08M 7 1 put

%******END RGB_48_16_6.PS default rgb data for 48/16/6 steps for device colours

/lanind1 0 def /lanind2 0 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

/lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def
                    /lanindd laninddg def} if
/colormg where {pop /colorm1 colormg def /colorm2 colormg def
                    /colormd colormdg def} if
/deintpg where {pop /deintp1 deintpg def /deintp2 deintpg def
                    /deintpd deintpdg def} if
/xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def
                    /xcolord xcolordg def} if
/xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def
                    /xchartd xchartdg def} if
/pchartg where {pop /pchart1 pchartg def /pchart2 pchartg def
                    /pchartd pchartdg def} if
/colsepg where {pop /colsep1 colsepg def /colsep2 colsepg def
                    /colsepd colsepdg def} if
/pmetamg where {pop /pmetam1 pmetamg def /pmetam2 pmetamg def
                    /pmetamd pmetamdg def} if
                    
/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 0 def} ifelse
/xchart4f where {pop /xchart4 xchart4f def}
                {/xchart4 10 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

%only for editorial change of the following loops
%/lanind lanind1 def %
%/colorm colorm1 def %
%/deintp deintp1 def %
%/xcolor xcolor1 def %
%/xchart xchart1 def %
%/pchart pchart1 def %
%/colsep colsep1 def %
%/pmetam pmetam1 def %

/lanind lanind1 def %lanind1 lanindd lanind2 {/lanind exch def %output showpage
/colorm colorm1 def %colorm1 colormd colorm2 {/colorm exch def %output showpage
/deintp deintp1 def %deintp1 deintpd deintp2 {/deintp exch def %output showpage
/xcolor xcolor1 def %xcolor1 xcolord xcolor2 {/xcolor exch def %output showpage
/xchart xchart1 def %xchart1 xchartd xchart2 {/xchart exch def %output showpage
/pchart pchart1 def %pchart1 pchartd pchart2 {/pchart exch def %output showpage
/colsep colsep1 def %colsep1 colsepd colsep2 {/colsep exch def %output showpage

/pmetam pmetam1 def %pmetam1 pmetamd pmetam2 {/pmetam exch def %output showpage
%pmetam 0 eq {/colsep 0 def}        %cmyn5*
%            {/colsep 1 def} ifelse %cmy0*

XYZ*system54
/Devicea (TLS00a) def

xchart 0 eq {/ISRL*ioL 0 def /ISIO*ioL 0 def} if %Offset ORS18
xchart 1 ge {/ISRL*ioL 0 def /ISIO*ioL 1 def} if %Television TLS00

ISRL*ioL 0 eq {%ISRL*ioL=0
ISIO*ioL 0 eq {/TSYSIOa (ORS18a) def /TSYSIO (ORS18) def
/TSYSIOen (Offset Reflective System ) def
/TSYSIOde (Offset\255Reflektiv\255System ) def
/TSYSIOes (Offset Reflective System ) def
/TSYSIOfr (Syst\350me Offset Reflective ) def
/TSYSIOit (Offset Reflective System ) def
/TSYSIOjp (Offset Reflective System ) def
              } if
ISIO*ioL 1 eq {/TSYSIOa (TLS00a) def
/TSYSIOen (Television Luminous System ) def
/TSYSIOde (Fernseh\255Lichtfarben\255System ) def
/TSYSIOes (Television Luminous System ) def
/TSYSIOfr (Syst\350me T\351l\351vision Lumicie ) def
/TSYSIOit (Television Luminous System ) def
/TSYSIOjp (Television Luminous System ) def
              } if
ISIO*ioL 2 eq {/TSYSIOa (FRS06a) def
/TSYSIOen (Printer Reflective System ) def
/TSYSIOde (Drucker\255Reflektiv\255System ) def
/TSYSIOes (Printer Reflective System ) def
/TSYSIOfr (Syst\350me Printer Reflective ) def
/TSYSIOit (Printer Reflective System ) def
/TSYSIOjp (Printer Reflective System ) def
              } if
ISIO*ioL 3 eq {/TSYSIOa (TLS18a) def
/TSYSIOen (Television Luminous System ) def
/TSYSIOde (Fernseh\255Lichtfarben\255System ) def
/TSYSIOes (Television Luminous System ) def
/TSYSIOfr (Syst\350me T\351l\351vision Lumicie ) def
/TSYSIOit (Television Luminous System ) def
/TSYSIOjp (Television Luminous System ) def
              } if
ISIO*ioL 4 eq {/TSYSIOa (NLS00a) def
/TSYSIOen (Natural Luminous System ) def
/TSYSIOde (Nat\374rliches\255Lichtfarben\255System ) def
/TSYSIOes (Natural Luminous System ) def
/TSYSIOfr (Syst\350me Natural Lumicie ) def
/TSYSIOit (Natural Luminous System ) def
/TSYSIOjp (Natural Luminous System ) def
              } if
ISIO*ioL 5 eq {/TSYSIOa (NRS18a) def
/TSYSIOen (Natural Reflective System ) def
/TSYSIOde (Nat\374rliches\255Reflektiv\255System ) def
/TSYSIOes (Natural Reflective System ) def
/TSYSIOfr (Syst\350me Natural Reflective ) def
/TSYSIOit (Natural Reflective System ) def
/TSYSIOjp (Natural Reflective System ) def
              } if
ISIO*ioL 6 eq {/TSYSIOa (SRS18a) def
/TSYSIOen (Standard Reflective System ) def
/TSYSIOde (Standard\255Reflektiv\255System ) def
/TSYSIOes (Standard Reflective System ) def
/TSYSIOfr (Syst\350me Standard Reflective) def
/TSYSIOit (Standard Reflective System ) def
/TSYSIOjp (Standard Reflective System ) def
              } if
ISIO*ioL 7 eq {/TSYSIOa (TLS70a) def
/TSYSIOen (Television Luminous System ) def
/TSYSIOde (Fernseh\255Lichtfarben\255System ) def
/TSYSIOes (Television Luminous System ) def
/TSYSIOfr (Syst\350me T\351l\351vision Lumicie ) def
/TSYSIOit (Television Luminous System ) def
/TSYSIOjp (Television Luminous System ) def
              } if
              } if %ISRL*ioL=0

ISRL*ioL 1 eq {%ISRL*ioL=1
ISIO*ioL 0 eq {/TSYSIOa (TLS00a) def} if
ISIO*ioL 1 eq {/TSYSIOa (TLS06a) def} if
ISIO*ioL 2 eq {/TSYSIOa (TLS11a) def} if
ISIO*ioL 3 eq {/TSYSIOa (TLS18a) def} if
ISIO*ioL 4 eq {/TSYSIOa (TLS27a) def} if
ISIO*ioL 5 eq {/TSYSIOa (TLS38a) def} if
ISIO*ioL 6 eq {/TSYSIOa (TLS52a) def} if
ISIO*ioL 7 eq {/TSYSIOa (TLS70a) def} if
/TSYSIOen (Television Luminous System ) def
/TSYSIOde (Fernseh\255Lichtfarben\255System ) def
/TSYSIOes (Television Luminous System ) def
/TSYSIOfr (Syst\350me T\351l\351vision Lumicie ) def
/TSYSIOit (Television Luminous System ) def
/TSYSIOjp (Television Luminous System ) def
              } if %ISRL*ioL=1

ISRL*ioL 2 eq {%ISRL*ioL=2
ISIO*ioL 0 eq {/TSYSIOa (OLS00a) def} if
ISIO*ioL 1 eq {/TSYSIOa (OLS06a) def} if
ISIO*ioL 2 eq {/TSYSIOa (OLS11a) def} if
ISIO*ioL 3 eq {/TSYSIOa (OLS18a) def} if
ISIO*ioL 4 eq {/TSYSIOa (OLS27a) def} if
ISIO*ioL 5 eq {/TSYSIOa (OLS38a) def} if
ISIO*ioL 6 eq {/TSYSIOa (OLS52a) def} if
ISIO*ioL 7 eq {/TSYSIOa (OLS70a) def} if
/TSYSIOen (Offset Reflective System ) def
/TSYSIOde (Offset\255Reflektiv\255System ) def
/TSYSIOes (Offset Reflective System ) def
/TSYSIOfr (Syst\350me Offset Reflective ) def
/TSYSIOit (Offset Reflective System ) def
/TSYSIOjp (Offset Reflective System ) def
              } if %ISRL*ioL=2

proc_LAB*ioL

7 /Times-ISOL1 FS
130 83 moveto
lanind cvishow (-) show
colorm cvishow
deintp cvishow
xcolor cvishow
xchart cvishow
pchart cvishow
colsep cvishow (-L) show pmetam cvishow

180 83 moveto
(QG820-7) show
xchart 0 eq {(N) show}
            {deintp colorm 2 mul add cvishow} ifelse

72 90 translate
/xt 1 def xchart 1 eq {/xt 1 def} if
xt 0 eq {0.010 MM} {0.010 MM} ifelse dup scale

/xchart3P0  xchart3  0 add def
/xchart3P11 xchart3 11 add def

pmetam 0 eq {%pmetam=0
40 setlinewidth
xchart xchart3P0 le {0.5 setgray} {1 setgray} ifelse
0 0  moveto 25000 0 rlineto 0 17220 rlineto -25000 0 rlineto
closepath fill
0 setgray
0 0  moveto 25000 0 rlineto 0 17220 rlineto -25000 0 rlineto
closepath stroke
} if %pmetam=0

colorm 0 eq deintp 0 eq and {/Txx (d) def  /Fxx (d) def} if %colorm=0, deintp=0
colorm 0 eq deintp 1 eq and {/Txx (e) def  /Fxx (e) def} if %colorm=0, deintp=1
colorm 1 eq deintp 0 eq and {/Txx (dd) def /Fxx (d) def} if %colorm=1, deintp=0
colorm 1 eq deintp 1 eq and {/Txx (de) def /Fxx (e) def} if %colorm=1, deintp=1
xchart 0 eq {/Txx (-) def /Fxx (-) def} if

/xcharts 9 xchart4 add def

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

xchart xchart3P0 le {%BEG LOOP0: xchart<=xchart3P0
                     %two pages for xchart=0,1

/ColNames 17 array def
/ColNames [(R) (Y) (G) (C) (B) (M)
           (N) (W)
           (R) (Y) (G) (B)
          ] def

/AngsTabt 68 array def
/AngsTabt [%31 angles = 360/22,5 + 1 = 16 + 1
000.0 1.00 0.00 0.00 %r00j
022.5 1.00 0.25 0.00
045.0 1.00 0.50 0.00 %r50j
067.5 1.00 0.75 0.00
090.0 1.00 1.00 0.00 %j00g
112.5 0.75 1.00 0.00
135.0 0.50 1.00 0.00 %j50g
157.5 0.25 1.00 0.00
180.0 0.00 1.00 0.00 %g00b
202.5 0.00 1.00 0.50
225.0 0.00 1.00 1.00 %g50b
247.5 0.00 0.50 1.00
270.0 0.00 0.00 1.00 %b00r
292.5 0.50 0.00 1.00
315.0 1.00 0.00 1.00 %b50r
337.5 1.00 0.00 0.50
360.0 1.00 0.00 0.00 %r00j
] def

/xs 1000 def /ys xs def /d2 xs 2 div def /d8 xs 8 div def
/xs5x xs 5.4 mul def /ys5x ys 5.4 mul def
/x xs 0.15 mul  def
/y ys 12.0 mul def
/xd 800 def
/yd 800 def

/xd5x xs5x 200 sub def
/yd5x ys5x 200 sub def

/j 0 def /i 0 def
/xds 600 def

/xmin  0000 def
/xmax 10000 def
/ymin  0000 def
/ymax 10000 def

%Spalten
/S11 0020 def %code
/S21 1300 def %L*
/S31 2100 def %a*
/S41 2900 def %b*
/S51 3800 def %C*
/S61 4650 def %h*

/S1t 0020 def %code
/S2t 2200 def %L*
/S3t 3000 def %a*
/S4t 3800 def %b*
/S5t 4650 def %C*
/S6t 5450 def %h*

/xcharti pchart def

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

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

xcharts 9 eq {%xcharts=9

%BEG CIELAB_09 xchart=09

       ibild 0 eq { 1900 1700 translate} if
       ibild 1 eq {13800 1700 translate} if


%BEG CIELAB_09 Top Text Hue Circles

ibild 0 eq {%ibild=0

1 setgray
TBG0
/xtext0 -1700 def /xtext1 -1200 def
/cfakt 1.0 def

xtext0 15000 moveto
(Input and Output: ) showen
(Ein\255 und Ausgabe: ) showde
(Entrada i salida: ) showes
(Entr\351e et sortie: ) showfr
(Immetere y uscita: ) showit
(Input and Output: ) showjp

TSYSIOen showen
TSYSIOde showde
TSYSIOes showes
TSYSIOfr showfr
TSYSIOit showit
TSYSIOjp showjp
TSYSIOa show

TBG0 
xtext0 14500 moveto
(Data for any device (d) or) showen
(Daten f\374r jede Ger\344te\255 (d) oder) showde
(Datos del dispositivo (d) o) showes
(Donn\351es de couleurs p\351riph\351riques (d)) showfr
(Dati del dispositivo (d) o) showit
(Data for any device (d) or) showjp

xtext0 14100 moveto
(elementary (e) colour:) showen
(Elementarfarbe (e):) showde
(elemental (e) color:) showes
(ou \351l\351mentaires (e):) showfr
(colori elementari (e):) showit
(elementary (e) colour:) showjp

xtext1 13700 moveto TBIG0 (HIC*) show
 TBM0 -20 -50 rmoveto Fxx show 0 50 rmoveto TBG0

xtext0 13300 moveto TBG0
(hue code for the colours) showen
(Bunttoncode f\374r die Farben) showde
(c\363digo de tono para les colores) showes
(code de teinte pour les cou\255) showfr
(codice di tonalit\340 per i colori) showit
(hue text for the colours) showjp

xtext0 12900 moveto
(of this page: ) showen
(dieser Seite: ) showde
(esta p\341gina: ) showes
(leurs de cette p\341ge: ) showfr
(questa pagina: ) showit
(of this page: ) showjp

xtext1 12500 moveto
TBIG0 (H*) show
-20 -50 rmoveto TBM0 Fxx show 0 50 rmoveto TBG0 ( = ) show

TBG0 COLhNam16 00 get show 
0 -50 rmoveto TBM0 Fxx show 0 50 rmoveto(, ) show 
TBG0 COLhNam16 01 get show
0 -50 rmoveto TBM0 Fxx show 0 50 rmoveto(, ..., ) show
TBG0 COLhNam16 15 get show
0 -50 rmoveto TBM0 Fxx show 0 50 rmoveto TBG0

%cfakt 1 ne {%cfakt#1
%xtext0 12100 moveto TBG0
%(contrast reduction factor: ) showen (Kontrastreduzierungsfaktor: ) showde
%xtext1 11600 moveto
%TBIG0 (c) show TBM0 0 -130 rmoveto (R) show 0 130 rmoveto
%TBG0 ( = ) show
%cfakt cvsshow2
%} if %cfakt#1

} if %ibild=0

%END CIELAB_09 Top Text Hue Circle

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

%BEG CIELAB_09 Hue Circle

-1200 -1500 translate %transfer for colour circle

/xym 4 def
25 setlinewidth
/xd2 xd 0.8 mul def
ibild 0 eq {0.5 0.5 0.5 setrgbcolor}
           {1.0 1.0 1.0 setrgbcolor} ifelse
0 0  moveto 2800 xym mul 0 rlineto 0 2800 xym mul rlineto
           -2800 xym mul 0 rlineto
closepath fill
0.0 setgray
0 0  moveto 2800 xym mul 0 rlineto 0 2800 xym mul rlineto
           -2800 xym mul 0 rlineto
closepath stroke

1400 xym mul 1400 xym mul translate %cero at center

-600 xym mul 0 moveto 600 xym mul 0 lineto stroke
0 -750 xym mul moveto 0 750 xym mul lineto stroke

/rx 774 xym mul 1.56 mul def %standard hexagon gamut
0 0 0 setrgbcolor
0 0 rx 0 360 arc stroke

/xs3 1400 def /xd3 xs3 2 div def

CBKK
0 1 15 {/j exch def %j=0,15

        /xpos rx AngsTabt j 4 mul get cos mul def
        /ypos rx AngsTabt j 4 mul get sin mul def
        /xa xpos xd3 sub def
        /ya ypos xd3 sub def

        /r_x AngsTabt j 4 mul 1 add get def
        /g_x AngsTabt j 4 mul 2 add get def
        /b_x AngsTabt j 4 mul 3 add get def

        /tLAB 1 def
        r_x g_x b_x setrgbcolor
        xa ya xs3 xs3 rec fill

        1 r_x sub 1 g_x sub 1 b_x sub 0 setcmykcolor
        xa ya xs3 0.5 mul dup rem fill

      } for %j=0,15

TBG0
0 0 0 setrgbcolor
 2100   1300 moveto
(yellowish) showen
(gelblich)  showde
(amarillento) showes
(jaun\342tre) showfr
(giallastro) showit
(yellowish) showjp

-3600   1300 moveto
(yellowish) showen
(gelblich)  showde
(amarillento) showes
(jaun\342tre) showfr
(giallastro) showit
(yellowish) showjp

 2300  -1450 moveto
(  bluish)  showen
(bl\344ulich) showde
(azulado)  showes
(blue\342tre)  showfr
(bluastro)  showit
(  bluish)  showjp

-3600  -1450 moveto
(  bluish)  showen
(bl\344ulich) showde
(azulado)  showes
(blue\342tre)  showfr
(bluastro)  showit
(  bluish)  showjp

 -2000  3300 moveto
(greenish)  showen
(gr\374nlich) showde
( verdoso)  showes
(verd\342tre)  showfr
(verdastro)  showit
(greenish)  showjp

 -2000 -3500 moveto
(greenish)  showen
(gr\374nlich) showde
( verdoso)  showes
(verd\342tre)  showfr
(verdastro)  showit
(greenish)  showjp

   900  3300 moveto
(  redish)  showen
(r\366tlich)  showde
(  rojizo)  showes
(rouge\342tre)  showfr
(rossastro)  showit
(  redish)  showjp

   900 -3500 moveto
(  redish)  showen
(r\366tlich)  showde
(  rojizo)  showes
(rouge\342tre)  showfr
(rossastro)  showit
(  redish)  showjp

-4000  -100 moveto
(Green) showen
(Gr\374n) showde
(Green) showes
(Vert) showfr
(Verde) showit
(Green) showjp
TBIG0 ( G) show
TBM0 0 -30 rmoveto Fxx show 0 30 rmoveto TBG0
 2600  -100 moveto
(Red) showen
(Rot) showde
(Rojo) showes
(Rouge) showfr
(Rosso) showit
(Red) showjp
TBIG0 ( R) show
 TBM0 0 -30 rmoveto Fxx show 0 30 rmoveto TBG0
 -500  3700 moveto
(Yellow) showen
(Gelb) showde
(Amarillo) showes
(Jaune) showfr
(Giallo) showit
(Yellow) showjp
TBIG0 ( Y) show
 TBM0 0 -30 rmoveto Fxx show 0 30 rmoveto TBG0
 -400 -3900 moveto
(Blue) showen
(Blau) showde
(Azul) showes
(Bleu) showfr
(Blu) showit
(Blue) showjp
TBIG0 ( B) show
TBM0 0 -30 rmoveto Fxx show 0 30 rmoveto TBG0

-1400 xym mul -1400 xym mul translate

1200 1500 translate

%END CIELAB_09 Hue Circle

%****************************************************************************
%CIELAB_09-T16
/xdev  11000 def
/xele -09250 def
/xtop    600 def
ibild 0 eq {5600 xdev add }{4700 xele add} ifelse 9600 xtop add translate

proc_CIELAB_T16

ibild 0 eq {-5600 xdev sub}{-4700 xele sub} ifelse -9600 xtop sub translate
%END CIELAB_09 Table

%****************************************************************************
%BEG CIELAB_09 Diagram

ibild 0 eq { %ibild=0

2600 xdev add 11600 xtop add translate

proc_CIELAB_D

-2600 xdev sub -11600 xtop sub translate

} if %ibild=0

%END CIELAB_09 Diagram

%****************************************************************************
%BEG CIELAB_09 Gamut

ibild 1 eq { %ibild=1

proc_CIELAB_G

} if %ibild=1

%END CIELAB_09 Diagram


       ibild 0 eq { 1900 neg 1700 neg translate} if
       ibild 1 eq {13800 neg 1700 neg translate} if

} if %xcharts=9

%END CIELAB_09 xchart=09

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

xcharts 10 ge xcharts 25 le and {%xcharts=10,25

%BEG CIELAB_10,25 xcharts=10,25

%BEG CIELAB_10 Top Text Hue Triangles

ibild 0 eq { 1900 1700 translate} if
ibild 1 eq {13800 1700 translate} if

1.0 setgray
25 setlinewidth
 -200   000 moveto 10500 0 rlineto stroke
  000  -200 moveto 0 11800 rlineto stroke
ibild 0 eq {2500  -200 moveto 0   400 rlineto stroke
            5000  -200 moveto 0   400 rlineto stroke
            7500  -200 moveto 0   400 rlineto stroke}
           {2000  -200 moveto 0   400 rlineto stroke
            4000  -200 moveto 0   400 rlineto stroke
            6000  -200 moveto 0   400 rlineto stroke
            8000  -200 moveto 0   400 rlineto stroke
           }ifelse
10000  -200 moveto 0   400 rlineto stroke
 -200  5000 moveto 400   0 rlineto stroke
 -200 10000 moveto 400   0 rlineto stroke
  000   000 moveto 10000 5000 rlineto -10000 5000 rlineto stroke
09700 -450 sub  000  150 add moveto 450 -150 rlineto
                                   -450 -150 rlineto closepath fill
  000 150 sub 11000 -450 sub moveto 150  450 rlineto
                                    150 -450 rlineto closepath fill

TM0 %C*, C*
ibild 0 eq { %ibild=0,1
/iy0  -600 def
    0 200 sub  iy0 moveto (000) show
 2500 200 sub  iy0 moveto (025) show
 5000 200 sub  iy0 moveto (050) show
 7500 200 sub  iy0 moveto (075) show
10000 200 sub  iy0 moveto (100) show
}
{
/iy0 -600 def
    0 200 sub  iy0 moveto (000) show
 2000 200 sub  iy0 moveto (020) show
 4000 200 sub  iy0 moveto (040) show
 6000 200 sub  iy0 moveto (060) show
 8000 200 sub  iy0 moveto (080) show
10000 200 sub  iy0 moveto (100) show
} ifelse %ibild=0,1

TM0 %T*, L*
ibild 0 eq { %ibild=0,1
/ix0 -1750 def /iy0 200 def 
  ix0     0 iy0 sub moveto (000) show
  ix0  2500 iy0 sub moveto (025) show
  ix0  5000 iy0 sub moveto (050) show
  ix0  7500 iy0 sub moveto (075) show
  ix0 10000 iy0 sub moveto (100) show
           }
           {
/ix0 -0900 def /iy0 200 def
  ix0     0 iy0 sub moveto (000) show
  ix0  2500 iy0 sub moveto (025) show
%  ix0  5000 iy0 sub moveto (050) show
  ix0  7500 iy0 sub moveto (075) show
  ix0 10000 iy0 sub moveto (100) show
           } ifelse %ibild=0,1

TM0 i%*
ibild 0 eq {%ibild=0,1
/iy0 1550 def
 10000 400 sub 5000 iy0 sub moveto TIM0 (I*) show TM0 ( = 100) show
  7500 400 sub 3750 iy0 sub moveto TIM0 (I*) show TM0 ( = 075) show
  5000 400 sub 2500 iy0 sub moveto TIM0 (I*) show TM0 ( = 050) show
  2500 400 sub 1250 iy0 sub moveto TIM0 (I*) show TM0 ( = 025) show
   000 400 sub   00 iy0 sub moveto TIM0 (I*) show TM0 ( = 000) show
           }%ibild=0
           {%ibild=1
/iy0 700 def
 10000 500 sub 4700 iy0 sub moveto TIM0 (I*) show TM0 (=100) show
  8000 200 sub 4000 iy0 sub moveto TIM0 (I*) show TM0 (=080) show
  6000 200 sub 3000 iy0 sub moveto TIM0 (I*) show TM0 (=060) show
  4000 200 sub 2000 iy0 sub moveto TIM0 (I*) show TM0 (=040) show
  2000 200 sub 1000 iy0 sub moveto TIM0 (I*) show TM0 (=020) show
   000 200 sub -300 iy0 sub moveto TIM0 (I*) show TM0 (=000) show
           } ifelse %ibild=0,1

ibild 0 eq {/iy0 2400 def} {/iy0 1400 def} ifelse
09000 0500 sub 4300 iy0 sub moveto 1000 500 rlineto stroke
10000 0500 sub 4800 iy0 sub moveto
-450 -50 rlineto 150 -300 rlineto closepath fill

10000 2600 sub 3800 iy0 sub moveto TBG0
(brilliance) showen
(Brillantheit) showde
(brillo) showes
(brillance) showfr
(brillantezza) showit
(brilliance) showjp
TBIG0 ( I*) show

7200 -1100 moveto TBG0
(chroma) showen
(Buntheit) showde
(chroma) showes
(chroma) showfr
(croma) showit
(chroma) showjp
TBIG0 ( C*) show

TBG0
/xtext0 -1700 def /xtext1 -1200 def
ibild 0 eq { %ibild=0
TBG0
xtext0 14500 moveto 
(Data for any device (d) or) showen
(Daten f\374r jede Ger\344te\255 (d) oder) showde
(Datos del dispositivo (d) o) showes
(Donn\351es de couleurs p\351riph\351riques (d)) showfr
(Dati del dispositivo (d) o) showit
(Data for any device (d) or) showjp

xtext0 14100 moveto
(elementary (e) colour:) showen
(Elementarfarbe (e):) showde
(elemental (e) color:) showes
(ou \351l\351mentaires (e):) showfr
(colori elementari (e):) showit
(elementary (e) colour:) showjp

xtext1 13700 moveto TBIG0 (HIC*) show
 TBM0 -20 -50 rmoveto Fxx show 0 50 rmoveto TBG0

xtext0 13300 moveto TBG0
(hue text for the colours) showen
(Bunttontext f\374r die Farben) showde
(c\363digo de tono para les colores) showes
(code de teinte pour les cou\255) showfr
(codice di tonalit\340 per i colori) showit
(hue text for the colours) showjp

xtext0 12900 moveto
(of this page: ) showen
(dieser Seite: ) showde
(esta p\341gina: ) showes
(leurs de cette p\341ge: ) showfr
(questa pagina: ) showit
(of this page: ) showjp

xtext1 12500 moveto
TBIG0 (H*) show
-20 -50 rmoveto TBM0 Fxx show 0 50 rmoveto TBG0 ( = ) show
TBG0 COLhNam16 xchart4 1 sub get show
0 -50 rmoveto TBM0 Fxx show 0 50 rmoveto

%Equal data text for top right page in black
0 setgray
20000 14900 moveto TBIG0 (H*) show
TBM0 -20 -50 rmoveto Fxx show 0 50 rmoveto TBG0
( = ) show
TBG0 COLhNam16 xchart4 1 sub get show
0 -50 rmoveto TBM0 Fxx show 0 50 rmoveto
1 setgray

cfakt 1 ne {%cfakt#1
xtext0 12900 moveto TBG0
(factor of contrast reduction: ) showen
(Faktor der Kontrast\255Reduzierung: ) showde
(factor de reducci\363n del contraste: ) showes
(facteur de contraste r\351duction: ) showfr
(fattore di riduzione di contrasto: ) showit
(factor of contrast reduction: ) showjp

xtext1 12500 moveto
TBIG0 (c) show TBM0 0 -130 rmoveto (R) show 0 130 rmoveto
TBG0 ( = ) show
cfakt cvsshow2
} if %cfakt#1

xtext1 12000 moveto TBG0 
(triangle lightness) showen
(Dreiecks\255Helligkeit) showde
(tri\340ngulo claridad) showes
(triangle de luminosit\351) showfr
(triangulo chiarezza) showit
(triangle lightness) showjp
TBIG0 ( T*) show

/ixt 12500 def /iyt 000 def

TBG0
-1200 ixt add 12000 iyt add moveto TBG0 
(triangle lightness) showen
(Dreiecks\255Helligkeit) showde
(tri\340ngulo claridad) showes
(triangle de luminosit\351) showfr
(triangulo chiarezza) showit
(triangle lightness) showjp
TBIG0 ( T*) show

TBG0
-1200 ixt add 14500 iyt add moveto 
(Data for maximum colour (Ma): ) showen
(Daten f\374r Maximalfarbe (Ma): ) showde
(Los datos de color m\341ximo (Ma): ) showes
(Les donn\351es de couleur maximale (Ma): ) showfr
(Il dati per il massimo colore (Ma): ) showit
(Data for maximum colour (Ma): ) showjp

TBIG0
-1200 ixt add 14000 iyt add moveto (LabCh*) show
TBM0 -20 -50 rmoveto Fxx show (,Ma) show 0 50 rmoveto
TBG0 (: ) show

/i xcharts 10 sub def
i 8 le {/i1 i def}{/i1 i 1 add def} ifelse %dup at no. 10
/i30 i1 3 mul def /i31 i30 1 add def /i32 i30 2 add def

xchart 0 eq {%xchart=0,>0

%16 measured data, see PE54L0NP.pdf, page 11/24
%PE540-7N, Page 11/24 HIC*Fd rgb*Fd LabCh*Fd
/LAB*a48 432 array def %48x9=432
/LAB*a48 [%HIC rgb              LabCh                    nr
(R00Y_100_100d) 1.000 0.000 0.000 48.4 66.1 40.2 77.4 31.3 %00
(R13Y_100_100d) 1.000 0.116 0.000 52.5 57.3 45.5 73.2 38.4 %01
(R25Y_100_100d) 1.000 0.233 0.000 56.8 48.0 50.5 69.8 46.4 %02
(R38Y_100_100d) 1.000 0.366 0.000 62.5 36.5 57.1 67.8 57.3 %03
(R50Y_100_100d) 1.000 0.500 0.000 68.6 25.0 63.9 68.7 68.6 %04
(R63Y_100_100d) 1.000 0.633 0.000 74.9 14.1 71.1 72.5 78.7 %05
(R75Y_100_100d) 1.000 0.766 0.000 80.6  4.8 77.2 77.4 86.4 %06
(R88Y_100_100d) 1.000 0.883 0.000 85.4 -2.5 82.3 82.3 91.7 %07

(Y00G_100_100d) 1.000 1.000 0.000 90.2  -9.6 88.2 88.7  96.2 %08
(Y13G_100_100d) 0.883 1.000 0.000 86.7 -14.2 83.5 84.7  99.6 %09
(Y25G_100_100d) 0.766 1.000 0.000 83.2 -18.4 79.9 82.0 102.9 %10
(Y38G_100_100d) 0.633 1.000 0.000 77.9 -25.1 69.5 74.0 109.8 %11
(Y50G_100_100d) 0.500 1.000 0.000 73.3 -31.7 62.7 70.3 116.8 %12
(Y63G_100_100d) 0.366 1.000 0.000 68.2 -39.5 55.9 68.5 125.2 %13
(Y75G_100_100d) 0.233 1.000 0.000 62.0 -49.7 43.2 65.9 138.9 %14
(Y88G_100_100d) 0.116 1.000 0.000 59.1 -57.1 38.5 68.9 145.9 %15

(G00C_100_100d) 0.000 1.000 0.000 55.8 -65.2  33.8 73.5 152.5 %16
(G13C_100_100d) 0.000 1.000 0.116 56.6 -62.9  24.0 67.3 159.0 %17
(G25C_100_100d) 0.000 1.000 0.233 57.4 -59.7  13.9 61.3 166.8 %18
(G38C_100_100d) 0.000 1.000 0.366 58.5 -54.9   1.5 55.0 178.4 %19
(G50C_100_100d) 0.000 1.000 0.500 59.3 -50.3  -9.0 51.1 190.2 %20
(G63C_100_100d) 0.000 1.000 0.633 60.1 -45.6 -18.7 49.3 202.3 %21
(G75C_100_100d) 0.000 1.000 0.766 61.1 -40.3 -27.8 49.0 214.6 %22
(G88C_100_100d) 0.000 1.000 0.883 62.0 -35.8 -34.7 49.9 224.0 %23

(C00B_100_100d) 0.000 1.000 1.000 63.0 -30.5 -42.0 51.9 234.0 %24
(C13B_100_100d) 0.000 0.883 1.000 59.4 -25.3 -42.7 49.7 239.2 %25
(C25B_100_100d) 0.000 0.766 1.000 55.8 -20.3 -43.2 47.7 244.7 %26
(C38B_100_100d) 0.000 0.633 1.000 50.8 -13.3 -43.9 45.9 253.0 %27
(C50B_100_100d) 0.000 0.500 1.000 45.7  -5.7 -44.6 45.0 262.6 %28
(C63B_100_100d) 0.000 0.366 1.000 40.4   2.6 -45.2 45.2 273.3 %29
(C75B_100_100d) 0.000 0.233 1.000 36.0  10.1 -46.1 47.2 282.3 %30
(C88B_100_100d) 0.000 0.116 1.000 32.1  17.3 -46.7 49.8 290.3 %31

(B00M_100_100d) 0.000 0.000 1.000 27.5 25.9 -47.3 54.0 298.7 %32
(B13M_100_100d) 0.116 0.000 1.000 29.5 33.4 -43.1 54.6 307.7 %33
(B25M_100_100d) 0.233 0.000 1.000 31.0 39.9 -38.5 55.5 315.9 %34
(B38M_100_100d) 0.366 0.000 1.000 35.1 44.5 -34.7 56.5 322.0 %35
(B50M_100_100d) 0.500 0.000 1.000 38.3 52.6 -28.5 59.9 331.5 %36
(B63M_100_100d) 0.633 0.000 1.000 41.2 59.3 -22.0 63.3 339.6 %37
(B75M_100_100d) 0.766 0.000 1.000 45.2 63.8 -18.2 66.4 344.0 %38
(B88M_100_100d) 0.883 0.000 1.000 47.5 68.6 -13.8 69.9 348.5 %39

(M00R_100_100d) 1.000 0.000 1.000 49.5 73.5 -9.0 74.1 352.9 %40
(M13R_100_100d) 1.000 0.000 0.883 49.4 72.4 -4.0 72.5 356.7 %41
(M25R_100_100d) 1.000 0.000 0.766 49.3 71.4  0.4 71.4   0.3 %42
(M38R_100_100d) 1.000 0.000 0.633 49.3 69.8  6.6 70.1   5.4 %43
(M50R_100_100d) 1.000 0.000 0.500 48.9 69.3 12.9 70.5  10.5 %44
(M63R_100_100d) 1.000 0.000 0.366 48.9 68.1 19.6 70.9  16.1 %45
(M75R_100_100d) 1.000 0.000 0.233 48.8 67.1 27.9 72.7  22.6 %46
(M88R_100_100d) 1.000 0.000 0.116 48.6 66.5 34.1 74.8  27.1 %47
] def

/indFa16 16 array def
/indFa16 [00 02 04 06 08 10 12 14
          16 20 24 28 32 36 40 44] def

         /indx indFa16 i get def
         /i90 indx 9 mul 4 add def /i91 i90 1 add def /i92 i90 2 add def
         /L*Ma LAB*a48 i90 get def
         /A*Ma LAB*a48 i91 get def
         /B*Ma LAB*a48 i92 get def
         /C*Ma A*Ma dup mul B*Ma dup mul add 0.0001 add sqrt def
         /H*Ma B*Ma A*Ma 0.0001 add atan def

         /i90 indx 9 mul 1 add def /i91 i90 1 add def /i92 i90 2 add def
         /r*xF LAB*a48 i90 get def
         /g*xF LAB*a48 i91 get def
         /b*xF LAB*a48 i92 get def

             }%xchart=0
             {%xchart>0

/r*x r*dd18M i get def
/g*x g*dd18M i get def
/b*x b*dd18M i get def
r*x g*x b*x setrgbcolor %default to create data
%setrgbcolor calculates data for output in "FF_LM_de_setrgbcolor_F"
%colorm=0 calculates: rgb_dyF, rgb*dyF, LAB*dyF,      ,cmyk*dyF      and more
%colorm=1 calculates: rgb_dyF, rgb*dyF, LAB*dyF', rgb'*dyF, cmyk*dyF and more

       /r_xF r_dyF def
       /g_xF g_dyF def
       /b_xF b_dyF def

       /i_xF i_dyF def
       /c_xF c_dyF def
       /t_xF t_dyF def
       
       /r*xF r*dyF def
       /g*xF g*dyF def
       /b*xF b*dyF def

       /LAB*LxF LAB*LdyF def
       /LAB*axF LAB*adyF def
       /LAB*bxF LAB*bdyF def
       /LAB*CxF LAB*adyF dup mul
                LAB*bdyF dup mul add 0.0001 add sqrt def
       /LAB*hxF LAB*bdyF LAB*adyF 0.0001 add atan def

       colorm 0 eq {%colorm=0
                    %proc_rgb_dyF_LAB*'dyF uses rgb_dyF by default
                    %calculates output data according to IEC 61966-2-1
                    proc_rgb_dyF_LAB*'dyF

                    /LAB*'LxF L*'dyF def
                    /LAB*'axF a*'dyF def
                    /LAB*'bxF b*'dyF def
                    /LAB*'CxF C*'dyF def
                    /LAB*'hxF h*'dyF def

                   } if %colorm=0
                   
       colorm 1 eq {%colorm=1
                    /r'*xF r'*dyF def
                    /g'*xF g'*dyF def
                    /b'*xF b'*dyF def

                    %calculates output data according to IEC 61966-2-1
                    proc_rgb'*dyF_LAB'*dyF

                    /LAB'*LxF L'*dyF def
                    /LAB'*axF a'*dyF def
                    /LAB'*bxF b'*dyF def
                    /LAB'*CxF C'*dyF def
                    /LAB'*hxF h'*dyF def

                   } if %colorm=1

%colorm 0 eq {%colorm=0
%             /L*Ma LAB*'LxF def
%             /A*Ma LAB*'axF def
%             /B*Ma LAB*'bxF def
%             /C*Ma LAB*'CxF def
%             /H*Ma LAB*'hxF def
%            }%colorm=0
%            {%colorm=1
%             /L*Ma LAB'*LxF def
%             /A*Ma LAB'*axF def
%             /B*Ma LAB'*bxF def
%             /C*Ma LAB'*CxF def
%             /H*Ma LAB'*hxF def
%            } ifelse %colorm=0,1
         
         /L*Ma LAB*LxF def
         /A*Ma LAB*axF def
         /B*Ma LAB*bxF def
         /C*Ma LAB*CxF def
         /H*Ma LAB*hxF def

                     } ifelse %xchart=0,>0
1 setgray
L*Ma cvishow (  ) show
A*Ma cvishow (  ) show
B*Ma cvishow (  ) show
C*Ma cvishow (  ) show
H*Ma cvishow (  ) show

%calculation of i*xF, c*xF, and t*xF
 /maxd r*xF def
 g*xF maxd gt {/maxd g*xF def} if
 b*xF maxd gt {/maxd b*xF def} if
 /mind r*xF def
 g*xF mind lt {/mind g*xF def} if
 b*xF mind lt {/mind b*xF def} if
 /i*xF maxd def
 /c*xF maxd mind sub def
 /t*xF i*xF c*xF 0.5 mul sub def

TBIG0
-1200 ixt add 13500 iyt add moveto (HIC*) show
TBM0 -20 -50 rmoveto Fxx show (,Ma) show 0 50 rmoveto TBG0 (: ) show

TBG0 COLhNam16 i get show (_) show

/I*xF i*xF 100 mul cvi def
I*xF 09 le {(00) show} if %filling cero
I*xF 09 gt
I*xF 99 le and {(0) show} if %range 0..100
I*xF 6 string cvs show (_) show

/C*xF c*xF 100 mul cvi def
C*xF 09 le {(00) show} if %filling cero
C*xF 09 gt
C*xF 99 le and {(0) show} if %range 0..100
C*xF 6 string cvs show

TBM0 00 -50 rmoveto Fxx show 0 50 rmoveto

TBIG0
-1200 ixt add 13000 iyt add moveto (rgbic*) show
TBM0 -20 -50 rmoveto Fxx show (,Ma) show 0 50 rmoveto TBG0 (: ) show
-1200 ixt add 12500 iyt add moveto
r*xF cvsshow2 (  ) show
g*xF cvsshow2 (  ) show
b*xF cvsshow2 (  ) show
i*xF cvsshow2 (  ) show
c*xF cvsshow2 (  ) show

} if %ibild=0

ibild 0 eq { %ibild=0
xtext0 15000 moveto
(Input and Output: ) showen
(Ein\255 und Ausgabe: ) showde
(Entrada i salida: ) showes
(Entr\351e et sortie: ) showfr
(Immetere y uscita: ) showit
(Input and Output: ) showjp

TSYSIOen showen
TSYSIOde showde
TSYSIOes showes
TSYSIOfr showfr
TSYSIOit showit
TSYSIOjp showjp
TSYSIOa show

/i xcharts 10 sub def
TBG0 
( for relative CIELAB hue) showen
( f\374r relativen CIELAB\255Buntton) showde
( for relative CIELAB hue) showes
( pour la teinte CIELAB relative) showfr
( for relative CIELAB hue) showit
( for relative CIELAB hue) showjp
TBIG0 ( h) show
TBM0 0 -50 rmoveto (ab,a,rel) show 0 50 rmoveto
TBG0 ( = ) show
TBIG0 ( h) show TBM0 -20 -50 rmoveto (ab) show 0 50 rmoveto
TBG0 (/360 = ) show
H*Ma cvishow (/360 = ) show
H*Ma 360 div cvsshow2
} if %ibild=0


%END CIELAB_10 Top Text Hue Triangles

%***********************************************************************
%BEG CIELAB_10 Hue Triangle left 5 steps
0.0 setgray
CBM0

ibild 0 eq { %ibild=0
/Tabfakt 0.82 def
/anz 5 def
/xs 10000 anz 3 add div def /ys xs def /x9 xs 1.8 mul def
/xd    xs 2 mul def
/yd    xs       def

1 1 1 setrgbcolor
%n*
1 1 3 {/j exch def
       /x1 xmin def                    /y1 ymax yd  j 2 mul mul sub def
       /x2 xmin xd 4 j sub mul add def /y2 ymin yd  4 j sub mul add def
       x1 y1 moveto x2 y2 lineto stroke 
      } for

%c*
1 1 3 {/j exch def
       /x1 xmin xd j mul add def /y1 ymax yd  j mul sub def
       /x2 xmin xd j mul add def /y2 ymin yd  j mul add def
       x1 y1 moveto x2 y2 lineto stroke 
      } for
      
xcharts 6 ge {/i xcharts 10 sub def
              /r*xsi r*dd18M i get def
              /g*xsi g*dd18M i get def
              /b*xsi b*dd18M i get def
             } if

/id 1 4 div def
0 1 04 {/j exch def %j=0,4
        /im 4 j sub def
0 1 im {/i exch def %i=0,4
        im 0 eq %im=0
        {/r*x 0 def /g*x 0 def /b*x 0 def} %im=0
        {/ia 1 id j mul sub def
         /argb ia def /brgb ia i id mul sub def
         xcharts 0 eq {/r*x argb def /g*x brgb def /b*x brgb def} if
         xcharts 1 eq {/r*x argb def /g*x argb def /b*x brgb def} if
         xcharts 2 eq {/r*x brgb def /g*x argb def /b*x brgb def} if
         xcharts 3 eq {/r*x brgb def /g*x argb def /b*x argb def} if
         xcharts 4 eq {/r*x brgb def /g*x brgb def /b*x argb def} if
         xcharts 5 eq {/r*x argb def /g*x brgb def /b*x argb def} if
         xcharts 6 ge {%xcharts>=6
                       /ib 1 im div def %im#0
                       /ic 1 ib i mul sub def
                       /ie 1 ic sub def
                       /r*x  1 ia mul ic mul r*xsi ia mul ie mul add def
                       /g*x  1 ia mul ic mul g*xsi ia mul ie mul add def
                       /b*x  1 ia mul ic mul b*xsi ia mul ie mul add def
                     } if %xcharts>=6

        } ifelse %im=0

        r*x g*x b*x setrgbcolor %only to calculate olv'*3, cmyn'*4
        /xa xmin xd i mul add 0.5 xd mul sub def
        /iad j 2 mul def
        /ya ymax yd i iad add mul sub 1.0 yd mul sub def
        r*x g*x b*x setrgbcolor
        xa ya xd xd rec fill

        xcharti 5 le {1 r*x sub 1 g*x sub 1 b*x sub 0 setcmykcolor
                      xa ya xd 0.5 mul dup rem fill} if

        xcharti 0 eq {%xcharti=0
                      [100 300] 0 setdash
                      r*x 0 eq g*x 0 eq and b*x 0 eq and {1 setgray}
                                                         {0 setgray} ifelse
                      xa ya xd 0.5 mul dup rem stroke
                      [ ] 0 setdash
                     } if %xcharti=0

        } for %i=0,4
        } for %j=0,4

/i 2 def %mean grey stroke of 5 steps
/xa xmin 0.5 xd mul sub def
/ya ymax yd i mul 2 mul sub 1.0 yd mul sub def
1 1 1 setrgbcolor
xa ya xd xd rec stroke

} if %ibild=0

%END CIELAB_10 Hue Triangle left 5 steps

%*******************************************************************
%BEG CIELAB_10 Hue Triangle right 16 steps

ibild 1 eq { %ibild=1

CBK0 /Tabfakt 1 def
/anz 16 def
/xs 10000 anz 14 add div def /ys xs def /x9 xs 1.8 mul def
/xd    xs 2 mul def
/yd    xs       def

1 1 1 setrgbcolor
%n*
1 1 14 {/j exch def %j=1,14
        /x1 xmin def                     /y1 ymax yd  j 2 mul mul sub def
        /x2 xmin xd 15 j sub mul add def /y2 ymin yd  15 j sub mul add def
        x1 y1 moveto x2 y2 lineto stroke 
       } for %j=1,14

%c*
1 1 14 {/j exch def %j=1,14
        /x1 xmin xd j mul add def /y1 ymax yd  j mul sub def
        /x2 xmin xd j mul add def /y2 ymin yd  j mul add def
        x1 y1 moveto x2 y2 lineto stroke 
       } for %j=1,14

xcharts 6 ge {/i xcharts 10 sub def
              /r*xsi r*dd18M i get def
              /g*xsi g*dd18M i get def
              /b*xsi b*dd18M i get def
             } if

/id 1 15 div def
0 1 15 {/j exch def %j=0,14
        /im 15 j sub def
0 1 im {/i exch def %i=0,15
        im 0 eq %im=0
        {/r*x 0 def /g*x 0 def /b*x 0 def} %im=0
        {/ia 1 id j mul sub def
         /argb ia def /brgb ia i id mul sub def
         xcharts 0 eq {/r*x argb def /g*x brgb def /b*x brgb def} if
         xcharts 1 eq {/r*x argb def /g*x argb def /b*x brgb def} if
         xcharts 2 eq {/r*x brgb def /g*x argb def /b*x brgb def} if
         xcharts 3 eq {/r*x brgb def /g*x argb def /b*x argb def} if
         xcharts 4 eq {/r*x brgb def /g*x brgb def /b*x argb def} if
         xcharts 5 eq {/r*x argb def /g*x brgb def /b*x argb def} if
         xcharts 6 ge {%xcharts>=6
                       /ib 1 im div def %im#0
                       /ic 1 ib i mul sub def
                       /ie 1 ic sub def
                       /r*x  1 ia mul ic mul r*xsi ia mul ie mul add def
                       /g*x  1 ia mul ic mul g*xsi ia mul ie mul add def
                       /b*x  1 ia mul ic mul b*xsi ia mul ie mul add def
                      } if %xcharts>=6

        } ifelse %im=0

        r*x g*x b*x setrgbcolor %only to calculate olv'*3, cmyn'*4
        /xa xmin xd i mul add 0.5 xd mul sub def
        /iad j 2 mul def
        /ya ymax yd i iad add mul sub 1.0 yd mul sub def
        r*x g*x b*x setrgbcolor
        xa ya xd xd rec fill

        xcharti 5 le {1 r*x sub 1 g*x sub 1 b*x sub 0 setcmykcolor
                      xa ya xd 0.5 mul dup rem fill} if

        xcharti 0 eq {%xcharti=0
                      [100 300] 0 setdash
                      r*x 0 eq g*x 0 eq and b*x 0 eq and {1 setgray}
                                                         {0 setgray} ifelse
                      xa ya xd 0.5 mul dup rem stroke
                      [ ] 0 setdash
                     } if %xcharti=0

        } for %i=0,15
        } for %j=0,15

xcharti 5 le {%xchart=0,5
%mean grey stroke of steps 7 and 8
7 1 8 {/i exch def %i=7,8
       /xa xmin xd 0.5 mul sub def
       /ya ymax yd i mul 2 mul sub xd 0.5 mul sub def
       1 1 1 setrgbcolor
       xa ya xd xd rec stroke
      } for %i=7,8
      } if %xchart=0,5

} if %ibild=1

%END CIELAB_10 Hue Triangle right

%*******************************************************************
%BEG CIELAB_10 Table

ibild 0 eq {5600}{4500} ifelse 9600 translate

proc_CIELAB_T16


ibild 0 eq {-5600}{-4500} ifelse -9600 translate

%END CIELAB_10 Table

%********************************************************************
%BEG CIELAB_10 Diagram

ibild 0 eq { %ibild=0

2700 11600 translate

proc_CIELAB_D

-2700 -11600 translate

} if %ibild=0

%END CIELAB_10 Diagram

%*****************************************************************
%BEG CIELAB_10 Gamut

ibild 1 eq { %ibild=1

proc_CIELAB_G

} if %ibild=1

%END CIELAB_10 Gamut

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

ibild 1 eq {-13800 -1700 translate} if
ibild 0 eq { -1900 -1700 translate} if

} if %xcharts=10,25

%END CIELAB_10,25 xchart=10,25

%*****************************************************************************
      } for %ibild=0,1

%*****************************************************************************
xcharts 26 eq {%BEG CIELAB_26 xcharts=26

% Data for 1080 colour test chart
/nr1 27 array def
/tx1 52 array def
/nr1 [(01) (02) (03) (04) (05) (06) (07) (08) (09) (10)
      (11) (12) (13) (14) (15) (16) (17) (18) (19) (20)
      (21) (22) (23) (24) (25) (26) (27)] def
/tx1 [(A) (B) (C) (D) (E) (F) (G) (H) (I) (J)
      (K) (L) (M) (N) (O) (P) (Q) (R) (S) (T)
      (U) (V) (W) (X) (Y) (Z) (a) (b) (c) (d)
      (e) (f) (g) (h) (i) (j) (k) (l) (m) (n)
      (o) (p) (q) (r) (s) (t) (u) (v) (w) (x)
      (y) (z)] def

/fakt 1 def
/iyt 32 fakt mul def %text size
/iyd 35 fakt mul def %line difference

180 /Times-ISOL1 FS
0 0 0 setrgbcolor
9000 -180 moveto
(Test chart G with 40x27=1080 colours) showea
(Pr\374fvorlage G mit 40x27=1080 Farben) showde
(; digital equidistant 9 or 16 step colour scales;) showea
(; digital gleichabst\344ndige 9 oder 16stufige Farbreihen;) showde
( Farbdaten in Spalte (A-n):) showde
( Colour data in column (A-n):) showea
180 /TimesB-ISOL1 FS
xchart 0 eq {( rgb + cmy0 (A_j + k26_n27)) show
              (, 000n (k), w (l), nnn0 (m), www (n)) show} if
xchart 1 eq {( rgb (A_n)) show} if

/xs 900 3 div 2 mul def /ys xs def /d2 xs 2 div def /d8 xs 8 div def

(, 3D = ) show colorm cvishow
%(, colsep = ) show colsep cvishow
%colorm 1 eq {(, cmyn4*) show} if

%/xchartg where {pop /faktg xchartg 1 ge {1.10} {1.00} ifelse def}
%               {/faktg 1.10 def} ifelse
%0.01 MM faktg mul dup scale

/xmin 650 3 div 2.2 mul def
/ymax 15800 def
xchart 0 eq {/xd 800 3 div 2 mul def /yd 800 3 div 2 mul def}
            {/xd 900 3 div 2 mul def /yd 900 3 div 2 mul def} ifelse
/xsd xs xd sub 0.5 mul def
/ysd xs xd sub 0.5 mul def
/xd2 xd 0.50 mul def
/xd4 xd 0.25 mul def

20 setlinewidth

500 3 div 2 mul /Times-ISOL1 FS
0 0 0 setrgbcolor
1 1 27 {/i exch def %i=1,27
  /x xs 0.15 mul def
  /y 27.6 ys mul ys i mul sub def
  x y moveto nr1 i 1 sub get show
} for %i=1,27

1 1 40 {/i exch def %i=1,36
  /x xs i mul 000 add def
  /y 27.5 ys mul def
  x y moveto tx1 i 1 sub get show
} for %i=1,36

/RGB*R0 1080 array def
/RGB*G0 1080 array def
/RGB*B0 1080 array def

/IMODE 0 def %input rgb for output LAB*
%row no.1 and 2: 9xrgb
/imax 08 def
/jmax 08 def
/kmax 08 def
/TKK2 {200 3 div 2 mul /Times-ISOL1 FS} bind def
TKK2
0 1 kmax {/k exch def %beg k=0,08
          /k0 k 3 idiv def
          /k1 k k0 3 mul sub def
          /xadd k1 xs 9 mul mul def
          /yadd k0 xs 9 mul mul def
0 1 jmax {/j exch def %beg j=0,jmax
0 1 imax {/i exch def %beg i=0,imax
          /n1079 i j 9 mul add k 81 mul add def
          /xa xmin j xs mul add xadd add xsd add def
          /ya ymax i ys mul sub yadd sub ysd add def
          /r k kmax div def /g j jmax div def /b i imax div def
          RGB*R0 n1079 r put
          RGB*G0 n1079 g put
          RGB*B0 n1079 b put

          r g b setrgbcolor
          xa ya xd dup rec fill
          1 r sub 1 g sub 1 b sub 0 setcmykcolor
          xa xd4 add ya xd4 add xd2 dup rec fill

         } for %end i=0,jmax
         } for %end j=0,jmax
         } for %end k=0,kmax

%3x rgbcmy
/id 1 8 div def
/rijn 81 array def %for intermediate storage
/gijn 81 array def /bijn 81 array def
/lmax 2 def
/n1079 728 def
0 1 lmax {/l exch def %beg k=0,kmax
          /xadd 3 xs 9 mul mul def
          /yadd l ys 9 mul mul def

%for intermediate storage of l=0,lmax
0 1 01 {/jchart exch def %jchart=0,1
        /xchartj l jchart 3 mul add def
0 1 08 {/j exch def %j=0,7
        /im 8 j sub def
jchart 1 im {/i exch def %i=0,8
        /ia 1 id j mul sub def
        /argb ia def /brgb ia i id mul sub def
        xchartj 0 eq {/r argb def /g brgb def /b brgb def} if
        xchartj 1 eq {/r argb def /g argb def /b brgb def} if
        xchartj 2 eq {/r brgb def /g argb def /b brgb def} if
        xchartj 3 eq {/r brgb def /g argb def /b argb def} if
        xchartj 4 eq {/r brgb def /g brgb def /b argb def} if
        xchartj 5 eq {/r argb def /g brgb def /b argb def} if
        jchart 0 eq {/in i j add def /jn j def}
                    {/in j def /jn i j add def} ifelse
                     rijn in 9 mul jn add r put
                     gijn in 9 mul jn add g put
                     bijn in 9 mul jn add b put
        } for %i=0,7
        } for %j=0,8
        } for %jchart=0,1
        
%for output of l=0,lmax
0 1 08   {/j exch def %j=0,8
0 1 08   {/i exch def %i=0,8
          /n1079 n1079 1 add def
          /r rijn i j 9 mul add get def
          /g gijn i j 9 mul add get def
          /b bijn i j 9 mul add get def
          /xa xmin xs j mul add xadd add xsd add def
          /ya ymax xs i mul sub yadd sub ysd add def

          r g b setrgbcolor
          xa ya xd dup rec fill
          1 r sub 1 g sub 1 b sub 0 setcmykcolor
          xa xd4 add ya xd4 add xd2 dup rec fill

          } for %i=0,7
          } for %j=0,8
          } for %end l=0,lmax
        
%6wrgbcmy
/n1079 971 def
/lmax 03 def %4 rows with geys
/kmax 1 def %9 or 16 steps
0 1 kmax {/k exch def %
          k 0 eq {/jmax 08 def} {/jmax 15 def} ifelse
0 1 lmax {/l exch def %beg l=0,lmax
          /xadd 36 l add xs mul def
          /yadd k 9 xs mul mul def
          /j1 l 36 add def
          /j1$ tx1 j1 get def
0 1 jmax {/j exch def %j=0,08
          /n1079 n1079 1 add def
          /i1 j k 9 mul add 1 add def %9 steps, 16 steps
          /argb j jmax div def
          /xa xmin xadd add xsd add def
          /ya ymax xs j mul sub yadd sub ysd add def
          /r argb def /g argb def /b argb def

          r g b setrgbcolor
          xa ya xd dup rec fill
          1 r sub 1 g sub 1 b sub 0 setcmykcolor
          xa xd4 add ya xd4 add xd2 dup rec fill

         } for %j=0,jmax
         } for %l=0,lmax
         } for %k=0,kmax
       
%basic colours 1072 - 1080
/basrgb 24 array def
/basrgb
[0 0 0 1 1 1
 1 0 0 0 1 1
 1 1 0 0 0 1
 0 1 0 1 0 1
] def
/n1079 1071 def
0 1 07   {/i exch def %i=0,7
          /n1079 n1079 1 add def
          /i3 i 3 mul def
          /xadd 36 xs mul def
          /yadd 25 xs mul def
          i 0 eq {/l 0 def /j 0 def /j1$ (k) def /i1 26 def} if
          i 1 eq {/l 0 def /j 1 def /j1$ (k) def /i1 27 def} if
          i 2 eq {/l 1 def /j 0 def /j1$ (l) def /i1 26 def} if
          i 3 eq {/l 1 def /j 1 def /j1$ (l) def /i1 27 def} if
          i 4 eq {/l 2 def /j 0 def /j1$ (m) def /i1 26 def} if
          i 5 eq {/l 2 def /j 1 def /j1$ (m) def /i1 27 def} if
          i 6 eq {/l 3 def /j 0 def /j1$ (n) def /i1 26 def} if
          i 7 eq {/l 3 def /j 1 def /j1$ (n) def /i1 27 def} if
          /xa xmin xs l mul add xadd add xsd add def
          /ya ymax xs j mul sub yadd sub ysd add def
          /r basrgb i3       get def
          /g basrgb i3 1 add get def
          /b basrgb i3 2 add get def

          r g b setrgbcolor
          xa ya xd dup rec fill
          1 r sub 1 g sub 1 b sub 0 setcmykcolor
          xa xd4 add ya xd4 add xd2 dup rec fill

      } for %i=0,7

%***************************************************************************
%} for %pmetam=0,1
      
} if %END CIELAB_26 xcharts=26

} if %END LOOP0: xchart<=xchart3P0 two pages


%*****************************************************************************
%used for tables in the rest

/xchart3P1 xchart3 1 add def
/xchart3P2 xchart3 2 add def
/xchart3P3 xchart3 3 add def
xchart xchart3P1 ge {%BEG LOOPtables: xchart>=xchart3P1

/xcharti pchart def
xcharti  0 eq {/Xprint 0 def /FileData (LAB*rc) def} if
xcharti  1 eq {/Xprint 1 def /FileData (LAB*ra) def} if
xcharti  2 eq {/Xprint 1 def /FileData (LAB*na) def} if

xcharti  3 eq  {/Xprint 1 def /FileData (LAB*la0) def} if
xcharti  4 eq  {/Xprint 1 def /FileData (LAB*la1) def} if
xcharti  5 eq  {/Xprint 1 def /FileData (LAB*la2) def} if
xcharti  6 eq  {/Xprint 1 def /FileData (LAB*la3) def} if
xcharti  7 eq  {/Xprint 1 def /FileData (LAB*la4) def} if
xcharti  8 eq  {/Xprint 1 def /FileData (LAB*la5) def} if
xcharti  9 eq  {/Xprint 1 def /FileData (LAB*la6) def} if
xcharti 10 eq  {/Xprint 1 def /FileData (LAB*la7) def} if

TK1
0 setgray 
5500 -200 moveto 
FileData show 
xcharti 3 ge {(, YN=) show Lrefl xcharti get show} if

(, XYZnw=) show
Xj 000 get cvsshow1r (, ) show
Yj 000 get cvsshow1r (, ) show
Zj 000 get cvsshow1r (, ) show
Xj 728 get cvsshow1r (, ) show
Yj 728 get cvsshow1r (, ) show
Zj 728 get cvsshow1r

(, LAB*nw=) show
LAB*Lja 000 get cvsshow1r (, ) show
LAB*aja 000 get cvsshow1r (, ) show
LAB*bja 000 get cvsshow1r (, ) show
LAB*Lja 728 get cvsshow1r (, ) show
LAB*aja 728 get cvsshow1r (, ) show
LAB*bja 728 get cvsshow1r

TK1
18500 -200 moveto
(Output: ) showen
(Ausgabe: ) showde
(salida: ) showes
(sortie: ) showfr
(uscita: ) showit
(output: ) showjp

FileDaten showen
FileDatde showde
FileDaten showes
FileDaten showfr
FileDaten showit
FileDaten showjp

(, Seite ) showde
(, page ) showen
(, p\341gina ) showes
(, page ) showfr
(, pagina ) showit
(, page ) showjp

xchart 1 add cvishow (/) show 
xchartm cvishow

TBK1
/xi 000 def
xi 100 add 16700 moveto
(Data of Maximum color M in colorimetric system ) showen 
(Daten der Maximalfarbe M im Farbmetrik\255Sytem ) showde 
(Data of Maximum color M in colorimetric system ) showes
(Couleur maximale dans le syst\350me colorimetrique : ) showfr
(Data of Maximum color M in colorimetric system ) showit
(Data of Maximum color M in colorimetric system ) showjp

FileDaten showen
FileDatde showde
FileDaten showes
FileDaten showfr
FileDaten showit
FileDaten showjp

( for input or output; ) showen
( f\374r Ein\255 oder Ausgabe; ) showde
( for input or output; ) showes
( pour l'entr\351e et sortie; ) showfr
( for input or output; ) showit
( for input or output; ) showjp

(Six hue angles of the 60 degree standard colours) showen
(Sechs Bunttonwinkel der 60\255Grad Standardfarben) showde
(Six hue angles of the 60 degree standard colours) showes
(Six angles de teinte \340 60 degr\350s couleurs standard ) showfr
(Six hue angles of the 60 degree standard colours) showit
(Six hue angles of the 60 degree standard colours) showjp

TBIK1
( RYGCBM) show TBS1 0 -50 rmoveto (s) show 0 50 rmoveto
TBK1 (:) show
TBIK1
( h) show TBS1 0 -50 rmoveto (ab,ds) show 0 50 rmoveto
TBK1 ( = ) show
          LAB*Hs 0 get cvsshow1r (, ) show LAB*Hs 1 get cvsshow1r
(, ) show LAB*Hs 2 get cvsshow1r (, ) show LAB*Hs 3 get cvsshow1r
(, ) show LAB*Hs 4 get cvsshow1r (, ) show LAB*Hs 5 get cvsshow1r
(; ) show

xi 100 add 16400 moveto
(Six hue angles of the device colours) showen
(Sechs Bunttonwinkel der Ger\344tefarben) showde
(Six hue angles of the device colours) showes
(Six angles de teinte des couleurs p\351riph\351riques) showfr
(Six hue angles of the device colours) showit
(Six hue angles of the device colours) showjp

TBIK1
( RYGCBM) show TBS1 0 -50 rmoveto (d) show 0 50 rmoveto
TBK1 (:) show
TBIK1
( h) show TBS1 0 -50 rmoveto (ab,d) show 0 50 rmoveto
TBK1 ( = ) show
          LAB*hdd64M 00 get cvsshow1r (, ) show LAB*hdd64M 08 get cvsshow1r
(, ) show LAB*hdd64M 16 get cvsshow1r (, ) show LAB*hdd64M 24 get cvsshow1r
(, ) show LAB*hdd64M 32 get cvsshow1r (, ) show LAB*hdd64M 40 get cvsshow1r
(; ) show

(Six hue angles of the elementary colours) showen
(Sechs Bunttonwinkel der Elementarfarben) showde
(Six hue angles of the elementary colours) showes
(Six angles de teinte des couleurs \351l\351mentaires) showfr
(Six hue angles of the elementary colours) showit
(Six hue angles of the elementary colours) showjp

TBIK1
( RYGCBM) show TBS1 0 -50 rmoveto (e) show 0 50 rmoveto
TBK1 (:) show
TBIK1
( h) show TBS1 0 -50 rmoveto (ab,e) show 0 50 rmoveto
TBK1 ( = ) show
          LAB*He 0 get cvsshow1r (, ) show LAB*He 1 get cvsshow1r
(, ) show LAB*He 2 get cvsshow1r (, ) show LAB*He 3 get cvsshow1r
(, ) show LAB*He 4 get cvsshow1r (, ) show LAB*He 5 get cvsshow1r

xchart xchart3P1 le {%BEG LOOP1: xchart<=xchart3P1

/ToutenN0
(Colorimetric data of Natural Colour System NCS) def
/ToutdeN0
(Farbmetrische Daten des Nat\374rliches Farbsystems NCS) def
/ToutenL0
(Colorimetric data of Natural Luminous System NLS) def
/ToutdeL0
(Farbmetrische Daten des Nat\374rliches\255Lichtfarbensystem NLS) def

8 /Times-ISOL1 FS
72 82.5 moveto
     ( QG820-7N, ) show
xchart 8 le {ToutdeN0 showde ToutenN0 showea}
            {ToutdeL0 showde ToutenL0 showea} ifelse

/yhoe  8500 def
/xhoe 12300 def
%         0     1     2     3     4     5
/Dcol   [(O=R)  (J=Y)  (L=G)  (C=C)  (V=B)  (M=M)  ] def
/Dcolen [(orange\255red) (Yellow) (leaf\255green)
         (cyan\255blue) (violet\255blue) (magenta\255red)] def
/Dcolde [(Orangerot) (Gelb) (Laubgr\374n)
         (Cyanblau) (Violettblau) (Magentarot)] def
/xshifd [ 2800 -4000 -5400 -5100  2800  2900 ] def
/yshifd [ 2500  3700  1800 -1000 -2600 -0850 ] def

/Ecol   [(R)  (Y)  (G)  (C)  (B)  (M)  ] def
/Ecolen [(red) (yellow) (green)
         (blue\255green) (blue) (blue\255red)] def
/Ecolde [(Rot) (Gelb) (Gr\374n)
         (Blaugr\374n) (Blau) (Blaurot)] def
/xshife [ 2800 -3000 -5400 -5100 -3000  2900 ] def
/yshife [ 2000  3700  1800 -1000 -2600 -0850 ] def

/Scol   [(R)  (Y)  (G)  (C)  (B)  (M)  ] def
/Scolen [(red) (yellow) (green)
         (blue\255green) (blue) (blue\255red)] def
/Scolde [(Rot) (Gelb) (Gr\374n)
         (Blaugr\374n) (Blau) (Blaurot)] def
/xshifs [ 2800 -3000 -5400 -5100 -3000  2900 ] def
/yshifs [ 2000  3700  1800 -1000 -2600 -0850 ] def

 2500 8200 moveto 20000 0 rlineto stroke
12500 2000 moveto 0 13000 rlineto stroke

0 1 3 {/ibild exch def %ibild=0,3

ibild 0 eq {xhoe 0.5 mul 600 sub yhoe 1.47 mul 400 sub translate} if
ibild 1 eq {xhoe 1.1 mul         yhoe 0.0 mul         translate} if
ibild 2 eq {xhoe 1.1 mul neg     yhoe 0.97 mul neg     translate} if
ibild 3 eq {xhoe 1.1 mul         yhoe 0.0 mul         translate} if

ibild 2 le {%ibild<=2

0 setgray
-4000 0 moveto 8000 0 rlineto stroke
0 -3500 moveto 0 7500 rlineto stroke
3800 70 moveto 200 -70 rlineto -200 -70 rlineto closepath fill
-70 3800 moveto 70 200 rlineto 70 -200 rlineto closepath fill

/fak0 28 def
/fakt 25 def
0 1 48 {/i exch def %i=0,48
        LAB*add64M i       get fakt mul LAB*bdd64M i       get fakt mul moveto
        LAB*add64M i 1 add get fakt mul LAB*bdd64M i 1 add get fakt mul lineto stroke
        newpath
        r*dd64M i get g*dd64M i get b*dd64M i get setrgbcolor
        LAB*add64M i get fakt mul LAB*bdd64M i get fakt mul 100 0 360 arc fill
       } for %i=0,48

0 setgray
0 8 48 {/i exch def %i=0,8,48 RJGCBMd
        0 0 moveto LAB*add64M i get fak0 mul
                   LAB*bdd64M i get fak0 mul rlineto stroke
       } for %i=0,8,48

           } if %ibild<=2
           
ibild 0 eq {%ibild=0 %device (d)

0 setgray
0300 3900 moveto TBIK1 (device ) showea (Ger\344te\255) showde
                 TBK1 (CIELAB) show
                 TBIK1 ( \050 a*) show TBS1 0 -50 rmoveto (d) show 0 50 rmoveto
                 TBIK1 (, b*) show TBS1 0 -50 rmoveto (d) show 0 50 rmoveto
                 TBIK1 (\051) show
                 TBK1 ( chroma diagram) showea
                     (\255Diagramm) showde

TBIK1
3500 0150 moveto (a*) show TBS1 0 -50 rmoveto (d) show 0 50 rmoveto
-500 4000 moveto (b*) show TBS1 0 -50 rmoveto (d) show 0 50 rmoveto

0 8 40 {/kn exch def %kn=0,8,40
         0 setgray
        /kn8 kn 8 idiv def
        xshifd kn8 get
        yshifd kn8 get moveto
        TBIK1 Dcol kn8 get show TBS1 0 -50 rmoveto (d) show 0 50 rmoveto 
        TBK1 ( ) show Dcolen kn8 get showea
                     Dcolde kn8 get showde

        TIK1
        xshifd kn8 get
        yshifd kn8 get 350 sub moveto
        (LCH*) show TK1 -30 -50 rmoveto (d) show 0 50 rmoveto 
        TK1 ( = ) show
        LAB*Ldd64M kn get cvsshow1 (  ) show
        LAB*Cdd64M kn get cvsshow1 (  ) show
        LAB*hdd64M kn get cvsshow1

        TIK1
        xshifd kn8 get
        yshifd kn8 get 700 sub moveto
        (LAB*) show TK1 -30 -50 rmoveto (d) show 0 50 rmoveto
        TK1 ( = ) show
        LAB*Ldd64M kn get cvsshow1 (  ) show
        LAB*add64M kn get cvsshow1 (  ) show
        LAB*bdd64M kn get cvsshow1

        TIK1
        xshifd kn8 get
        yshifd kn8 get 1050 sub moveto
        (rgb*) show TK1 -30 -50 rmoveto (d) show 0 50 rmoveto
        TK1 ( = ) show
        r*dd64M kn get cvsshow3 (  ) show
        g*dd64M kn get cvsshow3 (  ) show
        b*dd64M kn get cvsshow3

0 8 48 {/i exch def %i=0,8,48 RYGCBMd
        0 1 8 {/l exch def %l=0,8
               newpath
               /alpha l 0.125 mul def
               /beta  1 alpha sub def
               1.0 beta mul r*dd362Mi i 7.5 mul cvi get alpha mul add
               1.0 beta mul g*dd362Mi i 7.5 mul cvi get alpha mul add
               1.0 beta mul b*dd362Mi i 7.5 mul cvi get alpha mul add
               setrgbcolor
               LAB*add362Mi i 7.5 mul cvi get fakt mul alpha mul 
               LAB*bdd362Mi i 7.5 mul cvi get fakt mul alpha mul
               100 0 360 arc fill
              } for %l=0,8
               l 0 eq {%l=0
                       0 setgray
                       LAB*add362Mi i 7.5 mul cvi get fakt mul alpha mul 
                       LAB*bdd362Mi i 7.5 mul cvi get fakt mul alpha mul
                       100 0 360 arc stroke
                      } if %l=0
       } for %i=0,8,48        
       } for %kn=0,8,40

           } if %ibild=0
           
ibild 1 eq {%ibild=1 %elementary (e)

0 setgray
0300 3900 moveto TBIK1 (elementary ) showea (Elementar\255) showde
                 TBK1 (CIELAB) show
                 TBIK1 ( \050 a*) show TBS1 0 -50 rmoveto (e) show 0 50 rmoveto
                 TBIK1 (, b*) show     TBS1 0 -50 rmoveto (e) show 0 50 rmoveto
                 TBIK1 (\051) show
                 TBK1 ( chroma diagram) showea
                     (\255Diagramm) showde

TBIK1
3500 0150 moveto (a*) show TBS1 0 -50 rmoveto (e) show 0 50 rmoveto
-500 4000 moveto (b*) show TBS1 0 -50 rmoveto (e) show 0 50 rmoveto

0 setgray
0 8 40 {/kn exch def %kn=0,8,40
        /kn8 kn 8 idiv def
        xshife kn8 get
        yshife kn8 get moveto
        TBIK1 Ecol kn8 get show TBS1 0 -50 rmoveto (e) show 0 50 rmoveto 
        TBK1 ( ) show Ecolen kn8 get showea
                     Ecolde kn8 get showde

        /i362e hab*de64M kn get round cvi def
        i362e 360 ge {/i362e i362e 360 sub def} if

        TIK1
        xshife kn8 get
        yshife kn8 get 350 sub moveto
        (LCH*) show TK1 -30 -50 rmoveto (e) show 0 50 rmoveto 
        TK1 ( = ) show
        LAB*Lde362Mi kn 7.5 mul cvi get cvsshow1 (  ) show
        LAB*Cde362Mi kn 7.5 mul cvi get cvsshow1 (  ) show
        LAB*hde362Mi kn 7.5 mul cvi get cvsshow1

        TIK1
        xshife kn8 get
        yshife kn8 get 700 sub moveto
        (LAB*) show TK1 -30 -50 rmoveto (e) show 0 50 rmoveto
        TK1 ( = ) show
        LAB*Lde362Mi kn 7.5 mul cvi get cvsshow1 (  ) show
        LAB*ade362Mi kn 7.5 mul cvi get cvsshow1 (  ) show
        LAB*bde362Mi kn 7.5 mul cvi get cvsshow1
        
        TIK1
        xshife kn8 get
        yshife kn8 get 1050 sub moveto
        (rgb*) show TK1 -30 -50 rmoveto (de) show 0 50 rmoveto
        TK1 ( = ) show
        r*de362Mi kn 7.5 mul cvi get cvsshow3 (  ) show
        g*de362Mi kn 7.5 mul cvi get cvsshow3 (  ) show
        b*de362Mi kn 7.5 mul cvi get cvsshow3
       } for %kn=0,8,40

0 8 48 {/i exch def %i=0,8,48 RYGCBMe
        r*de362Mi i 7.5 mul cvi get
        g*de362Mi i 7.5 mul cvi get
        b*de362Mi i 7.5 mul cvi get setrgbcolor
        0 0 moveto LAB*ade362Mi i 7.5 mul cvi get fakt mul
                   LAB*bde362Mi i 7.5 mul cvi get fakt mul rlineto stroke
        0 1 8 {/l exch def %l=0,8
               newpath
               /alpha l 0.125 mul def
               /beta  1 alpha sub def
               1.0 beta mul r*de362Mi i 7.5 mul cvi get alpha mul add
               1.0 beta mul g*de362Mi i 7.5 mul cvi get alpha mul add
               1.0 beta mul b*de362Mi i 7.5 mul cvi get alpha mul add
               setrgbcolor
               LAB*ade362Mi i 7.5 mul cvi get fakt mul alpha mul 
               LAB*bde362Mi i 7.5 mul cvi get fakt mul alpha mul
               100 0 360 arc fill
              } for %l=0,8
       } for %i=0,8,48

           } if %ibild=1
           
ibild 2 eq {%ibild=2 %standard (s)

0 setgray
0300 3900 moveto TBIK1 (standard ) showea (Standard\255) showde
                 TBK1 (CIELAB) show
                 TBIK1 ( \050 a*) show TBS1 0 -50 rmoveto (s) show 0 50 rmoveto
                 TBIK1 (, b*) show     TBS1 0 -50 rmoveto (s) show 0 50 rmoveto
                 TBIK1 (\051) show
                 TBK1 ( chroma diagram) showea
                     (\255Diagramm) showde

TBIK1
3500 0150 moveto (a*) show TBS1 0 -50 rmoveto (s) show 0 50 rmoveto
-500 4000 moveto (b*) show TBS1 0 -50 rmoveto (s) show 0 50 rmoveto

0 setgray
0 8 40 {/kn exch def %kn=0,8,40
        /kn8 kn 8 idiv def
        xshifs kn8 get
        yshifs kn8 get moveto
        TBIK1 Scol kn8 get show TBS1 0 -50 rmoveto (s) show 0 50 rmoveto
        TBK1 ( ) show Scolen kn8 get showea
                     Scolde kn8 get showde
        TIK1
        xshifs kn8 get
        yshifs kn8 get 350 sub moveto
        (LCH*) show TK1 -30 -50 rmoveto (s) show 0 50 rmoveto 
        TK1 ( = ) show
        LAB*Lds362Mi kn 7.5 mul cvi get cvsshow1 (  ) show
        LAB*Cds362Mi kn 7.5 mul cvi get cvsshow1 (  ) show
        LAB*hds362Mi kn 7.5 mul cvi get cvsshow1

        TIK1
        xshifs kn8 get
        yshifs kn8 get 700 sub moveto
        (LAB*) show TK1 -30 -50 rmoveto (s) show 0 50 rmoveto
        TK1 ( = ) show
        LAB*Lds362Mi kn 7.5 mul cvi get cvsshow1 (  ) show
        LAB*ads362Mi kn 7.5 mul cvi get cvsshow1 (  ) show
        LAB*bds362Mi kn 7.5 mul cvi get cvsshow1
        
        TIK1
        xshifs kn8 get
        yshifs kn8 get 1050 sub moveto
        (rgb*) show TK1 -30 -50 rmoveto (ds) show 0 50 rmoveto
        TK1 ( = ) show
        r*ds362Mi kn 7.5 mul cvi get cvsshow3 (  ) show
        g*ds362Mi kn 7.5 mul cvi get cvsshow3 (  ) show
        b*ds362Mi kn 7.5 mul cvi get cvsshow3
       } for %kn=0,8,40

0 8 40 {/i exch def %i=0,8,48 RYGCBMs
        r*ds362Mi i 7.5 mul cvi get
        g*ds362Mi i 7.5 mul cvi get
        b*ds362Mi i 7.5 mul cvi get setrgbcolor
        0 0 moveto LAB*ads362Mi i 7.5 mul cvi get fakt mul
                   LAB*bds362Mi i 7.5 mul cvi get fakt mul rlineto stroke
        0 1 8 {/l exch def %l=0,8
               newpath
               /alpha l 0.125 mul def
               /beta  1 alpha sub def
               1.0 beta mul r*ds362Mi i 7.5 mul cvi get alpha mul add
               1.0 beta mul g*ds362Mi i 7.5 mul cvi get alpha mul add
               1.0 beta mul b*ds362Mi i 7.5 mul cvi get alpha mul add
               setrgbcolor
               LAB*ads362Mi i 7.5 mul cvi get fakt mul alpha mul 
               LAB*bds362Mi i 7.5 mul cvi get fakt mul alpha mul
               100 0 360 arc fill
              } for %l=0,8
       } for %i=0,8,48

           } if %ibild=2

ibild 3 eq {%ibild=3

0 setgray
-6500 3900 moveto TBK1 (Notes to the CIELAB chroma diagrams) showea
                      (Anmerkung zu den CIELAB\255Buntheits\255Diagrammen) showde
                 TBIK1 ( \050 a*) show TBS1 -30 -50 rmoveto (d) show 0 50 rmoveto
                 TBIK1 (, b*) show     TBS1 -30 -50 rmoveto (d) show 0 50 rmoveto TBIK1 ( \051, ) show
                 TBIK1 ( \050 a*) show TBS1 -30 -50 rmoveto (s) show 0 50 rmoveto
                 TBIK1 (, b*) show     TBS1 -30 -50 rmoveto (s) show 0 50 rmoveto TBIK1 ( \051, ) show
                 TBIK1 ( \050 a*) show TBS1 -30 -50 rmoveto (e) show 0 50 rmoveto
                 TBIK1 (, b*) show     TBS1 -30 -50 rmoveto (e) show 0 50 rmoveto TBIK1 ( \051) show

-6500 3400 moveto
TK1 (1. For the) showea
    (1. F\374r die) showde
TIK1 ( rgb*) show TS -30 -50 rmoveto (d) show 0 50 rmoveto
TK1 (\255input values the CIELAB data) showea
    (\255Eingabedaten wurden die CIELAB-Daten) showde
TIK1 ( LCH*) show TS -30 -50 rmoveto (d) show 0 50 rmoveto
TK1 ( and) showea
    ( und) showde
TIK1 ( LAB*) show TS -30 -50 rmoveto (d) show 0 50 rmoveto
TK1 ( have been calculated.) showea
    ( berechnet.) showde

-6500 3000 moveto
TK1 (2. For the calculation of the standard hue angle ) showea
TIK1 (h) show TS -30 -50 rmoveto (ab,s) show 0 50 rmoveto
TK1 ( use for any device values) showea
TIK1 ( rgb*) show TS -30 -50 rmoveto (d) show 0 50 rmoveto
TK1 ( the equation:) showea

-6000 2650 moveto
TBIK1 (h) show TBS1 -30 -50 rmoveto (ab,s) show 0 50 rmoveto
TBK1 ( = ) show
TBIK1 (atan) show TBK1 ( [ ) show
TBIK1 (r*) show TBS1 -30 -50 rmoveto (d) show 0 50 rmoveto
TBIK1 ( cos(30)) show TBK1 ( + ) show TBIK1 (g*) show TBS1 -30 -50 rmoveto (d) show 0 50 rmoveto
TBIK1 ( cos(150)) show TBK1 ( ] / [ ) show

TBIK1 (r*) show TBS1 -30 -50 rmoveto (d) show 0 50 rmoveto
TBIK1 ( sin(30)) show TBK1 ( + ) show TBIK1 (g*) show TBS1 -30 -50 rmoveto (d) show 0 50 rmoveto
TBIK1 ( sin(150)) show TBK1 ( + ) show TBIK1 (b*) show TBS1 -30 -50 rmoveto (d) show 0 50 rmoveto
TBIK1 ( sin(270)) show
TBK1 ( ] ) show
5000 2650 moveto TK1 ((1)) show

-6500 2200 moveto
TK1 (3. For the 48 or 360 equally spaced standard hue angles ) showea
    (3. F\374r die 48 oder 360 gleichabst\344ndig gestuften Standard\255Bunttonwinkel ) showde
TIK1 (h) show TS -30 -50 rmoveto (ab,s) show 0 50 rmoveto
TK1 ( of the colours of maximum chroma use) showea
    ( der Farben von maximaler Buntheit benutze) showde

-6250 1900 moveto
(the seven hue angles of the 60 degree colours) showea
(die sieben Bunttonwinkel der 60\Grad\255Farben) showde
TIK1
( s: h) show TS 0 -50 rmoveto (ab,si) show 0 50 rmoveto
TK1 ( = ) show
          LAB*Hs 0 get cvsshow1r (, ) show LAB*Hs 1 get cvsshow1r
(, ) show LAB*Hs 2 get cvsshow1r (, ) show LAB*Hs 3 get cvsshow1r
(, ) show LAB*Hs 4 get cvsshow1r (, ) show LAB*Hs 5 get cvsshow1r
(, ) show LAB*Hs 6 get cvsshow1r
( (i=0,6) ) show

-6250 1600 moveto
(and the equations for a 48 and 360 step hue circle: ) showea
(und die Gleichungen f\374r einen 48\255 und 360\255stufigen Bunttonkreis: ) showde

-6000 1250 moveto
TBIK1
(h) show TBS1 0 -50 rmoveto (48ab,sij) show 0 50 rmoveto
TBK1 ( = ) show
TBIK1 (h) show TBS1 0 -50 rmoveto (ab,si) show 0 50 rmoveto
( + ) show TBIK1 (j) show TBK1 ( [) show
TBIK1 (h) show TBS1 0 -50 rmoveto (ab,si+1) show 0 50 rmoveto
( - ) show 
TBIK1 (h) show TBS1 0 -50 rmoveto (ab,si) show 0 50 rmoveto
TBK1 ( ] /8 \050 ) show
TBIK1 (i) show TBK1 ( = 0, 1, ..., 5; ) show
TBIK1 (j) show TBK1 ( = 0, 1, ..., 7\051) show
5000 1250 moveto TK1 ((2)) show

-6000 0850 moveto
TBIK1
(h) show TBS1 0 -50 rmoveto (360ab,sij) show 0 50 rmoveto
TBK1 ( = ) show
TBIK1 (h) show TBS1 0 -50 rmoveto (ab,si) show 0 50 rmoveto
( + ) show TBIK1 (j) show TBK1 ( [) show
TBIK1 (h) show TBS1 0 -50 rmoveto (ab,si+1) show 0 50 rmoveto
( - ) show 
TBIK1 (h) show TBS1 0 -50 rmoveto (ab,si) show 0 50 rmoveto
TBK1 ( ] /60 \050 ) show
TBIK1 (i) show TBK1 ( = 0, 1, ..., 5; ) show
TBIK1 (j) show TBK1 ( = 0, 1, ..., 59\051) show
5000 0850 moveto TK1 ((3)) show

-6500 0400 moveto
TK1 (4. For the 48 or 360 elementary hue angles ) showea
    (4. F\374r die 48 oder 360 Elementar\255Bunttonwinkel ) showde
TIK1 (h) show TS -30 -50 rmoveto (ab,e) show 0 50 rmoveto
TK1 ( of the colours of maximum chroma use) showea
    ( der Farben von maximaler Buntheit benutze) showde

-6250 0100 moveto
(the seven hue angles of the elementary colours) showea
(die sieben Bunttonwinkel der Elementarfarben) showde
TIK1
( e: h) show TS 0 -50 rmoveto (ab,ei) show 0 50 rmoveto
TK1 ( = ) show
          LAB*He 0 get cvsshow1r (, ) show LAB*He 1 get cvsshow1r
(, ) show LAB*He 2 get cvsshow1r (, ) show LAB*He 3 get cvsshow1r
(, ) show LAB*He 4 get cvsshow1r (, ) show LAB*He 5 get cvsshow1r
(, ) show LAB*He 6 get cvsshow1r
( (i=0,6) ) show

-6250 -200 moveto
(and the equations for a 48 and 360 step elementary hue circle: ) showea
(und die Gleichungen f\374r einen 48\255 und 360\255stufigen Elementar\255Bunttonkreis: ) showde

-6000 -550 moveto
TBIK1
(h) show TBS1 0 -50 rmoveto (48ab,eij) show 0 50 rmoveto
TBK1 ( = ) show
TBIK1 (h) show TBS1 0 -50 rmoveto (ab,ei) show 0 50 rmoveto
( + ) show TBIK1 (j) show TBK1 ( [) show
TBIK1 (h) show TBS1 0 -50 rmoveto (ab,ei+1) show 0 50 rmoveto
( - ) show 
TBIK1 (h) show TBS1 0 -50 rmoveto (ab,ei) show 0 50 rmoveto
TBK1 ( ] /8 \050 ) show
TBIK1 (i) show TBK1 ( = 0, 1, ..., 5; ) show
TBIK1 (j) show TBK1 ( = 0, 1, ..., 7\051) show
5000 -550 moveto TK1 ((4)) show

-6000 -0950 moveto
TBIK1
(h) show TBS1 0 -50 rmoveto (360ab,eij) show 0 50 rmoveto
TBK1 ( = ) show
TBIK1 (h) show TBS1 0 -50 rmoveto (ab,ei) show 0 50 rmoveto
( + ) show TBIK1 (j) show TBK1 ( [) show
TBIK1 (h) show TBS1 0 -50 rmoveto (ab,ei+1) show 0 50 rmoveto
( - ) show 
TBIK1 (h) show TBS1 0 -50 rmoveto (ab,ei) show 0 50 rmoveto
TBK1 ( ] /60 \050 ) show
TBIK1 (i) show TBK1 ( = 0, 1, ..., 5; ) show
TBIK1 (j) show TBK1 ( = 0, 1, ..., 59\051) show
5000 -950 moveto TK1 ((5)) show

-6500 -1400 moveto
TK1 (5. For any elementary hue angle ) showea
    (5. F\374r jeden Elementar\255Bunttonwinkel ) showde
TIK1 (h) show TS -30 -50 rmoveto (ab,e) show 0 50 rmoveto
TK1 ( there is a well defined device hue angle ) showea
    ( gibt es einem genau definierten Ger\344te\255Bunttonwinkel ) showde
TIK1 (h) show TS -30 -50 rmoveto (ab,d) show 0 50 rmoveto
-6250 -1700 moveto
TK1 (see the following tables, columns 1 to 5 or 1 to 4.) showea
    (siehe die folgenden Tabellen, Spalten 1 bis 5 oder 1 bis 4.) showde

-6500 -2100 moveto
TK1 (6. The values ) showea
    (6. Die Werte ) showde
TIK1 (rgb*) show TS -30 -50 rmoveto (de) show 0 50 rmoveto
TK1 ( produce the output of the device\255independent elementary hues) showea
   ( erzeugen die Ausgabe der ger\344teunabh\344ngigen Elemetar\255Buntt\366ne)
showde
           } if %ibild=3

           } for %ibild=0,3

            }%LOOP1: xchart<=xchart3P1

            {%LOOP1: xchart>xchart3P1

/x0x  0000 def
/x1x  5700 def
/x2x 13300 def

/x01  2200 def %rgb
/x02  2850 def
/x03  3500 def

/x04  4150 def %LabCh
/x05  4800 def
/x06  5450 def
/x07  6100 def
/x08  6800 def

/x09  7700 def
/x10  8400 def
/x11  9100 def

/xd0  0100 def
/xs0  0800 def
/xe0  1500 def

/xd1 23050 def
/xs1 23700 def
/xe1 24350 def

/xax  5400 def
/xbx 10500 def
/xcx 15600 def

/ymax 16100 def
TBIK1
xd0 ymax moveto (h) show
                        TBK1 -00 -80 rmoveto (ab,d) show 00 80 rmoveto TBIK1
xs0 ymax moveto (h) show
                        TBK1 -00 -80 rmoveto (ab,s) show 00 80 rmoveto TBIK1
xe0 ymax moveto (h) show
                        TBK1 -00 -80 rmoveto (ab,e) show 00 80 rmoveto TBIK1                                      

xchart xchart3P2 eq xchart xchart3P3 eq or {%BEG LOOP3: xchart=xchart3P2/3

x0x x01 add ymax moveto (rgb*) show
                        TBK1 -00 -80 rmoveto (dd64M) show 00 80 rmoveto TBIK1
x0x x04 add ymax moveto (LAB*) show
                        TBK1 -00 -80 rmoveto (ddx64M (x=LabCh)) show 00 80 rmoveto TBIK1

xchart xchart3P2 eq {%xchart=xchart3P2
xax x01 add ymax moveto (rgb*) show
                        TBK1 -00 -80 rmoveto (ddx361M) show 00 80 rmoveto TBIK1
xax x04 add ymax moveto (LAB*) show
                        TBK1 -00 -80 rmoveto (ddx361M (x=LabCh)) show 00 80
                        rmoveto TBIK1

xbx x01 add ymax moveto (rgb*) show
                        TBK1 -00 -80 rmoveto (dsx361M) show 00 80 rmoveto TBIK1
xbx x04 add ymax moveto (LAB*) show
                        TBK1 -00 -80 rmoveto (dsx361M (x=LabCh)) show 00 80
rmoveto TBIK1
} if %xchart=xchart3P2

xcx x01 add ymax moveto (rgb*) show
                        TBK1 -00 -80 rmoveto (dex361M) show 00 80 rmoveto TBIK1
xcx x04 add ymax moveto (LAB*) show
                        TBK1 -00 -80 rmoveto (dex361M) show 00 80 rmoveto 

            }%LOOP3: xchart=xchart3P2/3

            {%LOOP3: xchart>xchart3P3

x0x x01 add ymax moveto (rgb*) show
                        TBK1 -00 -80 rmoveto (dd361M) show 00 80 rmoveto TBIK1
x0x x04 add ymax moveto (LAB*) show
                        TBK1 -00 -80 rmoveto (ddx361Mi (x=LabCh)) show 00 80 rmoveto TBIK1

x1x x01 add ymax moveto (rgb*) show
                        TBK1 -00 -80 rmoveto (ds361Mi) show 00 80 rmoveto TBIK1
x1x x04 add ymax moveto (LAB*) show
                        TBK1 -00 -80 rmoveto (dsx361Mi (x=LabCh)) show 00 80 rmoveto TBIK1
x1x x09 add ymax moveto (rgb*) show
                        TBK1 -00 -80 rmoveto (dd361Mi) show 00 80 rmoveto TBIK1

x2x x01 add ymax moveto (rgb*) show
                        TBK1 -00 -80 rmoveto (de361Mi) show 00 80 rmoveto TBIK1
x2x x04 add ymax moveto (LAB*) show
                        TBK1 -00 -80 rmoveto (dex361Mi (x=LabCh)) show 00 80 rmoveto TBIK1
x2x x09 add ymax moveto (rgb*) show
                        TBK1 -00 -80 rmoveto (dd361Mi) show 00 80 rmoveto TBIK1

            } ifelse %END LOOP3: xchart>xchart3P3
             
xd1 ymax moveto (rgb*) show
                         TBK1 -100 -100 rmoveto (dd) show 100 100 rmoveto TBIK1
xs1 ymax moveto (rgb*) show
                         TBK1 -100 -100 rmoveto (ds) show 100 100 rmoveto TBIK1
xe1 ymax moveto (rgb*) show
                         TBK1 -100 -100 rmoveto (de) show 100 100 rmoveto TBIK1
                         
/ymax 15700 def
/ydel0   310 def
/ydel1   345 def
/ys 50 def
/RJGCBMs 9 array def
/RJGCBMs [( ) (R) (Y) (G) (C) (C) (B) (M) (R)] def
/RJGCBM 7 array def
/RJGCBM [(R) (Y) (G) (C) (B) (M) (R)] def


xchart xchart3P2 eq xchart xchart3P3 eq or {%BEG LOOP4: xchart=xchart3P2/3

x0x x01 add 30 sub 0 moveto 0 16200 rlineto stroke
xax x01 add 30 sub 0 moveto 0 16200 rlineto stroke
xbx x01 add 30 sub 0 moveto 0 16200 rlineto stroke
xcx x01 add 30 sub 0 moveto 0 16200 rlineto stroke
TK1
0 1 48 {/i exch def %i=0,48
        xchart xchart3P2 eq {%xchart=xchart3P2
                             /i8 i 8 idiv def}
                            {/i8 0 def} ifelse
        /yi ymax i ydel0 mul sub i8 ydel0 0.4 mul mul sub def
        xd0 yi moveto hab*dd64M i get cvsshow1 %all floating point
        xs0 yi moveto hab*ds64M i get cvsshow1
        xe0 yi moveto hab*de64M i get cvsshow1
        
        x0x x01 add yi moveto r*dd64M   i get cvsshow3
        x0x x02 add yi moveto g*dd64M   i get cvsshow3
        x0x x03 add yi moveto b*dd64M   i get cvsshow3
        x0x x04 add yi moveto LAB*Ldd64M i get cvsshow1
        x0x x05 add yi moveto LAB*add64M i get cvsshow1
        x0x x06 add yi moveto LAB*bdd64M i get cvsshow1
        x0x x07 add yi moveto LAB*Cdd64M i get cvsshow1
        x0x x08 add yi moveto LAB*hdd64M i get cvsshow1

xchart xchart3P2 eq {%xchart=xchart3P2
        xax x01 add yi moveto r*dd362Mi   i 7.5 mul cvi get cvsshow3r
        xax x02 add yi moveto g*dd362Mi   i 7.5 mul cvi get cvsshow3r
        xax x03 add yi moveto b*dd362Mi   i 7.5 mul cvi get cvsshow3r
        xax x04 add yi moveto LAB*Ldd362Mi i 7.5 mul cvi get cvsshow1r
        xax x05 add yi moveto LAB*add362Mi i 7.5 mul cvi get cvsshow1r
        xax x06 add yi moveto LAB*bdd362Mi i 7.5 mul cvi get cvsshow1r
        xax x07 add yi moveto LAB*Cdd362Mi i 7.5 mul cvi get cvsshow1r
        xax x08 add yi moveto hab*dd362Fi i 7.5 mul cvi get cvishow

        xbx x01 add yi moveto r*ds362Mi   i 7.5 mul cvi get cvsshow3r
        xbx x02 add yi moveto g*ds362Mi   i 7.5 mul cvi get cvsshow3r
        xbx x03 add yi moveto b*ds362Mi   i 7.5 mul cvi get cvsshow3r
        xbx x04 add yi moveto LAB*Lds362Mi i 7.5 mul cvi get cvsshow1r
        xbx x05 add yi moveto LAB*ads362Mi i 7.5 mul cvi get cvsshow1r
        xbx x06 add yi moveto LAB*bds362Mi i 7.5 mul cvi get cvsshow1r
        xbx x07 add yi moveto LAB*Cds362Mi i 7.5 mul cvi get cvsshow1r
        xbx x08 add yi moveto hab*ds362Mi i 7.5 mul cvi get cvishow
} if %xchart=xchart3P2

        xcx x01 add yi moveto r*de362Mi   i 7.5 mul cvi get cvsshow3r
        xcx x02 add yi moveto g*de362Mi   i 7.5 mul cvi get cvsshow3r
        xcx x03 add yi moveto b*de362Mi   i 7.5 mul cvi get cvsshow3r
        xcx x04 add yi moveto LAB*Lde362Mi i 7.5 mul cvi get cvsshow1r
        xcx x05 add yi moveto LAB*ade362Mi i 7.5 mul cvi get cvsshow1r
        xcx x06 add yi moveto LAB*bde362Mi i 7.5 mul cvi get cvsshow1r
        xcx x07 add yi moveto LAB*Cde362Mi i 7.5 mul cvi get cvsshow1r
        xcx x08 add yi moveto hab*de382Fi i 7.5 mul cvi get cvishow

xchart xchart3P3 eq {%xchart=xchart3P3
0 1 46 {/kk exch def %kk
        LAB*hdd64M i get hab*de382Fi kk       7.5 mul cvi get gt
        LAB*hdd64M i get hab*de382Fi kk 1 add 7.5 mul cvi get le and
        {/ykkd LAB*hdd64M i get hab*de382Fi kk       7.5 mul cvi get sub
         hab*de382Fi kk 1 add 7.5 mul cvi get
         hab*de382Fi kk       7.5 mul cvi get sub 0.0001 add div def
        /i8 0 def
        /yi ymax i ydel0 mul sub i8 ydel0 0.4 mul mul sub def
        /kk8 0 def
        /ykk ymax kk ykkd add ydel0 mul sub kk8 ydel0 0.4 mul mul sub def
        xax x01 add yi moveto LAB*hdd64M i get cvsshow1
        xbx x08 add 100 sub ykk moveto LAB*hdd64M i get cvsshow1
         
        xax x01 add yi  moveto 
        xcx x01 add ykk lineto stroke} if
       } for %kk
} if %xchart=xchart3P3

        r*dd362Mi i 7.5 mul cvi get
        g*dd362Mi i 7.5 mul cvi get
        b*dd362Mi i 7.5 mul cvi get setrgbcolor
        xd1 yi ys sub moveto 600 0 rlineto 0 ydel0 rlineto
                            -600 0 rlineto closepath fill

        r*ds362Mi i 7.5 mul cvi get
        g*ds362Mi i 7.5 mul cvi get
        b*ds362Mi i 7.5 mul cvi get setrgbcolor
        xs1 yi ys sub moveto 600 0 rlineto 0 ydel0 rlineto
                            -600 0 rlineto closepath fill

i 16 le {
        r*de362Mi i 7.5 mul cvi get
        g*de362Mi i 7.5 mul cvi get
        b*de362Mi i 7.5 mul cvi get setrgbcolor
        xe1 yi ys sub moveto 600 0 rlineto 0 ydel0 rlineto
                            -600 0 rlineto closepath fill
        } if

i 16 gt i i 2 idiv 2 mul eq and {
        r*de362Mi i 7.5 mul cvi get
        g*de362Mi i 7.5 mul cvi get
        b*de362Mi i 7.5 mul cvi get setrgbcolor
        xe1 yi ys sub moveto 600 0 rlineto 0 ydel0 rlineto
                            -600 0 rlineto closepath fill
        } if

        0 setgray
        xd1 yi ys sub moveto 600 0 rlineto 0 ydel0 rlineto
                            -600 0 rlineto closepath stroke
        xs1 yi ys sub moveto 600 0 rlineto 0 ydel0 rlineto
                            -600 0 rlineto closepath stroke
        xe1 yi ys sub moveto 600 0 rlineto 0 ydel0 rlineto
                            -600 0 rlineto closepath stroke

        } for %i=0,48

xtesthuea 0 ge {600 /TimesB-ISOL1 FS
               8000 2100 moveto 30 rotate 0 setgray
               (no continues hue change of device near ) showea
               (keine kontinuiertliche Buntton\344nderung nahe ) showde
               600 /TimesBI-ISOL1 FS (h) show
               500 /TimesB-ISOL1 FS
               0 -100 rmoveto (ab,d) show 0 100 rmoveto
               600 /TimesB-ISOL1 FS ( = ) show
               0 1 xtesthuea {/in exch def %in=0,xtesthuea
                              LAB*hdd64M xtesthuei in get get cvishow
                              in xtesthuea ne {(, ) show} if
                             } for  %in=0,xtesthuea
               -30 rotate

               8000 1100 moveto 30 rotate
               (or ) showea ( oder ) showde
               600 /TimesBI-ISOL1 FS
               (rgb*) show
               500 /TimesBI-ISOL1 FS
               0 -100 rmoveto (d) show 0 100 rmoveto
               600 /TimesB-ISOL1 FS
               ( = ) show
               
               0 1 xtesthuea {/in exch def %in=0,xtesthuea
                              r*dd64M xtesthuei in get get cvsshow3r (, ) show
                              g*dd64M xtesthuei in get get cvsshow3r (, ) show
                              b*dd64M xtesthuei in get get cvsshow3r
                              in xtesthuea ne {(;  ) show} if
                             } for  %in=0,xtesthuea
               -30 rotate

               8000 0100 moveto 30 rotate
               600 /TimesB-ISOL1 FS
               (appropriate correction done) showea
               (plausible Korrektur erfolgt) showde
               -30 rotate
              } if

            }%LOOP4: xchart=xchart3P2/3

            {%LOOP4: xchart>xchart3P3

x0x x01 add 50 sub 0 moveto 0 16200 rlineto stroke
x1x x01 add 50 sub 0 moveto 0 16200 rlineto stroke
x2x x01 add 50 sub 0 moveto 0 16200 rlineto stroke

TK1
00 1 45 {/i exch def %i=0,45
        /ik45 xchart xchart3P3 1 add sub 45 mul i add def %range 0...359
        /yi ymax i ydel1 mul sub def

        xd0 yi moveto hab*dd362Fi ik45 get cvishow %all integer
        xs0 yi moveto hab*ds362Mi ik45 get cvishow
        xe0 yi moveto hab*de382Fi ik45 get cvishow

        x0x x01 add yi moveto r*dd362Mi   ik45 get cvsshow3
        x0x x02 add yi moveto g*dd362Mi   ik45 get cvsshow3
        x0x x03 add yi moveto b*dd362Mi   ik45 get cvsshow3
        x0x x04 add yi moveto LAB*Ldd362Mi ik45 get cvsshow1
        x0x x05 add yi moveto LAB*add362Mi ik45 get cvsshow1
        x0x x06 add yi moveto LAB*bdd362Mi ik45 get cvsshow1
        x0x x07 add yi moveto LAB*Cdd362Mi ik45 get cvsshow1
        x0x x08 add yi moveto LAB*hdd362Mi ik45 get cvishow   %integer

        x1x x01 add yi moveto r*ds362Mi   ik45 get cvsshow3r
        x1x x02 add yi moveto g*ds362Mi   ik45 get cvsshow3r
        x1x x03 add yi moveto b*ds362Mi   ik45 get cvsshow3r
        x1x x04 add yi moveto LAB*Lds362Mi ik45 get cvsshow1r
        x1x x05 add yi moveto LAB*ads362Mi ik45 get cvsshow1r
        x1x x06 add yi moveto LAB*bds362Mi ik45 get cvsshow1r
        x1x x07 add yi moveto LAB*Cds362Mi ik45 get cvsshow1r
        x1x x08 add yi moveto LAB*hds362Mi ik45 get cvishow
        x1x x09 add yi moveto r*dd362Mi   ik45 get cvsshow3r
        x1x x10 add yi moveto g*dd362Mi   ik45 get cvsshow3r
        x1x x11 add yi moveto b*dd362Mi   ik45 get cvsshow3r

        x2x x01 add yi moveto r*de362Mi   ik45 get cvsshow3r
        x2x x02 add yi moveto g*de362Mi   ik45 get cvsshow3r
        x2x x03 add yi moveto b*de362Mi   ik45 get cvsshow3r
        x2x x04 add yi moveto LAB*Lde362Mi ik45 get cvsshow1r
        x2x x05 add yi moveto LAB*ade362Mi ik45 get cvsshow1r
        x2x x06 add yi moveto LAB*bde362Mi ik45 get cvsshow1r
        x2x x07 add yi moveto LAB*Cde362Mi ik45 get cvsshow1r
        x2x x08 add yi moveto LAB*hde362Mi ik45 get cvishow
        x2x x09 add yi moveto r*dd362Mi   ik45 get cvsshow3r
        x2x x10 add yi moveto g*dd362Mi   ik45 get cvsshow3r
        x2x x11 add yi moveto b*dd362Mi   ik45 get cvsshow3r

        r*dd362Mi ik45 get
        g*dd362Mi ik45 get
        b*dd362Mi ik45 get setrgbcolor
        xd1 yi ys sub moveto 600 0 rlineto 0 ydel0 rlineto
                            -600 0 rlineto closepath fill

        r*ds362Mi ik45 get
        g*ds362Mi ik45 get
        b*ds362Mi ik45 get setrgbcolor
        xs1 yi ys sub moveto 600 0 rlineto 0 ydel0 rlineto
                            -600 0 rlineto closepath fill

        r*de362Mi ik45 get
        g*de362Mi ik45 get
        b*de362Mi ik45 get setrgbcolor
        xe1 yi ys sub moveto 600 0 rlineto 0 ydel0 rlineto
                            -600 0 rlineto closepath fill

        0 setgray
        xd1 yi ys sub moveto 600 0 rlineto 0 ydel0 rlineto
                            -600 0 rlineto closepath stroke
        xs1 yi ys sub moveto 600 0 rlineto 0 ydel0 rlineto
                            -600 0 rlineto closepath stroke
        xe1 yi ys sub moveto 600 0 rlineto 0 ydel0 rlineto
                            -600 0 rlineto closepath stroke

        xchart xchart3P3 1 add eq ik45 000 eq and
        xchart xchart3P3 2 add eq ik45 060 eq and or
        xchart xchart3P3 3 add eq ik45 120 eq and or
        xchart xchart3P3 4 add eq ik45 180 eq and or
        xchart xchart3P3 5 add eq ik45 180 eq and or
        xchart xchart3P3 6 add eq ik45 240 eq and or
        xchart xchart3P3 7 add eq ik45 300 eq and or
        xchart xchart3P3 8 add eq ik45 360 eq and or 
                {/ik 1 def} {/ik 0 def} ifelse
        
        ik 1 eq {x1x x01 add yi ydel1 0.7 mul add moveto
                 x2x x11 add 600 add yi ydel1 0.7 mul add lineto stroke
                 x1x x01 add yi ydel1 0.3 mul sub moveto
                 x2x x11 add 600 add yi ydel1 0.3 mul sub lineto stroke} if

        ik 1 eq {TBIK1 x1x x08 add 400 add yi moveto
                 RJGCBMs xchart xchart3P3 sub get show
                 TBS1 0 -80 rmoveto (s) show 0 80 rmoveto TK1
                 TBIK1 x2x x08 add 400 add yi moveto
                 RJGCBMs xchart xchart3P3 sub get show
                 TBS1 0 -80 rmoveto (e) show 0 80 rmoveto TK1} if

0 8 48 {/it exch def %it=0,8,48
        LAB*hdd64M it get LAB*hdd362Mi ik45       get ge
        LAB*hdd64M it get LAB*hdd362Mi ik45 1 add get lt and
                {x0x x01 add yi ydel1 0.3 mul sub moveto
                 x1x x01 add yi ydel1 0.3 mul sub lineto stroke
                 TBIK1 x1x x01 add 400 sub yi moveto RJGCBM it 8 idiv get show
                 TBS1 0 -80 rmoveto (d) show 0 80 rmoveto TK1} if
       } for %it=0,8,48

        } for i%=0,45

            } ifelse %END LOOP4: xchart>xchart3P3

            } ifelse %END LOOP2: xchart=xchart3P1,>xchart3P1

            } if %END LOOPtables: xchart>=xchart3P1

showpage
grestore

%} for %xcharti=00,10

%} for %colsep=0,1

%} for %pchart=0,0

%} for %xchart=0,18

%} for %xcolor=3,3

%} for %deintp=0,1

%} for %colorm=0,1

%} for %lanind=0,0

%%Trailer