ColorRegistryCESImpl.mesa
Copyright Ó 1991, 1992 by Xerox Corporation. All rights reserved.
Maureen Stone, June 22, 1987 2:28:23 pm PDT
Giordano:PARC:Xerox (8*923-4484), March 23, 1990 5:49 pm PST
Michael Plass, September 24, 1991 12:38 pm PDT
Extracted from ColorRegistryImpl, September 24, 1991 12:12:44 pm PDT
DIRECTORY
ConvertUnsafe USING [ToRope],
ImagerColor USING [SpecialColor, ColorRep, ConstantColor],
ImagerColorES USING [ColorFromCIELAB, ColorFromRGB, ColorRep, ConstantColor, FindColor, Tristimulus, XeroxRGBFromXYZ, XYZ, Yxy],
ImagerColorPrivate USING [RegisterNamedColor],
Rope USING [ROPE, Concat];
ColorRegistryCESImpl: CEDAR PROGRAM
IMPORTS ConvertUnsafe, ImagerColorES, ImagerColorPrivate, Rope
~ BEGIN
RegisterCorporatePalette: PROC ~ BEGIN
Data measured by Rob Tow with a spectroradiometer in a Macbeth light booth. 18 November 1988.
special: ImagerColor.SpecialColor;
RegisterIt: PROC [name: LONG STRING, w1, w2, w3: REAL] = {
special ¬ NEW [ImagerColorES.ColorRep.constant.special];
special.type ¬ $Spot;
special.name ¬ Rope.Concat["Xerox/CorporatePalette/", ConvertUnsafe.ToRope[name]];
special.substitute ¬ NARROW [ImagerColorES.ColorFromCIELAB [[w1, w2, w3]], ImagerColorES.ConstantColor];
ImagerColorPrivate.RegisterNamedColor [special];
};
RegisterIt["Coated/X0", 20.4501, 15.0, 0.0];
RegisterIt["Coated/X1", 70.93933, 16.0, 17.0];
RegisterIt["Coated/X2", 59.2955, 17.0, 17.0];
RegisterIt["Coated/X3", 46.18395, 19.0, 12.0];
RegisterIt["Coated/X4", 76.90802, 41.0, 114.0];
RegisterIt["Coated/X5", 68.88454, 51.0, 100.0];
RegisterIt["Coated/X6", 55.3816, 32.0, 58.0];
RegisterIt["Coated/X7", 48.43444, 41.0, 70.0];
RegisterIt["Coated/X8", 62.72015, 69.0, 93.0];
RegisterIt["Coated/X9", 50.97848, 85.0, 71.0];
RegisterIt["Coated/X10", 47.26027, 79.0, 37.0];
RegisterIt["Coated/X11", 39.43248, 66.0, 30.0];
RegisterIt["Coated/X12", 38.8454, 74.0, 19.0];
RegisterIt["Coated/X13", 52.0548, 94.0, 60.0];
RegisterIt["Coated/X14", 43.83562, 104.0, 72.0];
RegisterIt["Coated/X15", 41.78082, 81.0, 26.0];
RegisterIt["Coated/X16", 32.87671, 14.0, -70.0];
RegisterIt["Coated/X17", 27.98435, 27.0, -76.0];
RegisterIt["Coated/X18", 27.39726, 22.0, -72.0];
RegisterIt["Coated/X19", 10.56751, 47.0, -70.0];
RegisterIt["Coated/X20", 47.45597, -61.0, 59.0];
RegisterIt["Coated/X21", 40.60666, -65.0, 38.0];
RegisterIt["Coated/X22", 38.55186, -55.0, 16.0];
RegisterIt["Uncoated/X0", 41.68297, 0.0, 6.0];
RegisterIt["Uncoated/X1", 84.44227, -19.0, 25.0];
RegisterIt["Uncoated/X2", 71.52642, -14.0, 20.0];
RegisterIt["Uncoated/X3", 59.00196, -9.0, 15.0];
RegisterIt["Uncoated/X4", 91.58513, 21.0, 130.0];
RegisterIt["Uncoated/X5", 81.31116, 27.0, 105.0];
RegisterIt["Uncoated/X6", 77.8865, 11.0, 58.0];
RegisterIt["Uncoated/X7", 62.42661, 4.0, 61.0];
RegisterIt["Uncoated/X8", 77.39726, 39.0, 93.0];
RegisterIt["Uncoated/X9", 65.55773, 44.0, 44.0];
RegisterIt["Uncoated/X10", 58.70842, 33.0, 25.0];
RegisterIt["Uncoated/X11", 55.87084, 26.0, 20.0];
RegisterIt["Uncoated/X12", 55.5773, 31.0, 14.0];
RegisterIt["Uncoated/X13", 66.63405, 53.0, 40.0];
RegisterIt["Uncoated/X14", 63.50294, 64.0, 52.0];
RegisterIt["Uncoated/X15", 57.82779, 37.0, 20.0];
RegisterIt["Uncoated/X16", 49.51076, -20.0, -60.0];
RegisterIt["Uncoated/X17", 37.08415, 0.0, -70.0];
RegisterIt["Uncoated/X18", 51.46771, -1.0, -38.0];
RegisterIt["Uncoated/X19", 36.9863, 1.0, -44.0];
RegisterIt["Uncoated/X20", 64.38356, -67.0, 55.0];
RegisterIt["Uncoated/X21", 59.98043, -67.0, 31.0];
RegisterIt["Uncoated/X22", 54.30529, -43.0, 10.0]
END; -- RegisterCorporatePalette
RegisterOlympiaPalette: PROC ~ BEGIN
IOC Custom Colors (Pantone) Measured in the Macbeth Lightbooth (Macbeth D5000 Fluorescent):
286 Blue  (coated)  x: 0.1665 y: 0.1190 Y: 13.87 |Y| = 4.820994e-2
 (uncoated) x: 0.2281 y: 0.2126 Y: 32.03 |Y| = 0.1079178
