A system for selectively enabling a digital printer to deposit on a sheet, Cyan (C), Magenta (M), Yellow (Y) and Black (K) color dots at each of a plurality of pixel locations, to produce a color image, said system comprising:
- memory means for storing planes of C, M, Y and K color values for each pixel in the color image;
- processor means coupled to said memory means, said processor means
- (i) determining a gray value for each pixel location from said color values stored in said C, M, and Y color planes and for subtracting a determined gray value for a pixel location from C, M, and Y values corresponding to said pixel location,
- (ii) determining in what segment of a non-linear function that defines a curve having plural segments said determined gray value is located,
- (iii) based upon a location of said determined gray value, creating changed color values for each said pixel location by:
- (a) adding said gray value to said C, M, and Y color values for said pixel location, if said gray value is located in a first segment of the curve defined by said non-linear function, or
- (b) adding a portion of said gray value to said C, M, and Y color values for said pixel location and another portion of said gray value to a K color value for said pixel location, if said gray value is located in a second segment of the curve defined by said non-linear function, or
- (c) adding all said gray value to a K value for said pixel location, if said gray value is located in a third segment of the curve defined by said non-linear function, and
- (iv) diffusing color error values to neighboring pixel locations;
- and print means responsive to said processor means for printing said color image comprising error diffused color values transmitted from said processor means.