I. Channel:
1. Device to Device (Without Default) :
Direct Convert
eg. RGB to Gray
eg. RGB to CMYK (use UCR and BG which be specified in GState).
eg. Gray to RGB
eg. Gray to CMYK
eg. CMYK to Gray
eg. CMYK to RGB
2. Device to Device (With Default) :
Convert to CIE use tint transfrom than convert to Device.
eg. RGB to DefaultRGB
3. CIEABC to Device ***: Build Tabled Convert.
Convert ABC to XYZ use specified CIEColorSpace.
Convert XYZ to Device use specified CIEColorRender (Need ABC's Whitepoint,
Blackpoint and RenderIntent).
eg. CalRGB --> XYZ --> Device
Implements Note: Use these two converter build a new tabled convert, and
directly convert ABC to Device by that.
4. DeviceN to Device :
If two colorspace is compatible than simple copy, else convert N to
Alternate ColorSpace and convert it to Device.
5. Separation to Device :
if two colorspace is compatible than simple copy, else convert N to
Alternate ColorSpace and convert it to Device.
6. Indexed to Device :
Convert Indexed to Base ColorSpace use lookup table. Than Convert Base
ColorSpace to Device.
7. Transform:
All Device ColorSpace need to pass a Transform (Specified by TR,HT in
GState), or a optional Halftones.
II. Overprint:
1. Overprint change colorant in process color space.
2. If overprint is false (default value), on the painted area colorant that no
specified by the source color space is earsed. which earsed means fill zero.
3. If overprint mode is 1, and source color space is DeviceCMYK, and not draw a
image or shading, and device color space is DeviceCMYK, remove the source
colorant which value is zero.
4. Overprint just worked in:
Source ColorSpace is DeviceN or Separation, And Process ColorSpace is CMYK or CMYKSeparation.
Source ColorSpace is CMYK, And Process ColorSpace is CMYKSeparation
5. BlackOverprint just worked in:
Process ColorSpace is CMYK.
III. Note:
1. Only CIE to Device (Channel 3) need build Tabled Convert.
2. Process Color Space:
On composite device process color space is the device colorspace. eg. RGB
On seperation deivce process color space is the the selected (or called
current) colorant. eg. M in CMYK.
3. OverprintMode(OPM) is just used in DeviceCMYK to DeviceCMYK, when paint
graphics.
IV. Render Interface Parameters.
1. Device ColorSpace:
TYPE_DEVICE_RGB,
TYPE_DEVICE_GRAY,
TYPE_DEVICE_CMYK,
TYPE_DEVICE_CMYK_SEPERATION,
2. Device Colorant:
(Red, Green, Blue) for TYPE_DEVICE_RGB,
(Gray) for TYPE_DEVICE_GRAY,
(Cyan, Megenta, Yellow, Black) for TYPE_DEVICE_CMYK,
Any Colorants for TYPE_DEVICE_CMYK_SEPERATION,
eg. (Cyan, Megenta, Orange).
3. Select Colorant: (or called current colorant)
When device colorspace is TYPE_DEVICE_CMYK_SEPEARION, this value
specify which colorant is the process colorant.
4. CIEColorRender:
How To convert CIEXYZ to Device.
5. Black Overprint and Black Overprint Limit:
When black overprint open, set any colorant expect Black to zero, when
Black colorant value larger then black overprint limit.
V. ColorManager Parameters.
1. Device Colorant Transform (TR,HT):
Dynamicly Setted.
2. CIEColorRender:
Get from Render Interface.
3. UCR, BG:
Dynamicly Setted.