116 Yellow (coated) x: 0.4863 y: 0.4847 Y: 207.9 |Y| = 0.7226277
 (uncoated) x: 0.4936 y: 0.4518 Y: 187.6 |Y| = 0.6320755
347 Green (coated) x: 0.2446 y: 0.5767 Y: 62.44 |Y| = 0.2170316
 (uncoated) x: 0.2894 y: 0.4766 Y: 85.22 |Y| = 0.2871294
186 Red (coated) x: 0.5930 y: 0.3258 Y: 50.00 |Y| = 0.1737921
 (uncoated) x: 0.5190 y: 0.3409 Y: 61.96 |Y| = 0.2087601
White (coated) x: 0.3511 y: 0.3736 Y: 287.7 |Y| = 1.0
 (uncoated) x: 0.3506 y: 0.3756 Y: 296.8 |Y| = 1.0
special: ImagerColor.SpecialColor;
whiteC: ImagerColorES.XYZ ~ ImagerColorES.Tristimulus [[Y: 1.0, x: 0.3511, y: 0.3736]];
whiteU: ImagerColorES.XYZ ~ ImagerColorES.Tristimulus [[Y: 1.0, x: 0.3506, y: 0.3756]];
ColorFromTristimulus: PROC [t: ImagerColorES.Yxy, w: ImagerColorES.XYZ] RETURNS [ImagerColorES.ConstantColor] ~ BEGIN
RETURN [NARROW [ImagerColorES.ColorFromRGB [ImagerColorES.XeroxRGBFromXYZ [ImagerColorES.Tristimulus [t]]], ImagerColorES.ConstantColor]]
END; -- ColorFromTristimulus
RegisterIt: PROC [name: LONG STRING, Y, x, y: REAL, w: ImagerColorES.XYZ] = {
special ¬ NEW [ImagerColorES.ColorRep.constant.special];
special.type ¬ $Spot; 
special.name ¬ ConvertUnsafe.ToRope["name"];
special.substitute ¬ ColorFromTristimulus [[Y: Y, x: x, y: y], w];
ImagerColorPrivate.RegisterNamedColor [special];
};
RegisterIt["Xerox/Olympia/Coated/Blue", 4.820994e-2, 0.1665, 0.1190, whiteC];
RegisterIt["Xerox/Olympia/Uncoated/Blue", 0.1079178, 0.2281, 0.2126, whiteU];
RegisterIt["Xerox/Olympia/Coated/Yellow", 0.7226277, 0.4863, 0.4847, whiteC];
RegisterIt["Xerox/Olympia/Uncoated/Yellow", 0.6320755, 0.4936, 0.4518, whiteU];
special ¬ NEW [ImagerColorES.ColorRep.constant.special];
special.type ¬ $Spot; special.name ¬ "Xerox/Olympia/Coated/Black";
special.substitute ¬ ImagerColorES.FindColor ["Xerox/Solid/Black"];
ImagerColorPrivate.RegisterNamedColor [special];
special ¬ NEW [ImagerColorES.ColorRep.constant.special];
special.type ¬ $Spot; special.name ¬ "Xerox/Olympia/Uncoated/Black";
special.substitute ¬ ImagerColorES.FindColor ["Xerox/Solid/Black"];
ImagerColorPrivate.RegisterNamedColor [special];
RegisterIt["Xerox/Olympia/Coated/Green", 0.2170316, 0.2446, 0.5767, whiteC];
RegisterIt["Xerox/Olympia/Uncoated/Green", 0.2871294, 0.2894, 0.4766, whiteU];
RegisterIt["Xerox/Olympia/Coated/Red", 0.1737921, 0.5930, 0.3258, whiteC];
RegisterIt["Xerox/Olympia/Uncoated/Red", 0.2087601, 0.5190, 0.3409, whiteU];
ImagerColorPrivate.RegisterNamedColor [special]
END; -- RegisterOlympiaPalette
RegisterCorporatePalette[];
RegisterOlympiaPalette[];
END.